Index: src/factory.cc |
diff --git a/src/factory.cc b/src/factory.cc |
index c10111aaa1ea93ff77c032717a28bedc2116da49..a4ce986e2b00d00313a3502be92d3034fe5ab565 100644 |
--- a/src/factory.cc |
+++ b/src/factory.cc |
@@ -748,7 +748,10 @@ Handle<JSFunction> Factory::NewFunctionFromSharedFunctionInfo( |
if (index > 0) { |
// Caching of optimized code enabled and optimized code found. |
- function_info->InstallFromOptimizedCodeMap(*result, index); |
+ FixedArray* literals = |
+ function_info->GetLiteralsFromOptimizedCodeMap(index); |
+ if (literals != NULL) result->set_literals(literals); |
+ result->ReplaceCode(function_info->GetCodeFromOptimizedCodeMap(index)); |
return result; |
} |
@@ -759,7 +762,7 @@ Handle<JSFunction> Factory::NewFunctionFromSharedFunctionInfo( |
function_info->allows_lazy_compilation() && |
!function_info->optimization_disabled() && |
!isolate()->DebuggerHasBreakPoints()) { |
- result->MarkForLazyRecompilation(); |
+ result->MarkForCompileOptimized(); |
titzer
2013/12/09 14:49:28
MarkForCompileOptimized reads weird...why not mark
Yang
2013/12/10 11:22:04
Done. We only optimize if we have unoptimized code
|
} |
return result; |
} |