Index: src/compiler-dispatcher/compiler-dispatcher-job.cc |
diff --git a/src/compiler-dispatcher/compiler-dispatcher-job.cc b/src/compiler-dispatcher/compiler-dispatcher-job.cc |
index 6bbb1835f5d68cc26bdab8ba7d71f12dd9368d0e..dfa3a926cf407062a78c5e483971f124ffdabd25 100644 |
--- a/src/compiler-dispatcher/compiler-dispatcher-job.cc |
+++ b/src/compiler-dispatcher/compiler-dispatcher-job.cc |
@@ -95,9 +95,8 @@ |
shared_(Handle<SharedFunctionInfo>::cast( |
isolate_->global_handles()->Create(*shared))), |
max_stack_size_(max_stack_size), |
- zone_(new Zone(isolate->allocator(), ZONE_NAME)), |
- parse_info_(new ParseInfo( |
- zone_.get(), Handle<Script>(Script::cast(shared->script())))), |
+ parse_info_( |
+ new ParseInfo(Handle<Script>(Script::cast(shared->script())))), |
compile_info_( |
new CompilationInfo(parse_info_.get(), Handle<JSFunction>::null())), |
trace_compiler_dispatcher_jobs_(FLAG_trace_compiler_dispatcher_jobs) { |
@@ -134,11 +133,11 @@ |
} |
HandleScope scope(isolate_); |
unicode_cache_.reset(new UnicodeCache()); |
- zone_.reset(new Zone(isolate_->allocator(), ZONE_NAME)); |
Handle<Script> script(Script::cast(shared_->script()), isolate_); |
DCHECK(script->type() != Script::TYPE_NATIVE); |
Handle<String> source(String::cast(script->source()), isolate_); |
+ parse_info_.reset(new ParseInfo(isolate_->allocator())); |
if (source->IsExternalTwoByteString() || source->IsExternalOneByteString()) { |
character_stream_.reset(ScannerStream::For( |
source, shared_->start_position(), shared_->end_position())); |
@@ -169,7 +168,7 @@ |
offset = shared_->start_position(); |
int byte_len = length * (source->IsOneByteRepresentation() ? 1 : 2); |
- data = zone_->New(byte_len); |
+ data = parse_info_->zone()->New(byte_len); |
DisallowHeapAllocation no_allocation; |
String::FlatContent content = source->GetFlatContent(); |
@@ -207,7 +206,6 @@ |
ScannerStream::For(wrapper_, shared_->start_position() - offset, |
shared_->end_position() - offset)); |
} |
- parse_info_.reset(new ParseInfo(zone_.get())); |
parse_info_->set_isolate(isolate_); |
parse_info_->set_character_stream(character_stream_.get()); |
parse_info_->set_hash_seed(isolate_->heap()->HashSeed()); |
@@ -393,7 +391,6 @@ |
return false; |
} |
- zone_.reset(); |
compile_job_.reset(); |
compile_info_.reset(); |
handles_from_parsing_.reset(); |
@@ -417,7 +414,6 @@ |
character_stream_.reset(); |
handles_from_parsing_.reset(); |
parse_info_.reset(); |
- zone_.reset(); |
if (!source_.is_null()) { |
i::GlobalHandles::Destroy(Handle<Object>::cast(source_).location()); |