Lines Matching refs:promise

27                                                                        const JSHandle<JSPromise> &promise)
37 // 3. Set the [[Promise]] internal slot of resolve to promise.
38 resolve->SetPromise(thread, promise);
44 // 6. Set the [[Promise]] internal slot of reject to promise.
45 reject->SetPromise(thread, promise);
55 JSTaggedValue JSPromise::FulfillPromise(JSThread *thread, const JSHandle<JSPromise> &promise,
59 // 1. Assert: the value of promise's [[PromiseState]] internal slot is "pending".
60 ASSERT_PRINT(promise->GetPromiseState() == PromiseState::PENDING, "FulfillPromise: state must be pending");
61 // 2. Let reactions be the value of promise's [[PromiseFulfillReactions]] internal slot.
62 JSHandle<TaggedQueue> reactions(thread, promise->GetPromiseFulfillReactions());
63 // 3. Set the value of promise's [[PromiseResult]] internal slot to value.
64 promise->SetPromiseResult(thread, value);
65 // 4. Set the value of promise's [[PromiseFulfillReactions]] internal slot to undefined.
66 promise->SetPromiseFulfillReactions(thread, globalConst->GetHandledUndefined(), SKIP_BARRIER);
67 // 5. Set the value of promise's [[PromiseRejectReactions]] internal slot to undefined.
68 promise->SetPromiseRejectReactions(thread, globalConst->GetHandledUndefined(), SKIP_BARRIER);
69 // 6. Set the value of promise's [[PromiseState]] internal slot to "fulfilled".
70 promise->SetPromiseState(PromiseState::FULFILLED);
93 // 6. Let promise be Construct(C, «executor»).
94 // 7. ReturnIfAbrupt(promise).
100 JSHandle<JSPromise> promise(thread, result);
112 // 10. Set promiseCapability.[[Promise]] to promise.
113 promiseCapability->SetPromise(thread, promise);
132 JSTaggedValue JSPromise::RejectPromise(JSThread *thread, const JSHandle<JSPromise> &promise,
136 // 1. Assert: the value of promise's [[PromiseState]] internal slot is "pending".
137 ASSERT_PRINT(promise->GetPromiseState() == PromiseState::PENDING, "RejectPromise: state must be pending");
138 // 2. Let reactions be the value of promise's [[PromiseRejectReactions]] internal slot.
139 JSHandle<TaggedQueue> reactions(thread, TaggedQueue::Cast(promise->GetPromiseRejectReactions().GetTaggedObject()));
140 // 3. Set the value of promise's [[PromiseResult]] internal slot to reason.
141 promise->SetPromiseResult(thread, reason);
142 // 4. Set the value of promise's [[PromiseFulfillReactions]] internal slot to undefined.
143 promise->SetPromiseFulfillReactions(thread, globalConst->GetHandledUndefined(), SKIP_BARRIER);
144 // 5. Set the value of promise's [[PromiseRejectReactions]] internal slot to undefined.
145 promise->SetPromiseRejectReactions(thread, globalConst->GetHandledUndefined(), SKIP_BARRIER);
146 // 6. Set the value of promise's [[PromiseState]] internal slot to "rejected".
147 promise->SetPromiseState(PromiseState::REJECTED);
148 // 7. When a promise is rejected without any handlers, it is called with its operation argument set to "reject".
149 if (!promise->GetPromiseIsHandled()) {
150 thread->GetCurrentEcmaContext()->PromiseRejectionTracker(promise, reason, PromiseRejectionEvent::REJECT);