| Index: src/runtime.cc
|
| diff --git a/src/runtime.cc b/src/runtime.cc
|
| index eccf6ea4c8c762a98b23b8690e7a52c9b072b75c..a1f465f400c552f1d9e1209c28f8739b8eb2bb8e 100644
|
| --- a/src/runtime.cc
|
| +++ b/src/runtime.cc
|
| @@ -8097,13 +8097,15 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_OptimizeFunctionOnNextCall) {
|
| }
|
|
|
|
|
| -RUNTIME_FUNCTION(MaybeObject*, Runtime_WaitUntilOptimized) {
|
| +RUNTIME_FUNCTION(MaybeObject*, Runtime_CompleteOptimization) {
|
| HandleScope scope(isolate);
|
| ASSERT(args.length() == 1);
|
| CONVERT_ARG_HANDLE_CHECKED(JSFunction, function, 0);
|
| - if (FLAG_parallel_recompilation) {
|
| - if (V8::UseCrankshaft() && function->IsOptimizable()) {
|
| - while (!function->IsOptimized()) OS::Sleep(50);
|
| + 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);
|
| }
|
| }
|
| return isolate->heap()->undefined_value();
|
|
|