Reviewers: Jakob,

Description:
Fix test failures.


[email protected]
BUG=


Please review this at https://chromiumcodereview.appspot.com/11414030/

SVN Base: https://v8.googlecode.com/svn/branches/bleeding_edge

Affected files:
  M src/compiler.cc
  M src/runtime.cc
  M test/mjsunit/manual-parallel-recompile.js


Index: src/compiler.cc
diff --git a/src/compiler.cc b/src/compiler.cc
index 4250de18c9459dd5bb8ba387c7204b81f1618473..82a3e7c80312803dd99b0868cfc488c8622448e8 100644
--- a/src/compiler.cc
+++ b/src/compiler.cc
@@ -864,7 +864,10 @@ void Compiler::RecompileParallel(Handle<JSFunction> closure) {
   {
     CompilationHandleScope handle_scope(*info);

-    if (InstallCodeFromOptimizedCodeMap(*info)) return;
+    if (!FLAG_manual_parallel_recompilation &&
+        InstallCodeFromOptimizedCodeMap(*info)) {
+      return;
+    }

     if (ParserApi::Parse(*info, kNoParsingFlags)) {
       LanguageMode language_mode = info->function()->language_mode();
Index: src/runtime.cc
diff --git a/src/runtime.cc b/src/runtime.cc
index 825bd5be312a47e263cf6bd92afa1b363619dece..567a90ba7689d6543f06e6aa566c7f32dfe552bc 100644
--- a/src/runtime.cc
+++ b/src/runtime.cc
@@ -8013,14 +8013,10 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_InstallRecompiledCode) {
   if (!V8::UseCrankshaft()) return isolate->heap()->undefined_value();
   HandleScope handle_scope(isolate);
ASSERT(FLAG_parallel_recompilation && FLAG_manual_parallel_recompilation);
-  CONVERT_ARG_HANDLE_CHECKED(HeapObject, arg, 0);
+  CONVERT_ARG_HANDLE_CHECKED(JSFunction, fun, 0);
OptimizingCompilerThread* opt_thread = isolate->optimizing_compiler_thread();
-  if (!arg->IsJSFunction()) {
-    opt_thread->InstallOptimizedFunctions();
-  } else if (!JSFunction::cast(*arg)->IsOptimized()) {
-    Handle<SharedFunctionInfo> shared(JSFunction::cast(*arg)->shared());
-    while (*opt_thread->InstallNextOptimizedFunction() != *shared) { }
-  }
+  Handle<SharedFunctionInfo> shared(fun->shared());
+  while (*opt_thread->InstallNextOptimizedFunction() != *shared) { }
   return isolate->heap()->undefined_value();
 }

Index: test/mjsunit/manual-parallel-recompile.js
diff --git a/test/mjsunit/manual-parallel-recompile.js b/test/mjsunit/manual-parallel-recompile.js index 7eb26960396f4f60c6df045cf1775b08c75a68ad..26b160537bca389c265923136fde6c6b49b93e10 100644
--- a/test/mjsunit/manual-parallel-recompile.js
+++ b/test/mjsunit/manual-parallel-recompile.js
@@ -75,6 +75,5 @@ assertUnoptimized(g);
 assertOptimized(f);
 assertUnoptimized(g);

-%InstallRecompiledCode("the rest");
+%InstallRecompiledCode(g);
 assertOptimized(g);
-


--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev

Reply via email to