Index: src/debug/debug.cc |
diff --git a/src/debug/debug.cc b/src/debug/debug.cc |
index 87dd50d300dc6e2911674c61bc98fe380a2f302b..a636879fffb92bcffdd2aaf84f52bfb10b349e73 100644 |
--- a/src/debug/debug.cc |
+++ b/src/debug/debug.cc |
@@ -1176,20 +1176,6 @@ static Address ComputeNewPcForRedirect(Code* new_code, Code* old_code, |
} |
-// Count the number of continuations at which the current pc offset is at. |
-static int ComputeContinuationIndexFromPcOffset(Code* code, int pc_offset) { |
- UNREACHABLE(); |
- return 666; |
-} |
- |
- |
-// Find the pc offset for the given continuation index. |
-static int ComputePcOffsetFromContinuationIndex(Code* code, int index) { |
- UNREACHABLE(); |
- return 666; |
-} |
- |
- |
class RedirectActiveFunctions : public ThreadVisitor { |
public: |
explicit RedirectActiveFunctions(SharedFunctionInfo* shared) |
@@ -1253,7 +1239,6 @@ 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 |
// cover this, because the given function might have been inlined into code |
@@ -1278,10 +1263,6 @@ bool Debug::PrepareFunctionForBreakPoints(Handle<SharedFunctionInfo> shared) { |
// smarter here and avoid the heap walk. |
HeapIterator iterator(isolate_->heap()); |
HeapObject* obj; |
- // Continuation from old-style generators need to be recomputed. |
- // TODO(yangguo): Remove code for old-style generators. |
- bool find_resumables = |
- baseline_exists && IsResumableFunction(shared->kind()); |
while ((obj = iterator.next())) { |
if (obj->IsJSFunction()) { |
@@ -1293,25 +1274,12 @@ bool Debug::PrepareFunctionForBreakPoints(Handle<SharedFunctionInfo> shared) { |
if (baseline_exists && function->shared() == *shared) { |
functions.Add(handle(function)); |
} |
- } else if (find_resumables && obj->IsJSGeneratorObject()) { |
- // This case handles async functions as well, as they use generator |
- // objects for in-progress async function execution. |
- JSGeneratorObject* generator_obj = JSGeneratorObject::cast(obj); |
- if (!generator_obj->is_suspended()) continue; |
- JSFunction* function = generator_obj->function(); |
- if (!function->Inlines(*shared)) continue; |
- int pc_offset = generator_obj->continuation(); |
- int index = |
- ComputeContinuationIndexFromPcOffset(function->code(), pc_offset); |
- generator_obj->set_continuation(index); |
- suspended_generators.Add(handle(generator_obj)); |
} |
} |
} |
// We do not need to replace code to debug bytecode. |
DCHECK(baseline_exists || functions.is_empty()); |
- DCHECK(baseline_exists || suspended_generators.is_empty()); |
// We do not need to recompile to debug bytecode. |
if (baseline_exists && !shared->code()->has_debug_break_slots()) { |
@@ -1323,12 +1291,6 @@ bool Debug::PrepareFunctionForBreakPoints(Handle<SharedFunctionInfo> shared) { |
JSFunction::EnsureLiterals(function); |
} |
- for (Handle<JSGeneratorObject> const generator_obj : suspended_generators) { |
- int index = generator_obj->continuation(); |
- int pc_offset = ComputePcOffsetFromContinuationIndex(shared->code(), index); |
- generator_obj->set_continuation(pc_offset); |
- } |
- |
// Update PCs on the stack to point to recompiled code. |
RedirectActiveFunctions redirect_visitor(*shared); |
redirect_visitor.VisitThread(isolate_, isolate_->thread_local_top()); |