| 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 8f21c93272639b7b0114825b56fb2cea429dd85b..fdb975a5e419fde3427a53514cc5a8730ec33694 100644
|
| --- a/src/compiler-dispatcher/compiler-dispatcher-job.cc
|
| +++ b/src/compiler-dispatcher/compiler-dispatcher-job.cc
|
| @@ -105,11 +105,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()));
|
| @@ -140,7 +140,7 @@
|
| offset = shared_->start_position();
|
|
|
| int byte_len = length * (source->IsOneByteRepresentation() ? 1 : 2);
|
| - data = parse_info_->zone()->New(byte_len);
|
| + data = zone_->New(byte_len);
|
|
|
| DisallowHeapAllocation no_allocation;
|
| String::FlatContent content = source->GetFlatContent();
|
| @@ -178,6 +178,7 @@
|
| 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());
|
| @@ -350,6 +351,7 @@
|
| return false;
|
| }
|
|
|
| + zone_.reset();
|
| parse_info_.reset();
|
| compile_info_.reset();
|
| compile_job_.reset();
|
| @@ -373,6 +375,7 @@
|
| handles_from_parsing_.reset();
|
| compile_info_.reset();
|
| compile_job_.reset();
|
| + zone_.reset();
|
|
|
| if (!source_.is_null()) {
|
| i::GlobalHandles::Destroy(Handle<Object>::cast(source_).location());
|
|
|