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

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

Issue 2590373002: [builtins] Add ReturnReceiver builtin (Closed)
Patch Set: remvoe prototype from name 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 unified diff | Download patch
« src/builtins/builtins-promise.cc ('K') | « src/heap-symbols.h ('k') | 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
11 // ------------------------------------------------------------------- 11 // -------------------------------------------------------------------
12 // Imports 12 // Imports
13 13
14 var InternalArray = utils.InternalArray; 14 var InternalArray = utils.InternalArray;
15 var promiseAsyncStackIDSymbol = 15 var promiseAsyncStackIDSymbol =
16 utils.ImportNow("promise_async_stack_id_symbol"); 16 utils.ImportNow("promise_async_stack_id_symbol");
17 var promiseHandledBySymbol = 17 var promiseHandledBySymbol =
18 utils.ImportNow("promise_handled_by_symbol"); 18 utils.ImportNow("promise_handled_by_symbol");
19 var promiseForwardingHandlerSymbol = 19 var promiseForwardingHandlerSymbol =
20 utils.ImportNow("promise_forwarding_handler_symbol"); 20 utils.ImportNow("promise_forwarding_handler_symbol");
21 var promiseHandledHintSymbol = 21 var promiseHandledHintSymbol =
22 utils.ImportNow("promise_handled_hint_symbol"); 22 utils.ImportNow("promise_handled_hint_symbol");
23 var promiseRawSymbol = utils.ImportNow("promise_raw_symbol"); 23 var promiseRawSymbol = utils.ImportNow("promise_raw_symbol");
24 var promiseStateSymbol = utils.ImportNow("promise_state_symbol"); 24 var promiseStateSymbol = utils.ImportNow("promise_state_symbol");
25 var promiseResultSymbol = utils.ImportNow("promise_result_symbol"); 25 var promiseResultSymbol = utils.ImportNow("promise_result_symbol");
26 var SpeciesConstructor;
27 var speciesSymbol = utils.ImportNow("species_symbol");
28 var toStringTagSymbol = utils.ImportNow("to_string_tag_symbol"); 26 var toStringTagSymbol = utils.ImportNow("to_string_tag_symbol");
29 var ObjectHasOwnProperty; 27 var ObjectHasOwnProperty;
30 var GlobalPromise = global.Promise; 28 var GlobalPromise = global.Promise;
31 var PromiseThen = GlobalPromise.prototype.then; 29 var PromiseThen = GlobalPromise.prototype.then;
32 30
33 utils.Import(function(from) { 31 utils.Import(function(from) {
34 ObjectHasOwnProperty = from.ObjectHasOwnProperty; 32 ObjectHasOwnProperty = from.ObjectHasOwnProperty;
35 SpeciesConstructor = from.SpeciesConstructor;
36 }); 33 });
37 34
38 // ------------------------------------------------------------------- 35 // -------------------------------------------------------------------
39 36
40 // Core functionality. 37 // Core functionality.
41 38
42 function PromiseDebugGetInfo(deferreds, status) { 39 function PromiseDebugGetInfo(deferreds, status) {
43 var id, name, instrumenting = DEBUG_IS_ACTIVE; 40 var id, name, instrumenting = DEBUG_IS_ACTIVE;
44 41
45 if (instrumenting) { 42 if (instrumenting) {
(...skipping 290 matching lines...) Expand 10 before | Expand all | Expand 10 after
336 // This function also traverses dependencies of one Promise on another, 333 // This function also traverses dependencies of one Promise on another,
337 // set up through async/await and Promises resolved with Promises. 334 // set up through async/await and Promises resolved with Promises.
338 function PromiseHasUserDefinedRejectHandler() { 335 function PromiseHasUserDefinedRejectHandler() {
339 return PromiseHasUserDefinedRejectHandlerRecursive(this); 336 return PromiseHasUserDefinedRejectHandlerRecursive(this);
340 }; 337 };
341 338
342 function MarkPromiseAsHandled(promise) { 339 function MarkPromiseAsHandled(promise) {
343 %PromiseMarkAsHandled(promise); 340 %PromiseMarkAsHandled(promise);
344 } 341 }
345 342
346
347 function PromiseSpecies() {
348 return this;
349 }
350
351 // ------------------------------------------------------------------- 343 // -------------------------------------------------------------------
352 // Install exported functions. 344 // Install exported functions.
353 345
354 utils.InstallFunctions(GlobalPromise, DONT_ENUM, [ 346 utils.InstallFunctions(GlobalPromise, DONT_ENUM, [
355 "reject", PromiseReject, 347 "reject", PromiseReject,
356 "all", PromiseAll, 348 "all", PromiseAll,
357 "race", PromiseRace, 349 "race", PromiseRace,
358 "resolve", PromiseResolve 350 "resolve", PromiseResolve
359 ]); 351 ]);
360 352
361 utils.InstallGetter(GlobalPromise, speciesSymbol, PromiseSpecies);
362
363 %SetCode(GlobalPromise.prototype.catch, PromiseCatch); 353 %SetCode(GlobalPromise.prototype.catch, PromiseCatch);
364 354
365 %InstallToContext([ 355 %InstallToContext([
366 "promise_catch", GlobalPromise.prototype.catch, 356 "promise_catch", GlobalPromise.prototype.catch,
367 "promise_create", PromiseCreate, 357 "promise_create", PromiseCreate,
368 "promise_has_user_defined_reject_handler", PromiseHasUserDefinedRejectHandler, 358 "promise_has_user_defined_reject_handler", PromiseHasUserDefinedRejectHandler,
369 "promise_reject", DoRejectPromise, 359 "promise_reject", DoRejectPromise,
370 // TODO(gsathya): Remove this once we update the promise builtin. 360 // TODO(gsathya): Remove this once we update the promise builtin.
371 "promise_internal_reject", RejectPromise, 361 "promise_internal_reject", RejectPromise,
372 "promise_debug_get_info", PromiseDebugGetInfo, 362 "promise_debug_get_info", PromiseDebugGetInfo,
(...skipping 14 matching lines...) Expand all
387 377
388 utils.Export(function(to) { 378 utils.Export(function(to) {
389 to.PromiseCreate = PromiseCreate; 379 to.PromiseCreate = PromiseCreate;
390 to.PromiseThen = PromiseThen; 380 to.PromiseThen = PromiseThen;
391 381
392 to.CreateInternalPromiseCapability = CreateInternalPromiseCapability; 382 to.CreateInternalPromiseCapability = CreateInternalPromiseCapability;
393 to.RejectPromise = RejectPromise; 383 to.RejectPromise = RejectPromise;
394 }); 384 });
395 385
396 }) 386 })
OLDNEW
« src/builtins/builtins-promise.cc ('K') | « src/heap-symbols.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698