Index: src/compiler-dispatcher/compiler-dispatcher.cc |
diff --git a/src/compiler-dispatcher/compiler-dispatcher.cc b/src/compiler-dispatcher/compiler-dispatcher.cc |
index 4070e8b8b0e43b678ab95bb2a923d8969b67f0ed..38ebf8c15681ab0132117780221c827669fba03b 100644 |
--- a/src/compiler-dispatcher/compiler-dispatcher.cc |
+++ b/src/compiler-dispatcher/compiler-dispatcher.cc |
@@ -262,6 +262,21 @@ bool CompilerDispatcher::Enqueue(Handle<SharedFunctionInfo> function) { |
return true; |
} |
+bool CompilerDispatcher::EnqueueAndStep(Handle<SharedFunctionInfo> function) { |
+ if (!Enqueue(function)) return false; |
+ |
+ if (trace_compiler_dispatcher_) { |
+ PrintF("CompilerDispatcher: stepping "); |
+ function->ShortPrint(); |
+ PrintF("\n"); |
+ } |
+ JobMap::const_iterator job = GetJobFor(function); |
+ DoNextStepOnMainThread(isolate_, job->second.get(), |
+ ExceptionHandling::kSwallow); |
+ ConsiderJobForBackgroundProcessing(job->second.get()); |
+ return true; |
+} |
+ |
bool CompilerDispatcher::IsEnabled() const { |
v8::Isolate* v8_isolate = reinterpret_cast<v8::Isolate*>(isolate_); |
return FLAG_compiler_dispatcher && platform_->IdleTasksEnabled(v8_isolate); |