| Index: src/compiler/pipeline.cc
|
| diff --git a/src/compiler/pipeline.cc b/src/compiler/pipeline.cc
|
| index 5233045f1b7cc94263e3f752b1cb3553c2858cc3..786a24cb1bd716ac8e9a68eaad3a720e3476c245 100644
|
| --- a/src/compiler/pipeline.cc
|
| +++ b/src/compiler/pipeline.cc
|
| @@ -54,7 +54,7 @@ namespace compiler {
|
| class PipelineData {
|
| public:
|
| explicit PipelineData(ZonePool* zone_pool, CompilationInfo* info)
|
| - : isolate_(info->zone()->isolate()),
|
| + : isolate_(info->isolate()),
|
| info_(info),
|
| outer_zone_(nullptr),
|
| zone_pool_(zone_pool),
|
| @@ -96,9 +96,9 @@ class PipelineData {
|
| InstructionSelector::SupportedMachineOperatorFlags());
|
| common_ = new (graph_zone()) CommonOperatorBuilder(graph_zone());
|
| javascript_ = new (graph_zone()) JSOperatorBuilder(graph_zone());
|
| - jsgraph_ =
|
| - new (graph_zone()) JSGraph(graph(), common(), javascript(), machine());
|
| - typer_.Reset(new Typer(graph(), info()->context()));
|
| + jsgraph_ = new (graph_zone())
|
| + JSGraph(info()->isolate(), graph(), common(), javascript(), machine());
|
| + typer_.Reset(new Typer(info()->isolate(), graph(), info()->context()));
|
| instruction_zone_ = instruction_zone_scope_.zone();
|
| }
|
|
|
| @@ -197,8 +197,8 @@ class PipelineData {
|
| InstructionBlocks* instruction_blocks =
|
| InstructionSequence::InstructionBlocksFor(instruction_zone(),
|
| schedule());
|
| - sequence_ = new (instruction_zone())
|
| - InstructionSequence(instruction_zone(), instruction_blocks);
|
| + sequence_ = new (instruction_zone()) InstructionSequence(
|
| + info()->isolate(), instruction_zone(), instruction_blocks);
|
| }
|
|
|
| void InitializeRegisterAllocator(Zone* local_zone,
|
| @@ -924,10 +924,11 @@ Handle<Code> Pipeline::GenerateCodeForTesting(CompilationInfo* info,
|
| }
|
|
|
|
|
| -Handle<Code> Pipeline::GenerateCodeForTesting(CallDescriptor* call_descriptor,
|
| +Handle<Code> Pipeline::GenerateCodeForTesting(Isolate* isolate,
|
| + CallDescriptor* call_descriptor,
|
| Graph* graph,
|
| Schedule* schedule) {
|
| - CompilationInfo info(graph->zone()->isolate(), graph->zone());
|
| + CompilationInfo info(isolate, graph->zone());
|
| return GenerateCodeForTesting(&info, call_descriptor, graph, schedule);
|
| }
|
|
|
| @@ -950,7 +951,7 @@ Handle<Code> Pipeline::GenerateCodeForTesting(CompilationInfo* info,
|
| TraceSchedule(schedule);
|
| }
|
|
|
| - Linkage linkage(info->zone(), call_descriptor);
|
| + Linkage linkage(info->isolate(), info->zone(), call_descriptor);
|
| pipeline.GenerateCode(&linkage);
|
| Handle<Code> code = data.code();
|
|
|
| @@ -968,8 +969,8 @@ Handle<Code> Pipeline::GenerateCodeForTesting(CompilationInfo* info,
|
| bool Pipeline::AllocateRegistersForTesting(const RegisterConfiguration* config,
|
| InstructionSequence* sequence,
|
| bool run_verifier) {
|
| - CompilationInfo info(sequence->zone()->isolate(), sequence->zone());
|
| - ZonePool zone_pool(sequence->zone()->isolate());
|
| + CompilationInfo info(sequence->isolate(), sequence->zone());
|
| + ZonePool zone_pool(sequence->isolate());
|
| PipelineData data(&zone_pool, &info);
|
| data.InitializeTorTesting(sequence);
|
| Pipeline pipeline(&info);
|
| @@ -1044,7 +1045,7 @@ void Pipeline::AllocateRegisters(const RegisterConfiguration* config,
|
| SmartPointer<Zone> verifier_zone;
|
| RegisterAllocatorVerifier* verifier = nullptr;
|
| if (run_verifier) {
|
| - verifier_zone.Reset(new Zone(info()->isolate()));
|
| + verifier_zone.Reset(new Zone());
|
| verifier = new (verifier_zone.get()) RegisterAllocatorVerifier(
|
| verifier_zone.get(), config, data->sequence());
|
| }
|
|
|