| Index: src/compiler/pipeline.cc
|
| diff --git a/src/compiler/pipeline.cc b/src/compiler/pipeline.cc
|
| index b44fe9b71ec80d0c639edc3cf004f765b2dd5b6c..bf64f6665c79d4c7274a8d016e7ec2116cd617fa 100644
|
| --- a/src/compiler/pipeline.cc
|
| +++ b/src/compiler/pipeline.cc
|
| @@ -397,7 +397,7 @@ Handle<Code> Pipeline::GenerateCode() {
|
| PhaseScope phase_scope(pipeline_statistics.get(), "change lowering");
|
| SourcePositionTable::Scope pos(data.source_positions(),
|
| SourcePosition::Unknown());
|
| - Linkage linkage(info());
|
| + Linkage linkage(data.graph_zone(), info());
|
| ValueNumberingReducer vn_reducer(data.graph_zone());
|
| SimplifiedOperatorReducer simple_reducer(data.jsgraph());
|
| ChangeLowering lowering(data.jsgraph(), &linkage);
|
| @@ -452,7 +452,7 @@ Handle<Code> Pipeline::GenerateCode() {
|
| Handle<Code> code = Handle<Code>::null();
|
| {
|
| // Generate optimized code.
|
| - Linkage linkage(info());
|
| + Linkage linkage(data.instruction_zone(), info());
|
| code = GenerateCode(&linkage, &data);
|
| info()->SetCode(code);
|
| }
|
| @@ -552,14 +552,13 @@ Handle<Code> Pipeline::GenerateCode(Linkage* linkage, PipelineData* data) {
|
| {
|
| int node_count = sequence.VirtualRegisterCount();
|
| if (node_count > UnallocatedOperand::kMaxVirtualRegisters) {
|
| - linkage->info()->AbortOptimization(kNotEnoughVirtualRegistersForValues);
|
| + info()->AbortOptimization(kNotEnoughVirtualRegistersForValues);
|
| return Handle<Code>::null();
|
| }
|
| ZonePool::Scope zone_scope(data->zone_pool());
|
| - RegisterAllocator allocator(zone_scope.zone(), &frame, linkage->info(),
|
| - &sequence);
|
| + RegisterAllocator allocator(zone_scope.zone(), &frame, info(), &sequence);
|
| if (!allocator.Allocate(data->pipeline_statistics())) {
|
| - linkage->info()->AbortOptimization(kNotEnoughVirtualRegistersRegalloc);
|
| + info()->AbortOptimization(kNotEnoughVirtualRegistersRegalloc);
|
| return Handle<Code>::null();
|
| }
|
| if (FLAG_trace_turbo) {
|
| @@ -582,7 +581,7 @@ Handle<Code> Pipeline::GenerateCode(Linkage* linkage, PipelineData* data) {
|
| Handle<Code> code;
|
| {
|
| PhaseScope phase_scope(data->pipeline_statistics(), "generate code");
|
| - CodeGenerator generator(&frame, linkage, &sequence);
|
| + CodeGenerator generator(&frame, linkage, &sequence, info());
|
| code = generator.GenerateCode();
|
| }
|
| if (profiler_data != NULL) {
|
|
|