#include "v8.h"
+#if defined(V8_TARGET_ARCH_ARM) && defined(V8_ARM_VARIANT_ARM)
+
#include "arm/assembler-arm-inl.h"
#include "serialize.h"
} } // namespace v8::internal
+
+#endif // V8_TARGET_ARCH_ARM && V8_ARM_VARIANT_ARM
#include "v8.h"
+#if defined(V8_TARGET_ARCH_ARM) && defined(V8_ARM_VARIANT_THUMB)
+
#include "arm/assembler-thumb2-inl.h"
#include "serialize.h"
} } // namespace v8::internal
+
+#endif // V8_TARGET_ARCH_ARM && V8_ARM_VARIANT_THUMB
#include "v8.h"
+#if defined(V8_TARGET_ARCH_ARM)
+
#include "codegen-inl.h"
#include "debug.h"
#include "runtime.h"
#undef __
} } // namespace v8::internal
+
+#endif // V8_TARGET_ARCH_ARM
#include "v8.h"
+#if defined(V8_TARGET_ARCH_ARM)
+
#include "bootstrapper.h"
#include "codegen-inl.h"
#include "compiler.h"
#undef __
} } // namespace v8::internal
+
+#endif // V8_TARGET_ARCH_ARM
#include "v8.h"
+#if defined(V8_TARGET_ARCH_ARM)
+
#include "constants-arm.h"
} } // namespace assembler::arm
+
+#endif // V8_TARGET_ARCH_ARM
#include "v8.h"
+#if defined(V8_TARGET_ARCH_ARM)
+
#include "cpu.h"
#include "macro-assembler.h"
}
} } // namespace v8::internal
+
+#endif // V8_TARGET_ARCH_ARM
#include "v8.h"
+#if defined(V8_TARGET_ARCH_ARM)
+
#include "codegen-inl.h"
#include "debug.h"
#endif // ENABLE_DEBUGGER_SUPPORT
} } // namespace v8::internal
+
+#endif // V8_TARGET_ARCH_ARM
#include "v8.h"
+#if defined(V8_TARGET_ARCH_ARM)
+
#include "constants-arm.h"
#include "disasm.h"
#include "macro-assembler.h"
} // namespace disasm
+
+#endif // V8_TARGET_ARCH_ARM
#include "v8.h"
+#if defined(V8_TARGET_ARCH_ARM)
+
#include "codegen-inl.h"
#include "fast-codegen.h"
#include "scopes.h"
} } // namespace v8::internal
+
+#endif // V8_TARGET_ARCH_ARM
#include "v8.h"
+#if defined(V8_TARGET_ARCH_ARM)
+
#include "frames-inl.h"
#ifdef V8_ARM_VARIANT_THUMB
#include "arm/assembler-thumb2-inl.h"
} } // namespace v8::internal
+
+#endif // V8_TARGET_ARCH_ARM
#include "v8.h"
+#if defined(V8_TARGET_ARCH_ARM)
+
#include "codegen-inl.h"
#include "compiler.h"
#include "debug.h"
#undef __
} } // namespace v8::internal
+
+#endif // V8_TARGET_ARCH_ARM
#include "v8.h"
+#if defined(V8_TARGET_ARCH_ARM)
+
#include "assembler-arm.h"
#include "codegen.h"
#include "codegen-inl.h"
} } // namespace v8::internal
+
+#endif // V8_TARGET_ARCH_ARM
#include "v8.h"
+#if defined(V8_TARGET_ARCH_ARM)
+
#include "codegen-inl.h"
#include "jump-target-inl.h"
#include "register-allocator-inl.h"
} } // namespace v8::internal
+
+#endif // V8_TARGET_ARCH_ARM
#include "v8.h"
+#if defined(V8_TARGET_ARCH_ARM)
+
#include "bootstrapper.h"
#include "codegen-inl.h"
#include "debug.h"
} } // namespace v8::internal
+
+#endif // V8_TARGET_ARCH_ARM
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#include "v8.h"
+
+#if defined(V8_TARGET_ARCH_ARM)
+
#include "unicode.h"
#include "log.h"
#include "ast.h"
#endif // V8_INTERPRETED_REGEXP
}} // namespace v8::internal
+
+#endif // V8_TARGET_ARCH_ARM
#include "v8.h"
+#if defined(V8_TARGET_ARCH_ARM)
+
#include "codegen-inl.h"
#include "register-allocator-inl.h"
} } // namespace v8::internal
+
+#endif // V8_TARGET_ARCH_ARM
#include <cstdarg>
#include "v8.h"
+#if defined(V8_TARGET_ARCH_ARM)
+
#include "disasm.h"
#include "assembler.h"
#include "arm/constants-arm.h"
} } // namespace assembler::arm
#endif // __arm__
+
+#endif // V8_TARGET_ARCH_ARM
#include "v8.h"
+#if defined(V8_TARGET_ARCH_ARM)
+
#include "ic-inl.h"
#include "codegen-inl.h"
#include "stub-cache.h"
#undef __
} } // namespace v8::internal
+
+#endif // V8_TARGET_ARCH_ARM
#include "v8.h"
+#if defined(V8_TARGET_ARCH_ARM)
+
#include "codegen-inl.h"
#include "register-allocator-inl.h"
#include "scopes.h"
#undef __
} } // namespace v8::internal
+
+#endif // V8_TARGET_ARCH_ARM
#error Host architecture was not detected as supported by v8
#endif
+// Target architecture detection. This may be set externally. If not, detect
+// in the same way as the host architecture, that is, target the native
+// environment as presented by the compiler.
+#if !defined(V8_TARGET_ARCH_X64) && !defined(V8_TARGET_ARCH_IA32) && \
+ !defined(V8_TARGET_ARCH_ARM) && !defined(V8_TARGET_ARCH_MIPS)
+#if defined(_M_X64) || defined(__x86_64__)
+#define V8_TARGET_ARCH_X64 1
+#elif defined(_M_IX86) || defined(__i386__)
+#define V8_TARGET_ARCH_IA32 1
+#elif defined(__ARMEL__)
+#define V8_TARGET_ARCH_ARM 1
+#elif defined(_MIPS_ARCH_MIPS32R2)
+#define V8_TARGET_ARCH_MIPS 1
+#else
+#error Target architecture was not detected as supported by v8
+#endif
+#endif
+
// Check for supported combinations of host and target architectures.
#if defined(V8_TARGET_ARCH_IA32) && !defined(V8_HOST_ARCH_IA32)
#error Target architecture ia32 is only supported on ia32 host
#include "v8.h"
+#if defined(V8_TARGET_ARCH_IA32)
+
#include "disassembler.h"
#include "macro-assembler.h"
#include "serialize.h"
#endif
} } // namespace v8::internal
+
+#endif // V8_TARGET_ARCH_IA32
#include "v8.h"
+#if defined(V8_TARGET_ARCH_IA32)
+
#include "codegen-inl.h"
namespace v8 {
#undef __
} } // namespace v8::internal
+
+#endif // V8_TARGET_ARCH_IA32
#include "v8.h"
+#if defined(V8_TARGET_ARCH_IA32)
+
#include "bootstrapper.h"
#include "codegen-inl.h"
#include "compiler.h"
#undef __
} } // namespace v8::internal
+
+#endif // V8_TARGET_ARCH_IA32
#include "v8.h"
+#if defined(V8_TARGET_ARCH_IA32)
+
#include "cpu.h"
#include "macro-assembler.h"
}
} } // namespace v8::internal
+
+#endif // V8_TARGET_ARCH_IA32
#include "v8.h"
+#if defined(V8_TARGET_ARCH_IA32)
+
#include "codegen-inl.h"
#include "debug.h"
#endif // ENABLE_DEBUGGER_SUPPORT
} } // namespace v8::internal
+
+#endif // V8_TARGET_ARCH_IA32
#include <stdarg.h>
#include "v8.h"
+
+#if defined(V8_TARGET_ARCH_IA32)
+
#include "disasm.h"
namespace disasm {
} // namespace disasm
+
+#endif // V8_TARGET_ARCH_IA32
#include "v8.h"
+#if defined(V8_TARGET_ARCH_IA32)
+
#include "codegen-inl.h"
#include "fast-codegen.h"
#include "data-flow.h"
} } // namespace v8::internal
+
+#endif // V8_TARGET_ARCH_IA32
#include "v8.h"
+#if defined(V8_TARGET_ARCH_IA32)
+
#include "frames-inl.h"
namespace v8 {
} } // namespace v8::internal
+
+#endif // V8_TARGET_ARCH_IA32
#include "v8.h"
+#if defined(V8_TARGET_ARCH_IA32)
+
#include "codegen-inl.h"
#include "compiler.h"
#include "debug.h"
#undef __
} } // namespace v8::internal
+
+#endif // V8_TARGET_ARCH_IA32
#include "v8.h"
+#if defined(V8_TARGET_ARCH_IA32)
+
#include "codegen-inl.h"
#include "ic-inl.h"
#include "runtime.h"
} } // namespace v8::internal
+
+#endif // V8_TARGET_ARCH_IA32
#include "v8.h"
+#if defined(V8_TARGET_ARCH_IA32)
+
#include "codegen-inl.h"
#include "jump-target-inl.h"
#include "register-allocator-inl.h"
} } // namespace v8::internal
+
+#endif // V8_TARGET_ARCH_IA32
#include "v8.h"
+#if defined(V8_TARGET_ARCH_IA32)
+
#include "bootstrapper.h"
#include "codegen-inl.h"
#include "debug.h"
} } // namespace v8::internal
+
+#endif // V8_TARGET_ARCH_IA32
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#include "v8.h"
+
+#if defined(V8_TARGET_ARCH_IA32)
+
#include "unicode.h"
#include "log.h"
#include "ast.h"
#endif // V8_INTERPRETED_REGEXP
}} // namespace v8::internal
+
+#endif // V8_TARGET_ARCH_IA32
#include "v8.h"
+#if defined(V8_TARGET_ARCH_IA32)
+
#include "codegen-inl.h"
#include "register-allocator-inl.h"
#include "virtual-frame-inl.h"
} } // namespace v8::internal
+
+#endif // V8_TARGET_ARCH_IA32
#include "v8.h"
+#if defined(V8_TARGET_ARCH_IA32)
+
#include "ic-inl.h"
#include "codegen-inl.h"
#include "stub-cache.h"
#undef __
} } // namespace v8::internal
+
+#endif // V8_TARGET_ARCH_IA32
#include "v8.h"
+#if defined(V8_TARGET_ARCH_IA32)
+
#include "codegen-inl.h"
#include "register-allocator-inl.h"
#include "scopes.h"
#undef __
} } // namespace v8::internal
+
+#endif // V8_TARGET_ARCH_IA32
#include "v8.h"
+
+#if defined(V8_TARGET_ARCH_MIPS)
+
#include "mips/assembler-mips-inl.h"
#include "serialize.h"
} } // namespace v8::internal
+#endif // V8_TARGET_ARCH_MIPS
#include "v8.h"
+#if defined(V8_TARGET_ARCH_MIPS)
+
#include "codegen-inl.h"
#include "debug.h"
#include "runtime.h"
} } // namespace v8::internal
+#endif // V8_TARGET_ARCH_MIPS
#include "v8.h"
+#if defined(V8_TARGET_ARCH_MIPS)
+
#include "bootstrapper.h"
#include "codegen-inl.h"
#include "compiler.h"
#undef __
} } // namespace v8::internal
+
+#endif // V8_TARGET_ARCH_MIPS
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#include "v8.h"
+
+#if defined(V8_TARGET_ARCH_MIPS)
+
#include "constants-mips.h"
namespace assembler {
}
} } // namespace assembler::mips
+
+#endif // V8_TARGET_ARCH_MIPS
#endif // #ifdef __mips
#include "v8.h"
+
+#if defined(V8_TARGET_ARCH_MIPS)
+
#include "cpu.h"
namespace v8 {
} } // namespace v8::internal
+#endif // V8_TARGET_ARCH_MIPS
#include "v8.h"
+#if defined(V8_TARGET_ARCH_MIPS)
+
#include "codegen-inl.h"
#include "debug.h"
} } // namespace v8::internal
+#endif // V8_TARGET_ARCH_MIPS
#include "v8.h"
+#if defined(V8_TARGET_ARCH_MIPS)
+
#include "constants-mips.h"
#include "disasm.h"
#include "macro-assembler.h"
} // namespace disasm
+#endif // V8_TARGET_ARCH_MIPS
#include "v8.h"
+#if defined(V8_TARGET_ARCH_MIPS)
+
#include "codegen-inl.h"
#include "fast-codegen.h"
} } // namespace v8::internal
+#endif // V8_TARGET_ARCH_MIPS
#include "v8.h"
+#if defined(V8_TARGET_ARCH_MIPS)
+
#include "frames-inl.h"
#include "mips/assembler-mips-inl.h"
} } // namespace v8::internal
+#endif // V8_TARGET_ARCH_MIPS
#include "v8.h"
+#if defined(V8_TARGET_ARCH_MIPS)
+
#include "codegen-inl.h"
#include "compiler.h"
#include "debug.h"
#undef __
} } // namespace v8::internal
+
+#endif // V8_TARGET_ARCH_MIPS
#include "v8.h"
+#if defined(V8_TARGET_ARCH_MIPS)
+
#include "codegen-inl.h"
#include "ic-inl.h"
#include "runtime.h"
} } // namespace v8::internal
+#endif // V8_TARGET_ARCH_MIPS
#include "v8.h"
+#if defined(V8_TARGET_ARCH_MIPS)
+
#include "codegen-inl.h"
#include "jump-target-inl.h"
#include "register-allocator-inl.h"
} } // namespace v8::internal
+#endif // V8_TARGET_ARCH_MIPS
#include "v8.h"
+#if defined(V8_TARGET_ARCH_MIPS)
+
#include "bootstrapper.h"
#include "codegen-inl.h"
#include "debug.h"
} } // namespace v8::internal
+#endif // V8_TARGET_ARCH_MIPS
#include "v8.h"
+#if defined(V8_TARGET_ARCH_MIPS)
+
#include "codegen-inl.h"
#include "register-allocator-inl.h"
} } // namespace v8::internal
+#endif // V8_TARGET_ARCH_MIPS
#include <cstdarg>
#include "v8.h"
+#if defined(V8_TARGET_ARCH_MIPS)
+
#include "disasm.h"
#include "assembler.h"
#include "globals.h" // Need the BitCast
#endif // __mips
+#endif // V8_TARGET_ARCH_MIPS
#include "v8.h"
+#if defined(V8_TARGET_ARCH_MIPS)
+
#include "ic-inl.h"
#include "codegen-inl.h"
#include "stub-cache.h"
} } // namespace v8::internal
+#endif // V8_TARGET_ARCH_MIPS
#include "v8.h"
+#if defined(V8_TARGET_ARCH_MIPS)
+
#include "codegen-inl.h"
#include "register-allocator-inl.h"
#include "scopes.h"
} } // namespace v8::internal
+#endif // V8_TARGET_ARCH_MIPS
#include "v8.h"
+#if defined(V8_TARGET_ARCH_X64)
+
#include "macro-assembler.h"
#include "serialize.h"
1 << RelocInfo::JS_RETURN;
} } // namespace v8::internal
+
+#endif // V8_TARGET_ARCH_X64
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#include "v8.h"
+
+#if defined(V8_TARGET_ARCH_X64)
+
#include "codegen-inl.h"
#include "macro-assembler.h"
}
} } // namespace v8::internal
+
+#endif // V8_TARGET_ARCH_X64
#include "v8.h"
+#if defined(V8_TARGET_ARCH_X64)
+
#include "bootstrapper.h"
#include "codegen-inl.h"
#include "compiler.h"
#undef __
} } // namespace v8::internal
+
+#endif // V8_TARGET_ARCH_X64
#include "v8.h"
+#if defined(V8_TARGET_ARCH_X64)
+
#include "cpu.h"
#include "macro-assembler.h"
}
} } // namespace v8::internal
+
+#endif // V8_TARGET_ARCH_X64
#include "v8.h"
+#if defined(V8_TARGET_ARCH_X64)
+
#include "codegen-inl.h"
#include "debug.h"
#endif // ENABLE_DEBUGGER_SUPPORT
} } // namespace v8::internal
+
+#endif // V8_TARGET_ARCH_X64
#include <stdarg.h>
#include "v8.h"
+
+#if defined(V8_TARGET_ARCH_X64)
+
#include "disasm.h"
namespace disasm {
}
} // namespace disasm
+
+#endif // V8_TARGET_ARCH_X64
#include "v8.h"
+#if defined(V8_TARGET_ARCH_X64)
+
#include "codegen-inl.h"
#include "fast-codegen.h"
#include "scopes.h"
} } // namespace v8::internal
+
+#endif // V8_TARGET_ARCH_X64
#include "v8.h"
+#if defined(V8_TARGET_ARCH_X64)
+
#include "frames-inl.h"
namespace v8 {
} } // namespace v8::internal
+
+#endif // V8_TARGET_ARCH_X64
#include "v8.h"
+#if defined(V8_TARGET_ARCH_X64)
+
#include "codegen-inl.h"
#include "compiler.h"
#include "debug.h"
} } // namespace v8::internal
+
+#endif // V8_TARGET_ARCH_X64
#include "v8.h"
+#if defined(V8_TARGET_ARCH_X64)
+
#include "codegen-inl.h"
#include "ic-inl.h"
#include "runtime.h"
} } // namespace v8::internal
+
+#endif // V8_TARGET_ARCH_X64
#include "v8.h"
+#if defined(V8_TARGET_ARCH_X64)
+
#include "codegen-inl.h"
#include "jump-target-inl.h"
#include "register-allocator-inl.h"
} } // namespace v8::internal
+
+#endif // V8_TARGET_ARCH_X64
#include "v8.h"
+#if defined(V8_TARGET_ARCH_X64)
+
#include "bootstrapper.h"
#include "codegen-inl.h"
#include "assembler-x64.h"
}
} } // namespace v8::internal
+
+#endif // V8_TARGET_ARCH_X64
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#include "v8.h"
+
+#if defined(V8_TARGET_ARCH_X64)
+
#include "serialize.h"
#include "unicode.h"
#include "log.h"
#endif // V8_INTERPRETED_REGEXP
}} // namespace v8::internal
+
+#endif // V8_TARGET_ARCH_X64
#include "v8.h"
+#if defined(V8_TARGET_ARCH_X64)
+
#include "codegen-inl.h"
#include "register-allocator-inl.h"
#include "virtual-frame-inl.h"
} } // namespace v8::internal
+
+#endif // V8_TARGET_ARCH_X64
#include "v8.h"
+#if defined(V8_TARGET_ARCH_X64)
+
#include "ic-inl.h"
#include "codegen-inl.h"
#include "stub-cache.h"
#undef __
} } // namespace v8::internal
+
+#endif // V8_TARGET_ARCH_X64
#include "v8.h"
+#if defined(V8_TARGET_ARCH_X64)
+
#include "codegen-inl.h"
#include "register-allocator-inl.h"
#include "scopes.h"
#undef __
} } // namespace v8::internal
+
+#endif // V8_TARGET_ARCH_X64
'ENABLE_VMSTATE_TRACKING',
],
'conditions': [
- ['v8_target_arch=="arm"', {
- 'defines': [
- 'V8_TARGET_ARCH_ARM',
- ],
- }],
- ['v8_target_arch=="ia32"', {
- 'defines': [
- 'V8_TARGET_ARCH_IA32',
- ],
- }],
- ['v8_target_arch=="x64"', {
- 'defines': [
- 'V8_TARGET_ARCH_X64',
+ ['OS!="mac"', {
+ # TODO(mark): The OS!="mac" conditional is temporary. It can be
+ # removed once the Mac Chromium build stops setting target_arch to
+ # ia32 and instead sets it to mac. Other checks in this file for
+ # OS=="mac" can be removed at that time as well. This can be cleaned
+ # up once http://crbug.com/44205 is fixed.
+ 'conditions': [
+ ['v8_target_arch=="arm"', {
+ 'defines': [
+ 'V8_TARGET_ARCH_ARM',
+ ],
+ }],
+ ['v8_target_arch=="ia32"', {
+ 'defines': [
+ 'V8_TARGET_ARCH_IA32',
+ ],
+ }],
+ ['v8_target_arch=="x64"', {
+ 'defines': [
+ 'V8_TARGET_ARCH_X64',
+ ],
+ }],
],
}],
],
}]
]
}],
- ['v8_target_arch=="ia32"', {
+ ['v8_target_arch=="ia32" or v8_target_arch=="mac" or OS=="mac"', {
'include_dirs+': [
'../../src/ia32',
],
'../../src/ia32/virtual-frame-ia32.h',
],
}],
- ['v8_target_arch=="x64"', {
+ ['v8_target_arch=="x64" or v8_target_arch=="mac" or OS=="mac"', {
'include_dirs+': [
'../../src/x64',
],