Index: src/debug/debug.h |
diff --git a/src/debug/debug.h b/src/debug/debug.h |
index 2cdc1515a6368b174556c3b3057313bcc2658c2b..3e6b384356ac9230a50cf86cebdc6eccecbbd8b5 100644 |
--- a/src/debug/debug.h |
+++ b/src/debug/debug.h |
@@ -456,6 +456,7 @@ class Debug { |
// Stepping handling. |
void PrepareStep(StepAction step_action); |
void PrepareStepIn(Handle<JSFunction> function); |
+ void PrepareStepInSuspendedGenerator(); |
void PrepareStepOnThrow(); |
void ClearStepping(); |
void ClearStepOut(); |
@@ -463,6 +464,8 @@ class Debug { |
bool PrepareFunctionForBreakPoints(Handle<SharedFunctionInfo> shared); |
+ void RecordAsyncFunction(Handle<JSGeneratorObject> generator_object); |
+ |
// Returns whether the operation succeeded. Compilation can only be triggered |
// if a valid closure is passed as the second argument, otherwise the shared |
// function needs to be compiled already. |
@@ -497,6 +500,7 @@ class Debug { |
char* RestoreDebug(char* from); |
static int ArchiveSpacePerThread(); |
void FreeThreadResources() { } |
+ void Iterate(ObjectVisitor* v); |
bool CheckExecutionState(int id) { |
return is_active() && !debug_context().is_null() && break_id() != 0 && |
@@ -544,6 +548,10 @@ class Debug { |
return reinterpret_cast<Address>(&thread_local_.step_in_enabled_); |
} |
+ Address suspended_generator_address() { |
+ return reinterpret_cast<Address>(&thread_local_.suspended_generator_); |
+ } |
+ |
StepAction last_step_action() { return thread_local_.last_step_action_; } |
DebugFeatureTracker* feature_tracker() { return &feature_tracker_; } |
@@ -564,6 +572,14 @@ class Debug { |
return break_disabled_ || in_debug_event_listener_; |
} |
+ void clear_suspended_generator() { |
+ thread_local_.suspended_generator_ = Smi::FromInt(0); |
+ } |
+ |
+ bool has_suspended_generator() const { |
+ return thread_local_.suspended_generator_ != Smi::FromInt(0); |
+ } |
+ |
void OnException(Handle<Object> exception, Handle<Object> promise); |
// Constructors for debug event objects. |
@@ -687,6 +703,8 @@ class Debug { |
// Value of accumulator in interpreter frames. In non-interpreter frames |
// this value will be the hole. |
Handle<Object> return_value_; |
+ |
+ Object* suspended_generator_; |
}; |
// Storage location for registers when handling debug break calls |