Commit e34c343d authored by mstarzinger's avatar mstarzinger Committed by Commit bot

[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}
parent 19aa5005
...@@ -404,15 +404,16 @@ DEFINE_BOOL(omit_map_checks_for_leaf_maps, true, ...@@ -404,15 +404,16 @@ DEFINE_BOOL(omit_map_checks_for_leaf_maps, true,
// Flags for TurboFan. // Flags for TurboFan.
DEFINE_BOOL(turbo, false, "enable TurboFan compiler") 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_shipping, true, "enable TurboFan compiler on subset")
DEFINE_BOOL(turbo_greedy_regalloc, false, "use the greedy register allocator") DEFINE_BOOL(turbo_greedy_regalloc, false, "use the greedy register allocator")
DEFINE_BOOL(turbo_preprocess_ranges, true, DEFINE_BOOL(turbo_preprocess_ranges, true,
"run pre-register allocation heuristics") "run pre-register allocation heuristics")
DEFINE_BOOL(turbo_loop_stackcheck, true, "enable stack checks in loops") 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_STRING(turbo_filter, "~~", "optimization filter for TurboFan compiler")
DEFINE_BOOL(trace_turbo, false, "trace generated TurboFan IR") 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_BOOL(trace_turbo_graph, false, "trace generated TurboFan graphs")
DEFINE_IMPLICATION(trace_turbo_graph, trace_turbo) DEFINE_IMPLICATION(trace_turbo_graph, trace_turbo)
DEFINE_STRING(trace_turbo_cfg_file, NULL, DEFINE_STRING(trace_turbo_cfg_file, NULL,
...@@ -432,7 +433,6 @@ DEFINE_BOOL(turbo_types, true, "use typed lowering in TurboFan") ...@@ -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_type_feedback, false, "use type feedback in TurboFan")
DEFINE_BOOL(turbo_source_positions, false, DEFINE_BOOL(turbo_source_positions, false,
"track source code positions when building TurboFan IR") "track source code positions when building TurboFan IR")
DEFINE_IMPLICATION(trace_turbo, turbo_source_positions)
DEFINE_BOOL(function_context_specialization, false, DEFINE_BOOL(function_context_specialization, false,
"enable function context specialization in TurboFan") "enable function context specialization in TurboFan")
DEFINE_BOOL(native_context_specialization, true, DEFINE_BOOL(native_context_specialization, true,
......
...@@ -120,6 +120,13 @@ ...@@ -120,6 +120,13 @@
'test-debug/ScriptBreakPointByIdThroughJavaScript': [PASS, NO_VARIANTS], 'test-debug/ScriptBreakPointByIdThroughJavaScript': [PASS, NO_VARIANTS],
'test-debug/ScriptBreakPointByNameThroughJavaScript': [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. # Slow tests.
'test-api/Threading1': [PASS, ['mode == debug', SLOW]], 'test-api/Threading1': [PASS, ['mode == debug', SLOW]],
......
...@@ -152,6 +152,24 @@ ...@@ -152,6 +152,24 @@
# TODO(titzer): too slow in --turbo mode due to O(n^2) graph verification. # TODO(titzer): too slow in --turbo mode due to O(n^2) graph verification.
'regress/regress-1122': [PASS, NO_VARIANTS], '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: # issue 4078:
'allocation-site-info': [PASS, NO_VARIANTS], 'allocation-site-info': [PASS, NO_VARIANTS],
......
...@@ -73,6 +73,12 @@ ...@@ -73,6 +73,12 @@
# TODO(mstarzinger): Investigate failure with lookup slot declaration. # TODO(mstarzinger): Investigate failure with lookup slot declaration.
'js1_5/Regress/regress-343713': [PASS, NO_VARIANTS], '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 ############################# ############################ INVALID TESTS #############################
# Function length properties are configurable in ES6 # Function length properties are configurable in ES6
......
...@@ -23,6 +23,9 @@ ...@@ -23,6 +23,9 @@
# Slow tests. # Slow tests.
'benchmarks/kernel-template': [PASS, SLOW], 'benchmarks/kernel-template': [PASS, SLOW],
'benchmarks/memset': [PASS, SLOW], 'benchmarks/memset': [PASS, SLOW],
# Issue 4493: Open issues before we can ship general purpose inlining.
'shell_test_runner': [PASS, NO_VARIANTS],
}], }],
###################################################################### ######################################################################
......
...@@ -37,6 +37,8 @@ ...@@ -37,6 +37,8 @@
'fast/js/deep-recursion-test': [PASS, NO_VARIANTS], 'fast/js/deep-recursion-test': [PASS, NO_VARIANTS],
# TODO(bmeurer,svenpanne): Investigate test failure. # TODO(bmeurer,svenpanne): Investigate test failure.
'fast/js/toString-number': [SKIP], 'fast/js/toString-number': [SKIP],
# Issue 4493: Open issues before we can ship general purpose inlining.
'call-apply-crash': [PASS, NO_VARIANTS],
}], # ALWAYS }], # ALWAYS
['mode == debug', { ['mode == debug', {
# Too slow in debug mode. # Too slow in debug mode.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment