Revision: 22793
Author: [email protected]
Date: Fri Aug 1 13:51:23 2014 UTC
Log: Extend TF test coverage to unsupported targets.
[email protected]
TEST=all
Review URL: https://codereview.chromium.org/416233003
http://code.google.com/p/v8/source/detail?r=22793
Modified:
/branches/bleeding_edge/src/compiler/arm64/code-generator-arm64.cc
/branches/bleeding_edge/src/compiler/arm64/instruction-selector-arm64.cc
/branches/bleeding_edge/src/compiler/arm64/linkage-arm64.cc
/branches/bleeding_edge/src/compiler/pipeline.cc
/branches/bleeding_edge/src/compiler/pipeline.h
/branches/bleeding_edge/src/compiler.cc
/branches/bleeding_edge/test/mjsunit/mjsunit.status
/branches/bleeding_edge/test/webkit/webkit.status
=======================================
--- /branches/bleeding_edge/src/compiler/arm64/code-generator-arm64.cc Fri
Aug 1 12:18:20 2014 UTC
+++ /branches/bleeding_edge/src/compiler/arm64/code-generator-arm64.cc Fri
Aug 1 13:51:23 2014 UTC
@@ -15,6 +15,8 @@
namespace internal {
namespace compiler {
+#if V8_TURBOFAN_TARGET
+
#define __ masm()->
@@ -850,6 +852,8 @@
#endif // DEBUG
+#endif // V8_TURBOFAN_TARGET
+
} // namespace compiler
} // namespace internal
} // namespace v8
=======================================
---
/branches/bleeding_edge/src/compiler/arm64/instruction-selector-arm64.cc
Fri Aug 1 12:18:20 2014 UTC
+++
/branches/bleeding_edge/src/compiler/arm64/instruction-selector-arm64.cc
Fri Aug 1 13:51:23 2014 UTC
@@ -9,6 +9,8 @@
namespace internal {
namespace compiler {
+#if V8_TURBOFAN_TARGET
+
enum ImmediateMode {
kArithimeticImm, // 12 bit unsigned immediate shifted left 0 or 12 bits
kShift32Imm, // 0 - 31
@@ -657,6 +659,8 @@
Emit(kArm64Drop | MiscField::encode(aligned_push_count), NULL);
}
}
+
+#endif // V8_TURBOFAN_TARGET
} // namespace compiler
} // namespace internal
=======================================
--- /branches/bleeding_edge/src/compiler/arm64/linkage-arm64.cc Wed Jul 30
13:54:45 2014 UTC
+++ /branches/bleeding_edge/src/compiler/arm64/linkage-arm64.cc Fri Aug 1
13:51:23 2014 UTC
@@ -14,6 +14,8 @@
namespace internal {
namespace compiler {
+#if V8_TURBOFAN_TARGET
+
struct LinkageHelperTraits {
static Register ReturnValueReg() { return x0; }
static Register ReturnValue2Reg() { return x1; }
@@ -61,6 +63,8 @@
return LinkageHelper::GetSimplifiedCDescriptor<LinkageHelperTraits>(
zone, num_params, return_type, param_types);
}
+
+#endif // V8_TURBOFAN_TARGET
}
}
} // namespace v8::internal::compiler
=======================================
--- /branches/bleeding_edge/src/compiler/pipeline.cc Fri Aug 1 10:47:01
2014 UTC
+++ /branches/bleeding_edge/src/compiler/pipeline.cc Fri Aug 1 13:51:23
2014 UTC
@@ -170,23 +170,23 @@
}
}
+ Handle<Code> code = Handle<Code>::null();
if (SupportedTarget()) {
- // Lower any remaining generic JSOperators.
- PhaseStats lowering_stats(info(), PhaseStats::CREATE_GRAPH,
- "generic lowering");
- MachineOperatorBuilder machine(zone());
- JSGenericLowering lowering(info(), &jsgraph, &machine,
&source_positions);
- lowering.LowerAllNodes();
+ {
+ // Lower any remaining generic JSOperators.
+ PhaseStats lowering_stats(info(), PhaseStats::CREATE_GRAPH,
+ "generic lowering");
+ MachineOperatorBuilder machine(zone());
+ JSGenericLowering lowering(info(), &jsgraph, &machine,
&source_positions);
+ lowering.LowerAllNodes();
- VerifyAndPrintGraph(&graph, "Lowered generic");
- }
+ VerifyAndPrintGraph(&graph, "Lowered generic");
+ }
- // Compute a schedule.
- Schedule* schedule = ComputeSchedule(&graph);
- TraceSchedule(schedule);
+ // Compute a schedule.
+ Schedule* schedule = ComputeSchedule(&graph);
+ TraceSchedule(schedule);
- Handle<Code> code = Handle<Code>::null();
- if (SupportedTarget()) {
{
// Generate optimized code.
PhaseStats codegen_stats(info(), PhaseStats::CODEGEN, "codegen");
@@ -194,6 +194,7 @@
code = GenerateCode(&linkage, &graph, schedule, &source_positions);
info()->SetCode(code);
}
+
// Print optimized code.
v8::internal::CodeGenerator::PrintCode(code, info());
}
=======================================
--- /branches/bleeding_edge/src/compiler/pipeline.h Fri Aug 1 13:08:05
2014 UTC
+++ /branches/bleeding_edge/src/compiler/pipeline.h Fri Aug 1 13:51:23
2014 UTC
@@ -12,8 +12,7 @@
// 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_ARM64 || \
- V8_TARGET_ARCH_ARM
+#if V8_TARGET_ARCH_IA32 || V8_TARGET_ARCH_X64 || V8_TARGET_ARCH_ARM
#ifndef _WIN64
#define V8_TURBOFAN_TARGET 1
#else
@@ -50,14 +49,7 @@
Zone* zone() { return info_->zone(); }
Isolate* isolate() { return info_->isolate(); }
- static inline bool SupportedTarget() {
-#if V8_TARGET_ARCH_ARM64
- // TODO(turbofan): The ARM64 port is temporarily disabled.
- return false;
-#else
- return V8_TURBOFAN_TARGET != 0;
-#endif
- }
+ static inline bool SupportedTarget() { return V8_TURBOFAN_TARGET != 0; }
static inline bool VerifyGraphs() {
#ifdef DEBUG
=======================================
--- /branches/bleeding_edge/src/compiler.cc Fri Aug 1 10:47:01 2014 UTC
+++ /branches/bleeding_edge/src/compiler.cc Fri Aug 1 13:51:23 2014 UTC
@@ -413,9 +413,7 @@
info()->function()->dont_optimize_reason() != kTryCatchStatement &&
info()->function()->dont_optimize_reason() != kTryFinallyStatement &&
// TODO(turbofan): Make OSR work and remove this bailout.
- !info()->is_osr() &&
- // TODO(mstarzinger): Extend test coverage to unsupported targets.
- compiler::Pipeline::SupportedTarget()) {
+ !info()->is_osr()) {
compiler::Pipeline pipeline(info());
pipeline.GenerateCode();
if (!info()->code().is_null()) {
=======================================
--- /branches/bleeding_edge/test/mjsunit/mjsunit.status Wed Jul 30 13:54:45
2014 UTC
+++ /branches/bleeding_edge/test/mjsunit/mjsunit.status Fri Aug 1 13:51:23
2014 UTC
@@ -181,9 +181,6 @@
# No need to waste time for this test.
'd8-performance-now': [PASS, NO_VARIANTS],
-
##############################################################################
- 'big-object-literal': [PASS, ['arch == arm or arch == android_arm or
arch == android_arm64', SKIP]],
-
# Issue 488: this test sometimes times out.
'array-constructor': [PASS, TIMEOUT],
@@ -310,6 +307,7 @@
# Pass but take too long to run. Skip.
# Some similar tests (with fewer iterations) may be included in arm64-js
# tests.
+ 'big-object-literal': [SKIP],
'compiler/regress-arguments': [SKIP],
'compiler/regress-gvn': [SKIP],
'compiler/regress-max-locals-for-osr': [SKIP],
@@ -413,6 +411,7 @@
# Long running tests. Skipping because having them timeout takes too
long on
# the buildbot.
+ 'big-object-literal': [SKIP],
'compiler/alloc-number': [SKIP],
'regress/regress-490': [SKIP],
'regress/regress-634': [SKIP],
=======================================
--- /branches/bleeding_edge/test/webkit/webkit.status Fri Aug 1 11:36:25
2014 UTC
+++ /branches/bleeding_edge/test/webkit/webkit.status Fri Aug 1 13:51:23
2014 UTC
@@ -37,6 +37,8 @@
'exception-with-handler-inside-eval-with-dynamic-scope': [PASS,
NO_VARIANTS],
# TODO(turbofan): We run out of stack earlier on 64-bit for now.
'fast/js/deep-recursion-test': [PASS, NO_VARIANTS],
+ # TODO(turbofan): Some tests just timeout for now.
+ 'array-iterate-backwards': [PASS, NO_VARIANTS],
}], # ALWAYS
['mode == debug', {
# Too slow in debug mode.
--
--
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.