| Index: src/runtime.cc
|
| diff --git a/src/runtime.cc b/src/runtime.cc
|
| index 61eb8ad72a30ff6dd34ae4410c1bca3a644cca00..fefe1e46844afb06f030832e58452b60eddbfda1 100644
|
| --- a/src/runtime.cc
|
| +++ b/src/runtime.cc
|
| @@ -8523,6 +8523,10 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_NotifyDeoptimized) {
|
| PrintF("]\n");
|
| }
|
| function->ReplaceCode(function->shared()->code());
|
| + // Evict optimized code for this function from the cache so that it
|
| + // doesn't get used for new closures.
|
| + function->shared()->EvictFromOptimizedCodeMap(*optimized_code,
|
| + "notify deoptimized");
|
| }
|
| } else {
|
| // TODO(titzer): we should probably do DeoptimizeCodeList(code)
|
| @@ -8530,10 +8534,6 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_NotifyDeoptimized) {
|
| // If there is an index by shared function info, all the better.
|
| Deoptimizer::DeoptimizeFunction(*function);
|
| }
|
| - // Evict optimized code for this function from the cache so that it doesn't
|
| - // get used for new closures.
|
| - function->shared()->EvictFromOptimizedCodeMap(
|
| - function->context()->native_context(), "notify deoptimized");
|
|
|
| return isolate->heap()->undefined_value();
|
| }
|
|
|