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

Side by Side Diff: src/js/promise.js

Issue 2442373002: [promises] remove if kPending check (Closed)
Patch Set: Created 4 years, 1 month 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 unified diff | Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2012 the V8 project authors. All rights reserved. 1 // Copyright 2012 the V8 project authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 (function(global, utils, extrasUtils) { 5 (function(global, utils, extrasUtils) {
6 6
7 "use strict"; 7 "use strict";
8 8
9 %CheckIsBootstrapping(); 9 %CheckIsBootstrapping();
10 10
(...skipping 125 matching lines...) Expand 10 before | Expand all | Expand 10 after
136 // If debug is active, notify about the newly created promise first. 136 // If debug is active, notify about the newly created promise first.
137 if (DEBUG_IS_ACTIVE) PromiseSet(promise, kPending, UNDEFINED); 137 if (DEBUG_IS_ACTIVE) PromiseSet(promise, kPending, UNDEFINED);
138 return PromiseSet(promise, status, value); 138 return PromiseSet(promise, status, value);
139 } 139 }
140 140
141 function PromiseInit(promise) { 141 function PromiseInit(promise) {
142 return PromiseSet(promise, kPending, UNDEFINED); 142 return PromiseSet(promise, kPending, UNDEFINED);
143 } 143 }
144 144
145 function FulfillPromise(promise, status, value, promiseQueue) { 145 function FulfillPromise(promise, status, value, promiseQueue) {
146 if (GET_PRIVATE(promise, promiseStateSymbol) === kPending) { 146 var tasks = GET_PRIVATE(promise, promiseQueue);
147 var tasks = GET_PRIVATE(promise, promiseQueue); 147 if (!IS_UNDEFINED(tasks)) {
148 if (!IS_UNDEFINED(tasks)) { 148 var deferred = GET_PRIVATE(promise, promiseDeferredReactionSymbol);
149 var deferred = GET_PRIVATE(promise, promiseDeferredReactionSymbol); 149 PromiseEnqueue(value, tasks, deferred, status);
150 PromiseEnqueue(value, tasks, deferred, status);
151 }
152 PromiseSet(promise, status, value);
153 } 150 }
151 PromiseSet(promise, status, value);
154 } 152 }
155 153
156 function PromiseHandle(value, handler, deferred) { 154 function PromiseHandle(value, handler, deferred) {
157 var debug_is_active = DEBUG_IS_ACTIVE; 155 var debug_is_active = DEBUG_IS_ACTIVE;
158 try { 156 try {
159 if (debug_is_active) %DebugPushPromise(deferred.promise); 157 if (debug_is_active) %DebugPushPromise(deferred.promise);
160 var result = handler(value); 158 var result = handler(value);
161 if (IS_UNDEFINED(deferred.resolve)) { 159 if (IS_UNDEFINED(deferred.resolve)) {
162 ResolvePromise(deferred.promise, result); 160 ResolvePromise(deferred.promise, result);
163 } else { 161 } else {
(...skipping 513 matching lines...) Expand 10 before | Expand all | Expand 10 after
677 to.PromiseThen = PromiseThen; 675 to.PromiseThen = PromiseThen;
678 676
679 to.GlobalPromise = GlobalPromise; 677 to.GlobalPromise = GlobalPromise;
680 to.NewPromiseCapability = NewPromiseCapability; 678 to.NewPromiseCapability = NewPromiseCapability;
681 to.PerformPromiseThen = PerformPromiseThen; 679 to.PerformPromiseThen = PerformPromiseThen;
682 to.ResolvePromise = ResolvePromise; 680 to.ResolvePromise = ResolvePromise;
683 to.RejectPromise = RejectPromise; 681 to.RejectPromise = RejectPromise;
684 }); 682 });
685 683
686 }) 684 })
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698