Index: src/compiler/pipeline.cc |
diff --git a/src/compiler/pipeline.cc b/src/compiler/pipeline.cc |
index 628fe4198aeedf6adf5cd8de93e86573ffc83773..8ef8c538b4663e0931626b565f147f8c79afd50b 100644 |
--- a/src/compiler/pipeline.cc |
+++ b/src/compiler/pipeline.cc |
@@ -550,8 +550,9 @@ class PipelineCompilationJob final : public CompilationJob { |
// Note that the CompilationInfo is not initialized at the time we pass it |
// to the CompilationJob constructor, but it is not dereferenced there. |
: CompilationJob(isolate, &info_, "TurboFan"), |
- parse_info_(handle(function->shared())), |
+ zone_(isolate->allocator(), ZONE_NAME), |
zone_stats_(isolate->allocator()), |
+ parse_info_(&zone_, handle(function->shared())), |
info_(&parse_info_, function), |
pipeline_statistics_(CreatePipelineStatistics(info(), &zone_stats_)), |
data_(&zone_stats_, info(), pipeline_statistics_.get()), |
@@ -564,8 +565,9 @@ class PipelineCompilationJob final : public CompilationJob { |
Status FinalizeJobImpl() final; |
private: |
- ParseInfo parse_info_; |
+ Zone zone_; |
ZoneStats zone_stats_; |
+ ParseInfo parse_info_; |
CompilationInfo info_; |
std::unique_ptr<PipelineStatistics> pipeline_statistics_; |
PipelineData data_; |
@@ -602,8 +604,7 @@ PipelineCompilationJob::Status PipelineCompilationJob::PrepareJobImpl() { |
info()->MarkAsInliningEnabled(); |
} |
- linkage_ = new (info()->zone()) |
- Linkage(Linkage::ComputeIncoming(info()->zone(), info())); |
+ linkage_ = new (&zone_) Linkage(Linkage::ComputeIncoming(&zone_, info())); |
if (!pipeline_.CreateGraph()) { |
if (isolate()->has_pending_exception()) return FAILED; // Stack overflowed. |