From 482c788a8ba902ac34b9f477524bd2e8c16c070d Mon Sep 17 00:00:00 2001 From: "titzer@chromium.org" Date: Wed, 5 Nov 2014 09:02:51 +0000 Subject: [PATCH] x32: disable turbofan for x32 port BUG= R=titzer@chromium.org Review URL: https://codereview.chromium.org/697353003 Patch from Weilang Lin . Cr-Commit-Position: refs/heads/master@{#25133} git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25133 ce2b1a6d-e550-0410-aec6-3dcde31c8c00 --- src/compiler/instruction-selector.cc | 4 ++-- src/globals.h | 4 ++-- tools/gyp/v8.gyp | 12 ++++++++---- 3 files changed, 12 insertions(+), 8 deletions(-) diff --git a/src/compiler/instruction-selector.cc b/src/compiler/instruction-selector.cc index 877230c..ffbf2a3 100644 --- a/src/compiler/instruction-selector.cc +++ b/src/compiler/instruction-selector.cc @@ -833,7 +833,7 @@ void InstructionSelector::VisitLoadStackPointer(Node* node) { #endif // V8_TURBOFAN_BACKEND // 32 bit targets do not implement the following instructions. -#if V8_TARGET_ARCH_32_BIT && V8_TURBOFAN_BACKEND +#if V8_TARGET_ARCH_32_BIT && !V8_TARGET_ARCH_X64 && V8_TURBOFAN_BACKEND void InstructionSelector::VisitWord64And(Node* node) { UNIMPLEMENTED(); } @@ -905,7 +905,7 @@ void InstructionSelector::VisitTruncateInt64ToInt32(Node* node) { UNIMPLEMENTED(); } -#endif // V8_TARGET_ARCH_32_BIT && V8_TURBOFAN_BACKEND +#endif // V8_TARGET_ARCH_32_BIT && !V8_TARGET_ARCH_X64 && V8_TURBOFAN_BACKEND void InstructionSelector::VisitFinish(Node* node) { diff --git a/src/globals.h b/src/globals.h index ae79038..660263f 100644 --- a/src/globals.h +++ b/src/globals.h @@ -26,8 +26,8 @@ # define V8_INFINITY INFINITY #endif -#if V8_TARGET_ARCH_IA32 || V8_TARGET_ARCH_X64 || V8_TARGET_ARCH_ARM || \ - V8_TARGET_ARCH_ARM64 || V8_TARGET_ARCH_MIPS +#if V8_TARGET_ARCH_IA32 || (V8_TARGET_ARCH_X64 && !V8_TARGET_ARCH_32_BIT) || \ + V8_TARGET_ARCH_ARM || V8_TARGET_ARCH_ARM64 || V8_TARGET_ARCH_MIPS #define V8_TURBOFAN_BACKEND 1 #else #define V8_TURBOFAN_BACKEND 0 diff --git a/tools/gyp/v8.gyp b/tools/gyp/v8.gyp index 5874865..b675e18 100644 --- a/tools/gyp/v8.gyp +++ b/tools/gyp/v8.gyp @@ -1146,10 +1146,6 @@ '../../src/x64/macro-assembler-x64.h', '../../src/x64/regexp-macro-assembler-x64.cc', '../../src/x64/regexp-macro-assembler-x64.h', - '../../src/compiler/x64/code-generator-x64.cc', - '../../src/compiler/x64/instruction-codes-x64.h', - '../../src/compiler/x64/instruction-selector-x64.cc', - '../../src/compiler/x64/linkage-x64.cc', '../../src/ic/x64/access-compiler-x64.cc', '../../src/ic/x64/handler-compiler-x64.cc', '../../src/ic/x64/ic-x64.cc', @@ -1157,6 +1153,14 @@ '../../src/ic/x64/stub-cache-x64.cc', ], }], + ['v8_target_arch=="x64"', { + 'sources': [ + '../../src/compiler/x64/code-generator-x64.cc', + '../../src/compiler/x64/instruction-codes-x64.h', + '../../src/compiler/x64/instruction-selector-x64.cc', + '../../src/compiler/x64/linkage-x64.cc', + ], + }], ['OS=="linux"', { 'link_settings': { 'conditions': [ -- 2.7.4