Index: src/arm/deoptimizer-arm.cc |
diff --git a/src/arm/deoptimizer-arm.cc b/src/arm/deoptimizer-arm.cc |
index 41379d53e92f0045d609e4ec8b00227870dd32e9..c2ae5a01ea860ca635b90cdd2107131f07aca272 100644 |
--- a/src/arm/deoptimizer-arm.cc |
+++ b/src/arm/deoptimizer-arm.cc |
@@ -53,14 +53,13 @@ void Deoptimizer::DeoptimizeFunctionWithPreparedFunctionList( |
ASSERT(function->IsOptimized()); |
ASSERT(function->FunctionsInFunctionListShareSameCode()); |
- // The optimized code is going to be patched, so we cannot use it |
- // any more. Play safe and reset the whole cache. |
- function->shared()->ClearOptimizedCodeMap("deoptimized function"); |
- |
// Get the optimized code. |
Code* code = function->code(); |
Address code_start_address = code->instruction_start(); |
+ // The optimized code is going to be patched, so we cannot use it any more. |
+ function->shared()->EvictFromOptimizedCodeMap(code, "deoptimized function"); |
+ |
// Invalidate the relocation information, as it will become invalid by the |
// code patching below, and is not needed any more. |
code->InvalidateRelocation(); |