diff options
Diffstat (limited to 'deps/v8/src/compiler.cc')
-rw-r--r-- | deps/v8/src/compiler.cc | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/deps/v8/src/compiler.cc b/deps/v8/src/compiler.cc index 2272337739..c9c2480fa2 100644 --- a/deps/v8/src/compiler.cc +++ b/deps/v8/src/compiler.cc @@ -531,6 +531,10 @@ Handle<SharedFunctionInfo> Compiler::Compile(Handle<String> source, if (extension == NULL && !result.is_null()) { compilation_cache->PutScript(source, result); } + } else { + if (result->ic_age() != HEAP->global_ic_age()) { + result->ResetForNewContext(HEAP->global_ic_age()); + } } if (result.is_null()) isolate->ReportPendingMessages(); @@ -586,6 +590,10 @@ Handle<SharedFunctionInfo> Compiler::CompileEval(Handle<String> source, compilation_cache->PutEval( source, context, is_global, result, scope_position); } + } else { + if (result->ic_age() != HEAP->global_ic_age()) { + result->ResetForNewContext(HEAP->global_ic_age()); + } } return result; |