Index: src/compiler/pipeline.cc |
diff --git a/src/compiler/pipeline.cc b/src/compiler/pipeline.cc |
index 53c138fe238f3612838cd786b6ebca44345d5fe7..9e61eeed5ea0878c8a1334e93cf24d4394949e67 100644 |
--- a/src/compiler/pipeline.cc |
+++ b/src/compiler/pipeline.cc |
@@ -1255,7 +1255,14 @@ struct InstructionSelectionPhase { |
data->schedule(), data->source_positions(), data->frame(), |
data->info()->is_source_positions_enabled() |
? InstructionSelector::kAllSourcePositions |
- : InstructionSelector::kCallSourcePositions); |
+ : InstructionSelector::kCallSourcePositions, |
+ InstructionSelector::SupportedFeatures(), |
+ FLAG_turbo_instruction_scheduling |
+ ? InstructionSelector::kEnableScheduling |
+ : InstructionSelector::kDisableScheduling, |
+ data->info()->will_serialize() |
+ ? InstructionSelector::kEnableSerialization |
+ : InstructionSelector::kDisableSerialization); |
if (!selector.SelectInstructions()) { |
data->set_compilation_failed(); |
} |
@@ -1661,6 +1668,7 @@ Handle<Code> Pipeline::GenerateCodeForCodeStub(Isolate* isolate, |
Code::Flags flags, |
const char* debug_name) { |
CompilationInfo info(CStrVector(debug_name), isolate, graph->zone(), flags); |
+ if (isolate->serializer_enabled()) info.PrepareForSerializing(); |
// Construct a pipeline for scheduling and code generation. |
ZonePool zone_pool(isolate->allocator()); |