| Index: src/compiler.cc
|
| diff --git a/src/compiler.cc b/src/compiler.cc
|
| index e4a30dbbcedf92b5134755fd3dec41f100f49406..86374371e9b81de642cb528ad2b9a89e76c2c7f1 100644
|
| --- a/src/compiler.cc
|
| +++ b/src/compiler.cc
|
| @@ -746,8 +746,10 @@ static void InstallCodeCommon(CompilationInfo* info) {
|
|
|
| static void InsertCodeIntoOptimizedCodeMap(CompilationInfo* info) {
|
| Handle<Code> code = info->code();
|
| - Handle<JSFunction> function = info->closure();
|
| - if (FLAG_cache_optimized_code && code->kind() == Code::OPTIMIZED_FUNCTION) {
|
| + if (FLAG_cache_optimized_code &&
|
| + info->osr_ast_id().IsNone() &&
|
| + code->kind() == Code::OPTIMIZED_FUNCTION) {
|
| + Handle<JSFunction> function = info->closure();
|
| Handle<SharedFunctionInfo> shared(function->shared());
|
| Handle<FixedArray> literals(function->literals());
|
| Handle<Context> native_context(function->context()->native_context());
|
| @@ -758,7 +760,9 @@ static void InsertCodeIntoOptimizedCodeMap(CompilationInfo* info) {
|
|
|
|
|
| static bool InstallCodeFromOptimizedCodeMap(CompilationInfo* info) {
|
| - if (FLAG_cache_optimized_code && info->IsOptimizing()) {
|
| + if (FLAG_cache_optimized_code &&
|
| + info->osr_ast_id().IsNone() &&
|
| + info->IsOptimizing()) {
|
| Handle<SharedFunctionInfo> shared = info->shared_info();
|
| Handle<JSFunction> function = info->closure();
|
| ASSERT(!function.is_null());
|
|
|