| Index: src/debug.h
|
| diff --git a/src/debug.h b/src/debug.h
|
| index 7781d4a0ea63df58d45c9b4a8057531baab4de0b..292aff0800032439efc7cc855841c2a966a4d0e2 100644
|
| --- a/src/debug.h
|
| +++ b/src/debug.h
|
| @@ -235,6 +235,12 @@ class Debug {
|
| void FloodHandlerWithOneShot();
|
| void ChangeBreakOnException(ExceptionBreakType type, bool enable);
|
| bool IsBreakOnException(ExceptionBreakType type);
|
| +
|
| + void PromiseHandlePrologue(Handle<JSFunction> promise_getter);
|
| + void PromiseHandleEpilogue();
|
| + // Returns a promise if it does not have a reject handler.
|
| + Handle<Object> GetPromiseForUncaughtException();
|
| +
|
| void PrepareStep(StepAction step_action,
|
| int step_count,
|
| StackFrame::Id frame_id);
|
| @@ -538,6 +544,14 @@ class Debug {
|
| bool break_on_exception_;
|
| bool break_on_uncaught_exception_;
|
|
|
| + // When a promise is being resolved, we may want to trigger a debug event for
|
| + // the case we catch a throw. For this purpose we remember the try-catch
|
| + // handler address that would catch the exception. We also hold onto a
|
| + // closure that returns a promise if the exception is considered uncaught.
|
| + // Due to the possibility of reentry we use a list to form a stack.
|
| + List<StackHandler*> promise_catch_handlers_;
|
| + List<Handle<JSFunction> > promise_getters_;
|
| +
|
| // Per-thread data.
|
| class ThreadLocal {
|
| public:
|
| @@ -774,9 +788,7 @@ class Debugger {
|
| MUST_USE_RESULT MaybeHandle<Object> MakeScriptCollectedEvent(int id);
|
|
|
| void OnDebugBreak(Handle<Object> break_points_hit, bool auto_continue);
|
| - void OnException(Handle<Object> exception,
|
| - bool uncaught,
|
| - Handle<Object> promise = Handle<Object>::null());
|
| + void OnException(Handle<Object> exception, bool uncaught);
|
| void OnBeforeCompile(Handle<Script> script);
|
|
|
| enum AfterCompileFlags {
|
|
|