| Index: src/runtime.cc
|
| diff --git a/src/runtime.cc b/src/runtime.cc
|
| index 0516c9c2ab0f1a90acf6dbfb920ef1c21a3d0572..1d0bf183ecf0d2b028353c745ed961fab2c40a47 100644
|
| --- a/src/runtime.cc
|
| +++ b/src/runtime.cc
|
| @@ -8089,13 +8089,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();
|
|
|