From e34c343d2ac62f249359fcec07497c6e1a5537b9 Mon Sep 17 00:00:00 2001 From: mstarzinger Date: Mon, 19 Oct 2015 20:53:47 -0700 Subject: [PATCH] [turbofan] Stage --turbo-inlining behind --turbo flag. This stages the general purpose inlining mechanism in TurboFan and also disables the remaining tests that still fail. We do this to get test coverage early and to avoid regressing inlining as we go along. R=bmeurer@chromium.org BUG=v8:4493 LOG=n Review URL: https://codereview.chromium.org/1412703002 Cr-Commit-Position: refs/heads/master@{#31386} --- src/flag-definitions.h | 6 +++--- test/cctest/cctest.status | 7 +++++++ test/mjsunit/mjsunit.status | 18 ++++++++++++++++++ test/mozilla/mozilla.status | 6 ++++++ test/simdjs/simdjs.status | 3 +++ test/webkit/webkit.status | 2 ++ 6 files changed, 39 insertions(+), 3 deletions(-) diff --git a/src/flag-definitions.h b/src/flag-definitions.h index edbe4ebab7..870aed86bd 100644 --- a/src/flag-definitions.h +++ b/src/flag-definitions.h @@ -404,15 +404,16 @@ DEFINE_BOOL(omit_map_checks_for_leaf_maps, true, // Flags for TurboFan. DEFINE_BOOL(turbo, false, "enable TurboFan compiler") +DEFINE_IMPLICATION(turbo, turbo_asm_deoptimization) +DEFINE_IMPLICATION(turbo, turbo_inlining) DEFINE_BOOL(turbo_shipping, true, "enable TurboFan compiler on subset") DEFINE_BOOL(turbo_greedy_regalloc, false, "use the greedy register allocator") DEFINE_BOOL(turbo_preprocess_ranges, true, "run pre-register allocation heuristics") DEFINE_BOOL(turbo_loop_stackcheck, true, "enable stack checks in loops") - -DEFINE_IMPLICATION(turbo, turbo_asm_deoptimization) DEFINE_STRING(turbo_filter, "~~", "optimization filter for TurboFan compiler") DEFINE_BOOL(trace_turbo, false, "trace generated TurboFan IR") +DEFINE_IMPLICATION(trace_turbo, turbo_source_positions) DEFINE_BOOL(trace_turbo_graph, false, "trace generated TurboFan graphs") DEFINE_IMPLICATION(trace_turbo_graph, trace_turbo) DEFINE_STRING(trace_turbo_cfg_file, NULL, @@ -432,7 +433,6 @@ DEFINE_BOOL(turbo_types, true, "use typed lowering in TurboFan") DEFINE_BOOL(turbo_type_feedback, false, "use type feedback in TurboFan") DEFINE_BOOL(turbo_source_positions, false, "track source code positions when building TurboFan IR") -DEFINE_IMPLICATION(trace_turbo, turbo_source_positions) DEFINE_BOOL(function_context_specialization, false, "enable function context specialization in TurboFan") DEFINE_BOOL(native_context_specialization, true, diff --git a/test/cctest/cctest.status b/test/cctest/cctest.status index 92627ac3d8..ccfc813ec4 100644 --- a/test/cctest/cctest.status +++ b/test/cctest/cctest.status @@ -120,6 +120,13 @@ 'test-debug/ScriptBreakPointByIdThroughJavaScript': [PASS, NO_VARIANTS], 'test-debug/ScriptBreakPointByNameThroughJavaScript': [PASS, NO_VARIANTS], + # Issue 4493: Open issues before we can ship general purpose inlining. + 'test-decls/CrossScriptGlobal': [PASS, NO_VARIANTS], + 'test-decls/CrossScriptReferencesHarmony': [PASS, NO_VARIANTS], + 'test-decls/CrossScriptLoadICs': [PASS, NO_VARIANTS], + 'test-decls/CrossScriptStoreICs': [PASS, NO_VARIANTS], + 'test-decls/Regress3941': [PASS, NO_VARIANTS], + ############################################################################ # Slow tests. 'test-api/Threading1': [PASS, ['mode == debug', SLOW]], diff --git a/test/mjsunit/mjsunit.status b/test/mjsunit/mjsunit.status index 595fc6f4c1..76c323c4dd 100644 --- a/test/mjsunit/mjsunit.status +++ b/test/mjsunit/mjsunit.status @@ -152,6 +152,24 @@ # TODO(titzer): too slow in --turbo mode due to O(n^2) graph verification. 'regress/regress-1122': [PASS, NO_VARIANTS], + # Issue 4493: Open issues before we can ship general purpose inlining. + 'array-reduce': [PASS, NO_VARIANTS], + 'compiler/lazy-deopt-in-literal': [PASS, NO_VARIANTS], + 'compiler/osr-infinite': [PASS, NO_VARIANTS], + 'es6/array-find': [PASS, NO_VARIANTS], + 'es6/array-findindex': [PASS, NO_VARIANTS], + 'es6/microtask-delivery': [PASS, NO_VARIANTS], + 'es6/promises': [PASS, NO_VARIANTS], # only on 64-bit. + 'es6/templates': [PASS, NO_VARIANTS], + 'es6/typedarray-find': [PASS, NO_VARIANTS], + 'es6/typedarray-findindex': [PASS, NO_VARIANTS], + 'harmony/destructuring': [PASS, NO_VARIANTS], + 'harmony/proxies': [PASS, NO_VARIANTS], + 'harmony/proxies-example-membrane': [PASS, NO_VARIANTS], # only on 64-bit. + 'harmony/spread-array': [PASS, NO_VARIANTS], + 'regress/cross-script-vars': [PASS, NO_VARIANTS], + 'tools/profile': [PASS, NO_VARIANTS], + # issue 4078: 'allocation-site-info': [PASS, NO_VARIANTS], diff --git a/test/mozilla/mozilla.status b/test/mozilla/mozilla.status index d70c922b0d..1b096ec69a 100644 --- a/test/mozilla/mozilla.status +++ b/test/mozilla/mozilla.status @@ -73,6 +73,12 @@ # TODO(mstarzinger): Investigate failure with lookup slot declaration. 'js1_5/Regress/regress-343713': [PASS, NO_VARIANTS], + # Issue 4493: Open issues before we can ship general purpose inlining. + 'js1_4/Eval/eval-002': [PASS, NO_VARIANTS], + 'js1_5/Scope/regress-77578-001': [PASS, NO_VARIANTS], + 'ecma_3/ExecutionContexts/10.1.3': [PASS, NO_VARIANTS], + 'ecma_3/ExecutionContexts/regress-23346': [PASS, NO_VARIANTS], + ############################ INVALID TESTS ############################# # Function length properties are configurable in ES6 diff --git a/test/simdjs/simdjs.status b/test/simdjs/simdjs.status index dba1681bdc..65c92be1a3 100644 --- a/test/simdjs/simdjs.status +++ b/test/simdjs/simdjs.status @@ -23,6 +23,9 @@ # Slow tests. 'benchmarks/kernel-template': [PASS, SLOW], 'benchmarks/memset': [PASS, SLOW], + + # Issue 4493: Open issues before we can ship general purpose inlining. + 'shell_test_runner': [PASS, NO_VARIANTS], }], ###################################################################### diff --git a/test/webkit/webkit.status b/test/webkit/webkit.status index be322c17dd..e54ca4852d 100644 --- a/test/webkit/webkit.status +++ b/test/webkit/webkit.status @@ -37,6 +37,8 @@ 'fast/js/deep-recursion-test': [PASS, NO_VARIANTS], # TODO(bmeurer,svenpanne): Investigate test failure. 'fast/js/toString-number': [SKIP], + # Issue 4493: Open issues before we can ship general purpose inlining. + 'call-apply-crash': [PASS, NO_VARIANTS], }], # ALWAYS ['mode == debug', { # Too slow in debug mode.