| Index: runtime/vm/debugger.h
|
| diff --git a/runtime/vm/debugger.h b/runtime/vm/debugger.h
|
| index 63de2f5a8eb04449823f520dd128a77409da83a6..9bf4d969dfa8ffd4eb96a81274ec0ac9c8b92a34 100644
|
| --- a/runtime/vm/debugger.h
|
| +++ b/runtime/vm/debugger.h
|
| @@ -361,6 +361,8 @@ class ActivationFrame : public ZoneAllocated {
|
| RawObject* GetAsyncCompleter();
|
| void ExtractTokenPositionFromAsyncClosure();
|
|
|
| + bool IsAsyncMachinery() const;
|
| +
|
| static const char* KindToCString(Kind kind) {
|
| switch (kind) {
|
| case kRegular:
|
| @@ -715,6 +717,12 @@ class Debugger {
|
| const Code& code,
|
| intptr_t post_deopt_frame_index);
|
|
|
| + void ResetSteppingFramePointers();
|
| + bool SteppedForSyntheticAsyncBreakpoint() const;
|
| + void CleanupSyntheticAsyncBreakpoint();
|
| + void RememberTopFrameAwaiter();
|
| + void SetAsyncSteppingFramePointer();
|
| +
|
| Isolate* isolate_;
|
| Dart_Port isolate_id_; // A unique ID for the isolate in the debugger.
|
| bool initialized_;
|
| @@ -754,6 +762,9 @@ class Debugger {
|
| // frame corresponds to this fp value, or if the top frame is
|
| // lower on the stack.
|
| uword stepping_fp_;
|
| + // Used to track the current async/async* function.
|
| + uword async_stepping_fp_;
|
| + RawObject* top_frame_awaiter_;
|
|
|
| // If we step while at a breakpoint, we would hit the same pc twice.
|
| // We use this field to let us skip the next single-step after a
|
|
|