Extend TF test coverage to unsupported targets.
R=titzer@chromium.org TEST=all Review URL: https://codereview.chromium.org/416233003 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22793 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
This commit is contained in:
parent
c1f60c6c1f
commit
f5b0a37485
@ -413,9 +413,7 @@ OptimizedCompileJob::Status OptimizedCompileJob::CreateGraph() {
|
||||
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()) {
|
||||
|
@ -15,6 +15,8 @@ namespace v8 {
|
||||
namespace internal {
|
||||
namespace compiler {
|
||||
|
||||
#if V8_TURBOFAN_TARGET
|
||||
|
||||
#define __ masm()->
|
||||
|
||||
|
||||
@ -850,6 +852,8 @@ bool CodeGenerator::IsNopForSmiCodeInlining(Handle<Code> code, int start_pc,
|
||||
|
||||
#endif // DEBUG
|
||||
|
||||
#endif // V8_TURBOFAN_TARGET
|
||||
|
||||
} // namespace compiler
|
||||
} // namespace internal
|
||||
} // namespace v8
|
||||
|
@ -9,6 +9,8 @@ namespace v8 {
|
||||
namespace internal {
|
||||
namespace compiler {
|
||||
|
||||
#if V8_TURBOFAN_TARGET
|
||||
|
||||
enum ImmediateMode {
|
||||
kArithimeticImm, // 12 bit unsigned immediate shifted left 0 or 12 bits
|
||||
kShift32Imm, // 0 - 31
|
||||
@ -658,6 +660,8 @@ void InstructionSelector::VisitCall(Node* call, BasicBlock* continuation,
|
||||
}
|
||||
}
|
||||
|
||||
#endif // V8_TURBOFAN_TARGET
|
||||
|
||||
} // namespace compiler
|
||||
} // namespace internal
|
||||
} // namespace v8
|
||||
|
@ -14,6 +14,8 @@ namespace v8 {
|
||||
namespace internal {
|
||||
namespace compiler {
|
||||
|
||||
#if V8_TURBOFAN_TARGET
|
||||
|
||||
struct LinkageHelperTraits {
|
||||
static Register ReturnValueReg() { return x0; }
|
||||
static Register ReturnValue2Reg() { return x1; }
|
||||
@ -61,6 +63,8 @@ CallDescriptor* Linkage::GetSimplifiedCDescriptor(
|
||||
return LinkageHelper::GetSimplifiedCDescriptor<LinkageHelperTraits>(
|
||||
zone, num_params, return_type, param_types);
|
||||
}
|
||||
|
||||
#endif // V8_TURBOFAN_TARGET
|
||||
}
|
||||
}
|
||||
} // namespace v8::internal::compiler
|
||||
|
@ -170,7 +170,9 @@ Handle<Code> Pipeline::GenerateCode() {
|
||||
}
|
||||
}
|
||||
|
||||
Handle<Code> code = Handle<Code>::null();
|
||||
if (SupportedTarget()) {
|
||||
{
|
||||
// Lower any remaining generic JSOperators.
|
||||
PhaseStats lowering_stats(info(), PhaseStats::CREATE_GRAPH,
|
||||
"generic lowering");
|
||||
@ -185,8 +187,6 @@ Handle<Code> Pipeline::GenerateCode() {
|
||||
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 @@ Handle<Code> Pipeline::GenerateCode() {
|
||||
code = GenerateCode(&linkage, &graph, schedule, &source_positions);
|
||||
info()->SetCode(code);
|
||||
}
|
||||
|
||||
// Print optimized code.
|
||||
v8::internal::CodeGenerator::PrintCode(code, info());
|
||||
}
|
||||
|
@ -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 @@ class Pipeline {
|
||||
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
|
||||
|
@ -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],
|
||||
|
@ -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.
|
||||
|
Loading…
Reference in New Issue
Block a user