Index: src/debug/debug.cc |
diff --git a/src/debug/debug.cc b/src/debug/debug.cc |
index 4114e757409d7484d705d9693090964e052d8628..28d22f3ff79c39c9f9cd55cbae4de1b5ae5ae626 100644 |
--- a/src/debug/debug.cc |
+++ b/src/debug/debug.cc |
@@ -1148,15 +1148,13 @@ bool Debug::PrepareFunctionForBreakPoints(Handle<SharedFunctionInfo> shared) { |
List<Handle<JSFunction> > functions; |
List<Handle<JSGeneratorObject> > suspended_generators; |
- // Flush all optimized code maps. Note that the below heap iteration does not |
+ // Flush all optimized code. 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()) { |
- if (!shared->OptimizedCodeMapIsCleared()) { |
- shared->ClearOptimizedCodeMap(); |
- } |
+ shared->ClearCodeFromOptimizedCodeMap(); |
} |
} |
@@ -1198,6 +1196,7 @@ bool Debug::PrepareFunctionForBreakPoints(Handle<SharedFunctionInfo> shared) { |
for (Handle<JSFunction> const function : functions) { |
function->ReplaceCode(shared->code()); |
+ JSFunction::EnsureLiterals(function); |
} |
for (Handle<JSGeneratorObject> const generator_obj : suspended_generators) { |