Index: src/compiler/pipeline.cc |
diff --git a/src/compiler/pipeline.cc b/src/compiler/pipeline.cc |
index 697086672b396e8709007305b1d4c38e53a42626..5d9676ee16e85828cc4c965c7a115afafed3e0b4 100644 |
--- a/src/compiler/pipeline.cc |
+++ b/src/compiler/pipeline.cc |
@@ -549,8 +549,9 @@ |
// 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()), |
@@ -563,8 +564,9 @@ |
Status FinalizeJobImpl() final; |
private: |
+ Zone zone_; |
+ ZoneStats zone_stats_; |
ParseInfo parse_info_; |
- ZoneStats zone_stats_; |
CompilationInfo info_; |
std::unique_ptr<PipelineStatistics> pipeline_statistics_; |
PipelineData data_; |
@@ -601,8 +603,7 @@ |
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. |