Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(10)

Unified Diff: src/js/async-await.js

Issue 2590563003: [promises] Remove deferred object (Closed)
Patch Set: add comments Created 4 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: src/js/async-await.js
diff --git a/src/js/async-await.js b/src/js/async-await.js
index 5c9c4b5ceba4931aded31ef3d98ac27502415718..41abacda9fe4f09dd460083177ce0ae0207ed5b8 100644
--- a/src/js/async-await.js
+++ b/src/js/async-await.js
@@ -13,7 +13,6 @@
var AsyncFunctionNext;
var AsyncFunctionThrow;
-var CreateInternalPromiseCapability;
var PromiseCreate;
var PromiseNextMicrotaskID;
var RejectPromise;
@@ -21,7 +20,6 @@ var RejectPromise;
utils.Import(function(from) {
AsyncFunctionNext = from.AsyncFunctionNext;
AsyncFunctionThrow = from.AsyncFunctionThrow;
- CreateInternalPromiseCapability = from.CreateInternalPromiseCapability;
PromiseCreate = from.PromiseCreate;
RejectPromise = from.RejectPromise;
});
@@ -42,7 +40,7 @@ function PromiseCastResolved(value) {
if (%is_promise(value)) {
return value;
} else {
- var promise = PromiseCreate();
+ var promise = PromiseCreate(UNDEFINED);
%promise_resolve(promise, value);
return promise;
}
@@ -81,12 +79,11 @@ function AsyncFunctionAwait(generator, awaited, outerPromise) {
return;
}
- // Just forwarding the exception, so no debugEvent for throwawayCapability.
- var throwawayCapability = CreateInternalPromiseCapability(promise);
+ var throwawayPromise = PromiseCreate(promise);
// The Promise will be thrown away and not handled, but it shouldn't trigger
// unhandled reject events as its work is done
- %PromiseMarkAsHandled(throwawayCapability.promise);
+ %PromiseMarkAsHandled(throwawayPromise);
if (DEBUG_IS_ACTIVE) {
if (%is_promise(awaited)) {
@@ -97,11 +94,10 @@ function AsyncFunctionAwait(generator, awaited, outerPromise) {
// Mark the dependency to outerPromise in case the throwaway Promise is
// found on the Promise stack
- SET_PRIVATE(throwawayCapability.promise, promiseHandledBySymbol,
- outerPromise);
+ SET_PRIVATE(throwawayPromise, promiseHandledBySymbol, outerPromise);
}
- %perform_promise_then(promise, onFulfilled, onRejected, throwawayCapability);
+ %perform_promise_then(promise, onFulfilled, onRejected, throwawayPromise);
}
// Called by the parser from the desugaring of 'await' when catch
« src/builtins/builtins-promise.cc ('K') | « src/isolate.cc ('k') | src/js/promise.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698