Commit 98e3ed6b authored by mstarzinger's avatar mstarzinger Committed by Commit bot

[turbofan] Enable BytecodeGraphBuilder by default.

This enables the {BytecodeGraphBuilder} whenever heuristics in the
compilation pipeline determine both Ignition and TurboFan to be used.
There no longer needs to be an explicit flag passed in order to build
graphs from bytecode.

R=bmeurer@chromium.org

Review-Url: https://codereview.chromium.org/2363413005
Cr-Commit-Position: refs/heads/master@{#40045}
parent 316669f6
......@@ -295,7 +295,6 @@ DEFINE_BOOL(ignition, false, "use ignition interpreter")
DEFINE_BOOL(ignition_staging, false, "use ignition with all staged features")
DEFINE_IMPLICATION(ignition_staging, ignition)
DEFINE_IMPLICATION(ignition_staging, ignition_osr)
DEFINE_IMPLICATION(ignition_staging, turbo_from_bytecode)
DEFINE_IMPLICATION(ignition_staging, ignition_preserve_bytecode)
DEFINE_BOOL(ignition_eager, false, "eagerly compile and parse with ignition")
DEFINE_STRING(ignition_filter, "*", "filter for ignition interpreter")
......@@ -430,7 +429,7 @@ DEFINE_BOOL(omit_map_checks_for_leaf_maps, true,
DEFINE_BOOL(turbo, false, "enable TurboFan compiler")
DEFINE_IMPLICATION(turbo, turbo_asm_deoptimization)
DEFINE_IMPLICATION(turbo, turbo_loop_peeling)
DEFINE_BOOL(turbo_from_bytecode, false, "enable building graphs from bytecode")
DEFINE_BOOL(turbo_from_bytecode, true, "enable building graphs from bytecode")
DEFINE_BOOL(turbo_sp_frame_access, false,
"use stack pointer-relative access to frame wherever possible")
DEFINE_BOOL(turbo_preprocess_ranges, true,
......
......@@ -161,23 +161,19 @@ Handle<JSFunction> FunctionTester::Compile(Handle<JSFunction> function) {
Zone zone(function->GetIsolate()->allocator());
ParseInfo parse_info(&zone, function);
CompilationInfo info(&parse_info, function);
info.MarkAsDeoptimizationEnabled();
if (!FLAG_turbo_from_bytecode) {
CHECK(Parser::ParseStatic(info.parse_info()));
}
info.SetOptimizing();
info.MarkAsDeoptimizationEnabled();
if (flags_ & CompilationInfo::kNativeContextSpecializing) {
info.MarkAsNativeContextSpecializing();
}
if (flags_ & CompilationInfo::kInliningEnabled) {
info.MarkAsInliningEnabled();
}
if (FLAG_turbo_from_bytecode) {
CHECK(Compiler::EnsureBytecode(&info));
if (Compiler::EnsureBytecode(&info)) {
info.MarkAsOptimizeFromBytecode();
} else {
CHECK(Compiler::Analyze(info.parse_info()));
CHECK(Compiler::ParseAndAnalyze(info.parse_info()));
CHECK(Compiler::EnsureDeoptimizationSupport(&info));
}
JSFunction::EnsureLiterals(function);
......
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