Index: src/runtime.cc |
diff --git a/src/runtime.cc b/src/runtime.cc |
index a1f465f400c552f1d9e1209c28f8739b8eb2bb8e..eccf6ea4c8c762a98b23b8690e7a52c9b072b75c 100644 |
--- a/src/runtime.cc |
+++ b/src/runtime.cc |
@@ -8097,15 +8097,13 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_OptimizeFunctionOnNextCall) { |
} |
-RUNTIME_FUNCTION(MaybeObject*, Runtime_CompleteOptimization) { |
+RUNTIME_FUNCTION(MaybeObject*, Runtime_WaitUntilOptimized) { |
HandleScope scope(isolate); |
ASSERT(args.length() == 1); |
CONVERT_ARG_HANDLE_CHECKED(JSFunction, function, 0); |
- if (FLAG_parallel_recompilation && V8::UseCrankshaft()) { |
- // While function is in optimization pipeline, it is marked with builtins. |
- while (function->code()->kind() == Code::BUILTIN) { |
- isolate->optimizing_compiler_thread()->InstallOptimizedFunctions(); |
- OS::Sleep(50); |
+ if (FLAG_parallel_recompilation) { |
+ if (V8::UseCrankshaft() && function->IsOptimizable()) { |
+ while (!function->IsOptimized()) OS::Sleep(50); |
} |
} |
return isolate->heap()->undefined_value(); |