Commit 5c602c6f authored by rmcilroy's avatar rmcilroy Committed by Commit bot

[Interpreter] Make lazy compilation the default.

BUG=v8:4280,v8:5038
LOG=N

Review-Url: https://codereview.chromium.org/2007453002
Cr-Commit-Position: refs/heads/master@{#36476}
parent 15fda5dd
...@@ -298,7 +298,7 @@ DEFINE_BOOL(string_slices, true, "use string slices") ...@@ -298,7 +298,7 @@ DEFINE_BOOL(string_slices, true, "use string slices")
// Flags for Ignition. // Flags for Ignition.
DEFINE_BOOL(ignition, false, "use ignition interpreter") DEFINE_BOOL(ignition, false, "use ignition interpreter")
DEFINE_BOOL(ignition_eager, true, "eagerly compile and parse with ignition") DEFINE_BOOL(ignition_eager, false, "eagerly compile and parse with ignition")
DEFINE_BOOL(ignition_generators, false, DEFINE_BOOL(ignition_generators, false,
"enable experimental ignition support for generators") "enable experimental ignition support for generators")
DEFINE_STRING(ignition_filter, "*", "filter for ignition interpreter") DEFINE_STRING(ignition_filter, "*", "filter for ignition interpreter")
......
...@@ -543,10 +543,6 @@ ...@@ -543,10 +543,6 @@
'test-heap/TestCodeFlushingIncremental': [FAIL], 'test-heap/TestCodeFlushingIncremental': [FAIL],
'test-heap/TestCodeFlushingIncrementalAbort': [PASS, ['mode == debug or dcheck_always_on == True', FAIL]], 'test-heap/TestCodeFlushingIncrementalAbort': [PASS, ['mode == debug or dcheck_always_on == True', FAIL]],
# TODO(rmcilroy,4766): Requires BytecodeGraphBuilder to track source position
# on nodes (behind --turbo_source_positions flag).
'test-cpu-profiler/TickLinesOptimized': [FAIL],
# TODO(rmcilroy,4680): Fails to find the correct function name for the # TODO(rmcilroy,4680): Fails to find the correct function name for the
# anonymous function. Fails without ignition but with --no-lazy also, so seems # anonymous function. Fails without ignition but with --no-lazy also, so seems
# to be an issue when eagerly parsing. # to be an issue when eagerly parsing.
...@@ -577,32 +573,6 @@ ...@@ -577,32 +573,6 @@
# TODO(mvstanton,4900): CHECK(!g_function->is_compiled()); # TODO(mvstanton,4900): CHECK(!g_function->is_compiled());
'test-heap/TestUseOfIncrementalBarrierOnCompileLazy': [FAIL], 'test-heap/TestUseOfIncrementalBarrierOnCompileLazy': [FAIL],
# TODO(rmcilroy,4837): We don't set a LoadContextSlot for a function as
# immutable in the BytecodeGraphBuilder, therefore no inlining happens.
'test-run-inlining/InlineLoopGuardedTwice': [FAIL],
'test-run-inlining/InlineSurplusArgumentsDeopt': [FAIL],
'test-run-inlining/InlineTwice': [FAIL],
'test-run-inlining/InlineSurplusArgumentsObject': [FAIL],
'test-run-inlining/InlineTwiceDependentDiamond': [FAIL],
'test-run-inlining/InlineWithArguments': [FAIL],
'test-run-inlining/InlineLoopUnguardedTwice': [FAIL],
'test-run-inlining/InlineOmitArgumentsObject': [FAIL],
'test-run-inlining/InlineLoopUnguardedOnce': [FAIL],
'test-run-inlining/InlineOmitArgumentsDeopt': [FAIL],
'test-run-inlining/InlineTwiceDependentDiamondDifferent': [FAIL],
'test-run-inlining/SimpleInliningContext': [FAIL],
'test-run-inlining/InlineMutuallyRecursive': [FAIL],
'test-run-inlining/InlineLoopGuardedEmpty': [FAIL],
'test-run-inlining/InlineLoopGuardedOnce': [FAIL],
'test-run-inlining/InlineOmitArguments': [FAIL],
'test-run-inlining/SimpleInlining': [FAIL],
'test-run-inlining/InlineLoopUnguardedEmpty': [FAIL],
'test-run-inlining/InlineNestedBuiltin': [FAIL],
'test-run-inlining/InlineSurplusArguments': [FAIL],
'test-run-inlining/InlineBuiltin': [FAIL],
'test-run-inlining/InlineTwiceDependent': [FAIL],
'test-run-inlining/SimpleInliningContextDeopt': [FAIL],
# BUG(4751). Flaky with ignition and tsan. # BUG(4751). Flaky with ignition and tsan.
'test-cpu-profiler/JsNativeJsSample': [PASS, ['tsan', SKIP]], 'test-cpu-profiler/JsNativeJsSample': [PASS, ['tsan', SKIP]],
}], # ignition or ignition_turbofan }], # ignition or ignition_turbofan
......
...@@ -12,6 +12,7 @@ ignition generators: yes ...@@ -12,6 +12,7 @@ ignition generators: yes
--- ---
snippet: " snippet: "
function* f() { } function* f() { }
f();
" "
frame size: 11 frame size: 11
parameter count: 1 parameter count: 1
...@@ -118,6 +119,7 @@ handlers: [ ...@@ -118,6 +119,7 @@ handlers: [
--- ---
snippet: " snippet: "
function* f() { yield 42 } function* f() { yield 42 }
f();
" "
frame size: 11 frame size: 11
parameter count: 1 parameter count: 1
...@@ -268,6 +270,7 @@ handlers: [ ...@@ -268,6 +270,7 @@ handlers: [
--- ---
snippet: " snippet: "
function* f() { for (let x of [42]) yield x } function* f() { for (let x of [42]) yield x }
f();
" "
frame size: 17 frame size: 17
parameter count: 1 parameter count: 1
......
...@@ -2232,11 +2232,14 @@ TEST(Generators) { ...@@ -2232,11 +2232,14 @@ TEST(Generators) {
printer.set_test_function_name("f"); printer.set_test_function_name("f");
const char* snippets[] = { const char* snippets[] = {
"function* f() { }\n", "function* f() { }\n"
"f();\n",
"function* f() { yield 42 }\n", "function* f() { yield 42 }\n"
"f();\n",
"function* f() { for (let x of [42]) yield x }\n", "function* f() { for (let x of [42]) yield x }\n"
"f();\n",
}; };
CHECK(CompareTexts(BuildActual(printer, snippets), CHECK(CompareTexts(BuildActual(printer, snippets),
......
...@@ -296,12 +296,6 @@ ...@@ -296,12 +296,6 @@
# till it is optimized. So test timeouts. # till it is optimized. So test timeouts.
'array-literal-transitions': [PASS, NO_IGNITION], 'array-literal-transitions': [PASS, NO_IGNITION],
# TODO(rmcilroy, 4680): Script throws RangeError as expected, but does so during
# eager compile of the whole script instead of during lazy compile of the function
# f(), so we can't catch the exception in the try/catch. Skip because on some
# platforms the stack limit is different and the exception doesn't fire.
'regress/regress-crbug-589472': [PASS, NO_IGNITION],
# TODO(4680): Test doesn't know about three tier compiler pipeline. # TODO(4680): Test doesn't know about three tier compiler pipeline.
'assert-opt-and-deopt': [PASS, NO_IGNITION], 'assert-opt-and-deopt': [PASS, NO_IGNITION],
...@@ -336,6 +330,10 @@ ...@@ -336,6 +330,10 @@
'smi-mul-const': [PASS, NO_IGNITION], 'smi-mul-const': [PASS, NO_IGNITION],
'smi-mul': [PASS, NO_IGNITION], 'smi-mul': [PASS, NO_IGNITION],
'unary-minus-deopt': [PASS, NO_IGNITION], 'unary-minus-deopt': [PASS, NO_IGNITION],
# TODO(rmcilroy,5038): Crashes in Deoptimizer::PatchCodeForDeoptimization on
# nosnap builds when --stress-opt and --turbo-from-bytecode is enabled.
'harmony/generators-turbo': [PASS, FAST_VARIANTS],
}], # ALWAYS }], # ALWAYS
['novfp3 == True', { ['novfp3 == True', {
...@@ -844,18 +842,18 @@ ...@@ -844,18 +842,18 @@
# till it is optimized. So test timeouts. # till it is optimized. So test timeouts.
'array-literal-transitions': [SKIP], 'array-literal-transitions': [SKIP],
# TODO(rmcilroy, 4680): Script throws RangeError as expected, but does so during
# eager compile of the whole script instead of during lazy compile of the function
# f(), so we can't catch the exception in the try/catch. Skip because on some
# platforms the stack limit is different and the exception doesn't fire.
'regress/regress-crbug-589472': [SKIP],
'wasm/asm-wasm-f32': [PASS, ['arch in [arm64]', SKIP]], 'wasm/asm-wasm-f32': [PASS, ['arch in [arm64]', SKIP]],
'wasm/asm-wasm-f64': [PASS, ['arch in [arm64]', SKIP]], 'wasm/asm-wasm-f64': [PASS, ['arch in [arm64]', SKIP]],
# TODO(rmcilroy,titzer): Times out after # TODO(rmcilroy,titzer): Times out after
# https://codereview.chromium.org/1951013002 . # https://codereview.chromium.org/1951013002 .
'regress/regress-599717': [PASS, ['tsan', SKIP]], 'regress/regress-599717': [PASS, ['tsan', SKIP]],
# TODO(rmcilroy,5038): Crashes in Deoptimizer::PatchCodeForDeoptimization on
# nosnap builds when --stress-opt and --turbo-from-bytecode is enabled.
'harmony/generators-turbo': [PASS, FAST_VARIANTS],
'regress/regress-crbug-352058': [SKIP],
}], # ignition or ignition_turbofan }], # ignition or ignition_turbofan
['(ignition or ignition_turbofan) and arch == arm64', { ['(ignition or ignition_turbofan) and arch == arm64', {
......
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