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(); |
} |