Index: src/runtime.cc |
diff --git a/src/runtime.cc b/src/runtime.cc |
index 54bb61a0bb93044481c2378ade39e34135bdce2a..31e44a4f8f2e000e75f116c878405c120110b8db 100644 |
--- a/src/runtime.cc |
+++ b/src/runtime.cc |
@@ -54,7 +54,7 @@ |
#include "runtime-profiler.h" |
#include "runtime.h" |
#include "scopeinfo.h" |
-#include "smart-array-pointer.h" |
+#include "smart-pointers.h" |
#include "string-search.h" |
#include "stub-cache.h" |
#include "v8threads.h" |
@@ -8292,6 +8292,14 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_LazyRecompile) { |
} |
+RUNTIME_FUNCTION(MaybeObject*, Runtime_ParallelRecompile) { |
+ HandleScope handle_scope(isolate); |
+ ASSERT(FLAG_parallel_recompilation); |
+ Compiler::RecompileParallel(args.at<JSFunction>(0)); |
+ return *isolate->factory()->undefined_value(); |
+} |
+ |
+ |
class ActivationsFinder : public ThreadVisitor { |
public: |
explicit ActivationsFinder(JSFunction* function) |
@@ -8486,6 +8494,11 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_GetOptimizationStatus) { |
return Smi::FromInt(4); // 4 == "never". |
} |
CONVERT_ARG_HANDLE_CHECKED(JSFunction, function, 0); |
+ if (FLAG_parallel_recompilation) { |
+ if (function->IsMarkedForLazyRecompilation()) { |
+ return Smi::FromInt(5); |
+ } |
+ } |
if (FLAG_always_opt) { |
// We may have always opt, but that is more best-effort than a real |
// promise, so we still say "no" if it is not optimized. |