Index: src/debug/debug.cc |
diff --git a/src/debug/debug.cc b/src/debug/debug.cc |
index 28d22f3ff79c39c9f9cd55cbae4de1b5ae5ae626..4114e757409d7484d705d9693090964e052d8628 100644 |
--- a/src/debug/debug.cc |
+++ b/src/debug/debug.cc |
@@ -1148,13 +1148,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(); |
+ } |
} |
} |
@@ -1196,7 +1198,6 @@ |
for (Handle<JSFunction> const function : functions) { |
function->ReplaceCode(shared->code()); |
- JSFunction::EnsureLiterals(function); |
} |
for (Handle<JSGeneratorObject> const generator_obj : suspended_generators) { |