[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}
This commit is contained in:
rmcilroy 2016-05-24 05:51:18 -07:00 committed by Commit bot
parent 15fda5ddcd
commit 5c602c6fcc
5 changed files with 20 additions and 46 deletions

View File

@ -298,7 +298,7 @@ DEFINE_BOOL(string_slices, true, "use string slices")
// Flags for Ignition.
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,
"enable experimental ignition support for generators")
DEFINE_STRING(ignition_filter, "*", "filter for ignition interpreter")

View File

@ -543,10 +543,6 @@
'test-heap/TestCodeFlushingIncremental': [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
# anonymous function. Fails without ignition but with --no-lazy also, so seems
# to be an issue when eagerly parsing.
@ -577,32 +573,6 @@
# TODO(mvstanton,4900): CHECK(!g_function->is_compiled());
'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.
'test-cpu-profiler/JsNativeJsSample': [PASS, ['tsan', SKIP]],
}], # ignition or ignition_turbofan

View File

@ -12,6 +12,7 @@ ignition generators: yes
---
snippet: "
function* f() { }
f();
"
frame size: 11
parameter count: 1
@ -118,6 +119,7 @@ handlers: [
---
snippet: "
function* f() { yield 42 }
f();
"
frame size: 11
parameter count: 1
@ -268,6 +270,7 @@ handlers: [
---
snippet: "
function* f() { for (let x of [42]) yield x }
f();
"
frame size: 17
parameter count: 1

View File

@ -2232,11 +2232,14 @@ TEST(Generators) {
printer.set_test_function_name("f");
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),

View File

@ -296,12 +296,6 @@
# till it is optimized. So test timeouts.
'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.
'assert-opt-and-deopt': [PASS, NO_IGNITION],
@ -336,6 +330,10 @@
'smi-mul-const': [PASS, NO_IGNITION],
'smi-mul': [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
['novfp3 == True', {
@ -844,18 +842,18 @@
# till it is optimized. So test timeouts.
'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-f64': [PASS, ['arch in [arm64]', SKIP]],
# TODO(rmcilroy,titzer): Times out after
# https://codereview.chromium.org/1951013002 .
'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) and arch == arm64', {