Revision: 22863
Author:   [email protected]
Date:     Tue Aug  5 11:53:32 2014 UTC
Log:      Cleanup V8_TURBOFAN_TARGET definition.

Move to globals.h so we do no longer skip any number of
tests. Introduce V8_TURBOFAN_BACKEND, which is 1 if we
actually have a backend and want to compile it, but don't
run the tests.

[email protected]

Review URL: https://codereview.chromium.org/444503003
http://code.google.com/p/v8/source/detail?r=22863

Modified:
 /branches/bleeding_edge/src/compiler/arm64/instruction-selector-arm64.cc
 /branches/bleeding_edge/src/compiler/code-generator.cc
 /branches/bleeding_edge/src/compiler/instruction-selector.cc
 /branches/bleeding_edge/src/compiler/pipeline.h
 /branches/bleeding_edge/src/globals.h
 /branches/bleeding_edge/test/cctest/compiler/test-scheduler.cc

=======================================
--- /branches/bleeding_edge/src/compiler/arm64/instruction-selector-arm64.cc Mon Aug 4 15:17:19 2014 UTC +++ /branches/bleeding_edge/src/compiler/arm64/instruction-selector-arm64.cc Tue Aug 5 11:53:32 2014 UTC
@@ -9,8 +9,6 @@
 namespace internal {
 namespace compiler {

-#if V8_TURBOFAN_TARGET
-
 enum ImmediateMode {
   kArithimeticImm,  // 12 bit unsigned immediate shifted left 0 or 12 bits
   kShift32Imm,      // 0 - 31
@@ -663,8 +661,6 @@
     Emit(kArm64Drop | MiscField::encode(aligned_push_count), NULL);
   }
 }
-
-#endif  // V8_TURBOFAN_TARGET

 }  // namespace compiler
 }  // namespace internal
=======================================
--- /branches/bleeding_edge/src/compiler/code-generator.cc Mon Aug 4 11:34:54 2014 UTC +++ /branches/bleeding_edge/src/compiler/code-generator.cc Tue Aug 5 11:53:32 2014 UTC
@@ -287,7 +287,8 @@
 }


-#if !V8_TURBOFAN_TARGET
+#if !V8_TURBOFAN_BACKEND
+
 void CodeGenerator::AssembleArchInstruction(Instruction* instr) {
   UNIMPLEMENTED();
 }
@@ -334,7 +335,7 @@
 }
 #endif

-#endif
+#endif  // !V8_TURBOFAN_BACKEND


 }  // namespace compiler
=======================================
--- /branches/bleeding_edge/src/compiler/instruction-selector.cc Mon Aug 4 11:34:54 2014 UTC +++ /branches/bleeding_edge/src/compiler/instruction-selector.cc Tue Aug 5 11:53:32 2014 UTC
@@ -604,7 +604,7 @@
 }


-#if V8_TURBOFAN_TARGET
+#if V8_TURBOFAN_BACKEND

 void InstructionSelector::VisitWord32Equal(Node* node) {
   FlagsContinuation cont(kEqual, node);
@@ -699,10 +699,10 @@
   VisitFloat64Compare(node, &cont);
 }

-#endif  // V8_TURBOFAN_TARGET
+#endif  // V8_TURBOFAN_BACKEND

 // 32 bit targets do not implement the following instructions.
-#if V8_TARGET_ARCH_32_BIT && V8_TURBOFAN_TARGET
+#if V8_TARGET_ARCH_32_BIT && V8_TURBOFAN_BACKEND

 void InstructionSelector::VisitWord64And(Node* node) { UNIMPLEMENTED(); }

@@ -752,12 +752,12 @@
   UNIMPLEMENTED();
 }

-#endif  // V8_TARGET_ARCH_32_BIT && V8_TURBOFAN_TARGET
+#endif  // V8_TARGET_ARCH_32_BIT && V8_TURBOFAN_BACKEND


// 32-bit targets and unsupported architectures need dummy implementations of
 // selected 64-bit ops.
-#if V8_TARGET_ARCH_32_BIT || !V8_TURBOFAN_TARGET
+#if V8_TARGET_ARCH_32_BIT || !V8_TURBOFAN_BACKEND

