Chromium Code Reviews| 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; |
| } |