| Index: src/isolate.h
|
| diff --git a/src/isolate.h b/src/isolate.h
|
| index fcb629eb3febf3eee8f5e997b3e09837895fb602..80c3daea746f6c6704c88ef58386cd469b4dacc8 100644
|
| --- a/src/isolate.h
|
| +++ b/src/isolate.h
|
| @@ -687,7 +687,7 @@ class Isolate {
|
| bool OptionalRescheduleException(bool is_bottom_call);
|
|
|
| // Push and pop a promise and the current try-catch handler.
|
| - void PushPromise(Handle<JSObject> promise);
|
| + void PushPromise(Handle<JSObject> promise, Handle<JSFunction> function);
|
| void PopPromise();
|
| Handle<Object> GetPromiseOnStackOnThrow();
|
|
|
| @@ -764,11 +764,12 @@ class Isolate {
|
| // clears and returns the current pending exception.
|
| Object* FindHandler();
|
|
|
| - // Tries to predict whether the exception will be caught. Note that this can
|
| + // Tries to predict whether an exception will be caught. Note that this can
|
| // only produce an estimate, because it is undecidable whether a finally
|
| // clause will consume or re-throw an exception. We conservatively assume any
|
| // finally clause will behave as if the exception were consumed.
|
| - bool PredictWhetherExceptionIsCaught(Object* exception);
|
| + enum CatchType { NOT_CAUGHT, CAUGHT_BY_JAVASCRIPT, CAUGHT_BY_EXTERNAL };
|
| + CatchType PredictExceptionCatcher();
|
|
|
| void ScheduleThrow(Object* exception);
|
| // Re-set pending message, script and positions reported to the TryCatch
|
| @@ -1370,15 +1371,15 @@ class Isolate {
|
|
|
| class PromiseOnStack {
|
| public:
|
| - PromiseOnStack(StackHandler* handler, Handle<JSObject> promise,
|
| + PromiseOnStack(Handle<JSFunction> function, Handle<JSObject> promise,
|
| PromiseOnStack* prev)
|
| - : handler_(handler), promise_(promise), prev_(prev) {}
|
| - StackHandler* handler() { return handler_; }
|
| + : function_(function), promise_(promise), prev_(prev) {}
|
| + Handle<JSFunction> function() { return function_; }
|
| Handle<JSObject> promise() { return promise_; }
|
| PromiseOnStack* prev() { return prev_; }
|
|
|
| private:
|
| - StackHandler* handler_;
|
| + Handle<JSFunction> function_;
|
| Handle<JSObject> promise_;
|
| PromiseOnStack* prev_;
|
| };
|
|
|