| Index: src/compiler-dispatcher/compiler-dispatcher.cc
|
| diff --git a/src/compiler-dispatcher/compiler-dispatcher.cc b/src/compiler-dispatcher/compiler-dispatcher.cc
|
| index 4f137c687e1da1f2d1a4890f018250245b0c6792..b1c5b9d9d012b9bbeb2529f1c1de823d554d0fa6 100644
|
| --- a/src/compiler-dispatcher/compiler-dispatcher.cc
|
| +++ b/src/compiler-dispatcher/compiler-dispatcher.cc
|
| @@ -287,8 +287,11 @@ bool CompilerDispatcher::EnqueueAndStep(Handle<SharedFunctionInfo> function) {
|
| return true;
|
| }
|
|
|
| -bool CompilerDispatcher::Enqueue(Handle<SharedFunctionInfo> function,
|
| - FunctionLiteral* literal) {
|
| +bool CompilerDispatcher::Enqueue(
|
| + Handle<SharedFunctionInfo> function, FunctionLiteral* literal,
|
| + std::shared_ptr<Zone> parse_zone,
|
| + std::shared_ptr<DeferredHandles> parse_handles,
|
| + std::shared_ptr<DeferredHandles> compile_handles) {
|
| if (!CanEnqueue(function)) return false;
|
| if (IsEnqueued(function)) return true;
|
|
|
| @@ -299,7 +302,8 @@ bool CompilerDispatcher::Enqueue(Handle<SharedFunctionInfo> function,
|
| }
|
|
|
| std::unique_ptr<CompilerDispatcherJob> job(new CompilerDispatcherJob(
|
| - isolate_, tracer_.get(), function, literal, max_stack_size_));
|
| + isolate_, tracer_.get(), function, literal, parse_zone, parse_handles,
|
| + compile_handles, max_stack_size_));
|
| std::pair<int, int> key(Script::cast(function->script())->id(),
|
| function->function_literal_id());
|
| jobs_.insert(std::make_pair(key, std::move(job)));
|
| @@ -307,9 +311,14 @@ bool CompilerDispatcher::Enqueue(Handle<SharedFunctionInfo> function,
|
| return true;
|
| }
|
|
|
| -bool CompilerDispatcher::EnqueueAndStep(Handle<SharedFunctionInfo> function,
|
| - FunctionLiteral* literal) {
|
| - if (!Enqueue(function, literal)) return false;
|
| +bool CompilerDispatcher::EnqueueAndStep(
|
| + Handle<SharedFunctionInfo> function, FunctionLiteral* literal,
|
| + std::shared_ptr<Zone> parse_zone,
|
| + std::shared_ptr<DeferredHandles> parse_handles,
|
| + std::shared_ptr<DeferredHandles> compile_handles) {
|
| + if (!Enqueue(function, literal, parse_zone, parse_handles, compile_handles)) {
|
| + return false;
|
| + }
|
|
|
| if (trace_compiler_dispatcher_) {
|
| PrintF("CompilerDispatcher: stepping ");
|
|
|