void InstructionSelector::VisitWord64Test(Node* node, FlagsContinuation* cont) {
   UNIMPLEMENTED();
@@ -769,7 +769,7 @@
   UNIMPLEMENTED();
 }

-#endif  // V8_TARGET_ARCH_32_BIT || !V8_TURBOFAN_TARGET
+#endif  // V8_TARGET_ARCH_32_BIT || !V8_TURBOFAN_BACKEND


 void InstructionSelector::VisitParameter(Node* node) {
@@ -963,7 +963,7 @@
 }


-#if !V8_TURBOFAN_TARGET
+#if !V8_TURBOFAN_BACKEND

 #define DECLARE_UNIMPLEMENTED_SELECTOR(x) \
   void InstructionSelector::Visit##x(Node* node) { UNIMPLEMENTED(); }
@@ -1003,7 +1003,7 @@
 void InstructionSelector::VisitCall(Node* call, BasicBlock* continuation,
                                     BasicBlock* deoptimization) {}

-#endif  // !V8_TURBOFAN_TARGET
+#endif  // !V8_TURBOFAN_BACKEND

 }  // namespace compiler
 }  // namespace internal
=======================================
--- /branches/bleeding_edge/src/compiler/pipeline.h Fri Aug 1 13:51:23 2014 UTC +++ /branches/bleeding_edge/src/compiler/pipeline.h Tue Aug 5 11:53:32 2014 UTC
@@ -12,16 +12,6 @@
 // Note: TODO(turbofan) implies a performance improvement opportunity,
 //   and TODO(name) implies an incomplete implementation

-#if V8_TARGET_ARCH_IA32 || V8_TARGET_ARCH_X64 || V8_TARGET_ARCH_ARM
-#ifndef _WIN64
-#define V8_TURBOFAN_TARGET 1
-#else
-#define V8_TURBOFAN_TARGET 0
-#endif
-#else
-#define V8_TURBOFAN_TARGET 0
-#endif
-
 namespace v8 {
 namespace internal {
 namespace compiler {
@@ -49,6 +39,7 @@
   Zone* zone() { return info_->zone(); }
   Isolate* isolate() { return info_->isolate(); }

+ static inline bool SupportedBackend() { return V8_TURBOFAN_BACKEND != 0; }
   static inline bool SupportedTarget() { return V8_TURBOFAN_TARGET != 0; }

   static inline bool VerifyGraphs() {
=======================================
--- /branches/bleeding_edge/src/globals.h       Wed Jul 30 13:54:45 2014 UTC
+++ /branches/bleeding_edge/src/globals.h       Tue Aug  5 11:53:32 2014 UTC
@@ -25,6 +25,19 @@
 # define V8_INFINITY INFINITY
 #endif

+#if V8_TARGET_ARCH_IA32 || V8_TARGET_ARCH_X64 || V8_TARGET_ARCH_ARM || \
+    V8_TARGET_ARCH_ARM64
+#define V8_TURBOFAN_BACKEND 1
+#else
+#define V8_TURBOFAN_BACKEND 0
+#endif
+#if V8_TURBOFAN_BACKEND && !V8_TARGET_ARCH_ARM64 && \
+    !(V8_OS_WIN && V8_TARGET_ARCH_X64)
+#define V8_TURBOFAN_TARGET 1
+#else
+#define V8_TURBOFAN_TARGET 0
+#endif
+
 namespace v8 {

 namespace base {
=======================================
--- /branches/bleeding_edge/test/cctest/compiler/test-scheduler.cc Tue Aug 5 08:47:39 2014 UTC +++ /branches/bleeding_edge/test/cctest/compiler/test-scheduler.cc Tue Aug 5 11:53:32 2014 UTC
@@ -1763,7 +1763,7 @@

Node* undef_node = graph.NewNode(common_builder.HeapConstant(undef_constant));

-  Node* start_node = graph.NewNode(common_builder.Start());
+  Node* start_node = graph.NewNode(common_builder.Start(0));

   CallDescriptor* descriptor = linkage.GetJSCallDescriptor(0);
   Node* call_node = graph.NewNode(common_builder.Call(descriptor),

--
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
--- You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to