Index: src/compiler/pipeline.cc |
diff --git a/src/compiler/pipeline.cc b/src/compiler/pipeline.cc |
index 2e9ef98b657cf4d4b91bf710660c6e1324371052..22a344f342acbfce544e3bc89902bf4a686eac24 100644 |
--- a/src/compiler/pipeline.cc |
+++ b/src/compiler/pipeline.cc |
@@ -185,11 +185,12 @@ Handle<Code> Pipeline::GenerateCode() { |
VerifyAndPrintGraph(&graph, "Initial untyped"); |
+ JSContextSpecializer spec(info(), &jsgraph, context_node); |
+ |
if (FLAG_context_specialization) { |
SourcePositionTable::Scope pos_(&source_positions, |
SourcePosition::Unknown()); |
// Specialize the code to the context as aggressively as possible. |
- JSContextSpecializer spec(info(), &jsgraph, context_node); |
spec.SpecializeToContext(); |
VerifyAndPrintGraph(&graph, "Context specialized"); |
} |
@@ -224,6 +225,7 @@ Handle<Code> Pipeline::GenerateCode() { |
Handle<Code> code = Handle<Code>::null(); |
if (SupportedTarget()) { |
+ Linkage linkage(info()); |
{ |
// Lower any remaining generic JSOperators. |
PhaseStats lowering_stats(info(), PhaseStats::CREATE_GRAPH, |
@@ -231,7 +233,7 @@ Handle<Code> Pipeline::GenerateCode() { |
SourcePositionTable::Scope pos(&source_positions, |
SourcePosition::Unknown()); |
MachineOperatorBuilder machine(zone()); |
- JSGenericLowering lowering(info(), &jsgraph, &machine); |
+ JSGenericLowering lowering(&jsgraph, &spec, &linkage, &machine); |
GraphReducer graph_reducer(&graph); |
graph_reducer.AddReducer(&lowering); |
graph_reducer.ReduceGraph(); |
@@ -246,7 +248,7 @@ Handle<Code> Pipeline::GenerateCode() { |
{ |
// Generate optimized code. |
PhaseStats codegen_stats(info(), PhaseStats::CODEGEN, "codegen"); |
- Linkage linkage(info()); |
+ |
code = GenerateCode(&linkage, &graph, schedule, &source_positions); |
info()->SetCode(code); |
} |