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.