Index: src/isolate.cc |
diff --git a/src/isolate.cc b/src/isolate.cc |
index d875ec2a358ec16363799afd1833c3a2f3d3b6d1..8979a7b479312fe0797c5bfefcc1015029f44750 100644 |
--- a/src/isolate.cc |
+++ b/src/isolate.cc |
@@ -3227,6 +3227,7 @@ void Isolate::PromiseReactionJob(Handle<PromiseReactionJobInfo> info, |
MaybeHandle<Object>* maybe_exception) { |
PromiseDebugEventScope helper(this, info->debug_id(), info->debug_name()); |
+ Handle<JSPromise> promise(info->promise(), this); |
Handle<Object> value(info->value(), this); |
Handle<Object> tasks(info->tasks(), this); |
Handle<JSFunction> promise_handle_fn = promise_handle(); |
@@ -3238,7 +3239,7 @@ void Isolate::PromiseReactionJob(Handle<PromiseReactionJobInfo> info, |
Handle<FixedArray> deferred_arr = Handle<FixedArray>::cast(deferred); |
Handle<FixedArray> tasks_arr = Handle<FixedArray>::cast(tasks); |
for (int i = 0; i < deferred_arr->length(); i++) { |
- Handle<Object> argv[] = {value, handle(tasks_arr->get(i), this), |
+ Handle<Object> argv[] = {promise, value, handle(tasks_arr->get(i), this), |
handle(deferred_arr->get(i), this)}; |
*result = Execution::TryCall(this, promise_handle_fn, undefined, |
arraysize(argv), argv, maybe_exception); |
@@ -3248,7 +3249,7 @@ void Isolate::PromiseReactionJob(Handle<PromiseReactionJobInfo> info, |
} |
} |
} else { |
- Handle<Object> argv[] = {value, tasks, deferred}; |
+ Handle<Object> argv[] = {promise, value, tasks, deferred}; |
*result = Execution::TryCall(this, promise_handle_fn, undefined, |
arraysize(argv), argv, maybe_exception); |
} |