Index: src/debug/debug.cc |
diff --git a/src/debug/debug.cc b/src/debug/debug.cc |
index 03d632be3638b9acb3b7bb1e262bbd750194b2b9..347d9b6b6d668b3fcea88460947a4755a4269fd8 100644 |
--- a/src/debug/debug.cc |
+++ b/src/debug/debug.cc |
@@ -1127,13 +1127,15 @@ |
List<Handle<JSFunction> > functions; |
List<Handle<JSGeneratorObject> > suspended_generators; |
- // Flush all optimized code. Note that the below heap iteration does not |
+ // Flush all optimized code maps. Note that the below heap iteration does not |
// cover this, because the given function might have been inlined into code |
// for which no JSFunction exists. |
{ |
SharedFunctionInfo::Iterator iterator(isolate_); |
while (SharedFunctionInfo* shared = iterator.Next()) { |
- shared->ClearCodeFromOptimizedCodeMap(); |
+ if (!shared->OptimizedCodeMapIsCleared()) { |
+ shared->ClearOptimizedCodeMap(); |
+ } |
} |
} |
@@ -1175,7 +1177,6 @@ |
for (Handle<JSFunction> const function : functions) { |
function->ReplaceCode(shared->code()); |
- JSFunction::EnsureLiterals(function); |
} |
for (Handle<JSGeneratorObject> const generator_obj : suspended_generators) { |