Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2002)

Unified Diff: src/compiler-dispatcher/compiler-dispatcher.cc

Issue 2650883002: Reland: [Compiler] Enable handles created during parsing and scope analysis to be deferred. (Closed)
Patch Set: Remove unused variable Created 3 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « src/compiler-dispatcher/compiler-dispatcher.h ('k') | src/compiler-dispatcher/compiler-dispatcher-job.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 ");
« no previous file with comments | « src/compiler-dispatcher/compiler-dispatcher.h ('k') | src/compiler-dispatcher/compiler-dispatcher-job.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698