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

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

Issue 2611313002: [complier] Enable parallel eager inner function compilation with compiler dispatcher. (Closed)
Patch Set: Created 3 years, 11 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
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 2ca26011bb5646dbacef9b725ac015d2de52af5c..2f8567f54951a794809b4a67d41f96d30a926748 100644
--- a/src/compiler-dispatcher/compiler-dispatcher-job.cc
+++ b/src/compiler-dispatcher/compiler-dispatcher-job.cc
@@ -26,7 +26,8 @@ CompilerDispatcherJob::CompilerDispatcherJob(Isolate* isolate,
CompilerDispatcherTracer* tracer,
Handle<SharedFunctionInfo> shared,
size_t max_stack_size)
- : isolate_(isolate),
+ : status_(CompileJobStatus::kInitial),
+ isolate_(isolate),
tracer_(tracer),
shared_(Handle<SharedFunctionInfo>::cast(
isolate_->global_handles()->Create(*shared))),
@@ -34,7 +35,6 @@ CompilerDispatcherJob::CompilerDispatcherJob(Isolate* isolate,
can_compile_on_background_thread_(false),
trace_compiler_dispatcher_jobs_(FLAG_trace_compiler_dispatcher_jobs) {
HandleScope scope(isolate_);
- DCHECK(!shared_->outer_scope_info()->IsTheHole(isolate_));
Handle<Script> script(Script::cast(shared_->script()), isolate_);
Handle<String> source(String::cast(script->source()), isolate_);
can_parse_on_background_thread_ =
@@ -46,6 +46,35 @@ CompilerDispatcherJob::CompilerDispatcherJob(Isolate* isolate,
}
}
+CompilerDispatcherJob::CompilerDispatcherJob(Isolate* isolate,
+ CompilerDispatcherTracer* tracer,
+ Zone* zone, ParseInfo* parse_info,
+ CompilationInfo* compile_info,
+ CompilationJob* job,
+ size_t max_stack_size)
+ : status_(CompileJobStatus::kReadyToCompile),
+ isolate_(isolate),
+ tracer_(tracer),
+ shared_(Handle<SharedFunctionInfo>::cast(
+ isolate_->global_handles()->Create(*compile_info->shared_info()))),
+ max_stack_size_(max_stack_size),
+ zone_(zone),
+ parse_info_(parse_info),
+ compile_info_(compile_info),
+ compile_job_(job),
+ can_parse_on_background_thread_(false),
+ can_compile_on_background_thread_(
+ job->can_execute_on_background_thread()),
+ trace_compiler_dispatcher_jobs_(FLAG_trace_compiler_dispatcher_jobs) {
+ DCHECK_EQ(zone, parse_info->zone());
+ DCHECK_EQ(parse_info, compile_info->parse_info());
+ if (trace_compiler_dispatcher_jobs_) {
+ PrintF("CompilerDispatcherJob[%p] created for ", static_cast<void*>(this));
+ shared_->ShortPrint();
+ PrintF("\n");
+ }
+}
+
CompilerDispatcherJob::~CompilerDispatcherJob() {
DCHECK(ThreadId::Current().Equals(isolate_->thread_id()));
DCHECK(status_ == CompileJobStatus::kInitial ||

Powered by Google App Engine
This is Rietveld 408576698