| OLD | NEW |
| 1 // Copyright 2016 the V8 project authors. All rights reserved. | 1 // Copyright 2016 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 12 matching lines...) Expand all Loading... |
| 23 var ResolvePromise; | 23 var ResolvePromise; |
| 24 | 24 |
| 25 utils.Import(function(from) { | 25 utils.Import(function(from) { |
| 26 AsyncFunctionNext = from.AsyncFunctionNext; | 26 AsyncFunctionNext = from.AsyncFunctionNext; |
| 27 AsyncFunctionThrow = from.AsyncFunctionThrow; | 27 AsyncFunctionThrow = from.AsyncFunctionThrow; |
| 28 GlobalPromise = from.GlobalPromise; | 28 GlobalPromise = from.GlobalPromise; |
| 29 IsPromise = from.IsPromise; | 29 IsPromise = from.IsPromise; |
| 30 NewPromiseCapability = from.NewPromiseCapability; | 30 NewPromiseCapability = from.NewPromiseCapability; |
| 31 PerformPromiseThen = from.PerformPromiseThen; | 31 PerformPromiseThen = from.PerformPromiseThen; |
| 32 PromiseCreate = from.PromiseCreate; | 32 PromiseCreate = from.PromiseCreate; |
| 33 PromiseNextMicrotaskID = from.PromiseNextMicrotaskID; | |
| 34 RejectPromise = from.RejectPromise; | 33 RejectPromise = from.RejectPromise; |
| 35 ResolvePromise = from.ResolvePromise; | 34 ResolvePromise = from.ResolvePromise; |
| 36 }); | 35 }); |
| 37 | 36 |
| 38 var promiseAsyncStackIDSymbol = | 37 var promiseAsyncStackIDSymbol = |
| 39 utils.ImportNow("promise_async_stack_id_symbol"); | 38 utils.ImportNow("promise_async_stack_id_symbol"); |
| 40 var promiseHandledBySymbol = | 39 var promiseHandledBySymbol = |
| 41 utils.ImportNow("promise_handled_by_symbol"); | 40 utils.ImportNow("promise_handled_by_symbol"); |
| 42 var promiseForwardingHandlerSymbol = | 41 var promiseForwardingHandlerSymbol = |
| 43 utils.ImportNow("promise_forwarding_handler_symbol"); | 42 utils.ImportNow("promise_forwarding_handler_symbol"); |
| (...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 136 | 135 |
| 137 function AsyncFunctionPromiseCreate() { | 136 function AsyncFunctionPromiseCreate() { |
| 138 var promise = PromiseCreate(); | 137 var promise = PromiseCreate(); |
| 139 if (DEBUG_IS_ACTIVE) { | 138 if (DEBUG_IS_ACTIVE) { |
| 140 // Push the Promise under construction in an async function on | 139 // Push the Promise under construction in an async function on |
| 141 // the catch prediction stack to handle exceptions thrown before | 140 // the catch prediction stack to handle exceptions thrown before |
| 142 // the first await. | 141 // the first await. |
| 143 %DebugPushPromise(promise); | 142 %DebugPushPromise(promise); |
| 144 // Assign ID and create a recurring task to save stack for future | 143 // Assign ID and create a recurring task to save stack for future |
| 145 // resumptions from await. | 144 // resumptions from await. |
| 146 var id = PromiseNextMicrotaskID(); | 145 var id = %DebugNextMicrotaskId(); |
| 147 SET_PRIVATE(promise, promiseAsyncStackIDSymbol, id); | 146 SET_PRIVATE(promise, promiseAsyncStackIDSymbol, id); |
| 148 %DebugAsyncTaskEvent("enqueueRecurring", id, "async function"); | 147 %DebugAsyncTaskEvent("enqueueRecurring", id, "async function"); |
| 149 } | 148 } |
| 150 return promise; | 149 return promise; |
| 151 } | 150 } |
| 152 | 151 |
| 153 function AsyncFunctionPromiseRelease(promise) { | 152 function AsyncFunctionPromiseRelease(promise) { |
| 154 if (DEBUG_IS_ACTIVE) { | 153 if (DEBUG_IS_ACTIVE) { |
| 155 // Cancel | 154 // Cancel |
| 156 var id = GET_PRIVATE(promise, promiseAsyncStackIDSymbol); | 155 var id = GET_PRIVATE(promise, promiseAsyncStackIDSymbol); |
| (...skipping 11 matching lines...) Expand all Loading... |
| 168 | 167 |
| 169 %InstallToContext([ | 168 %InstallToContext([ |
| 170 "async_function_await_caught", AsyncFunctionAwaitCaught, | 169 "async_function_await_caught", AsyncFunctionAwaitCaught, |
| 171 "async_function_await_uncaught", AsyncFunctionAwaitUncaught, | 170 "async_function_await_uncaught", AsyncFunctionAwaitUncaught, |
| 172 "reject_promise_no_debug_event", RejectPromiseNoDebugEvent, | 171 "reject_promise_no_debug_event", RejectPromiseNoDebugEvent, |
| 173 "async_function_promise_create", AsyncFunctionPromiseCreate, | 172 "async_function_promise_create", AsyncFunctionPromiseCreate, |
| 174 "async_function_promise_release", AsyncFunctionPromiseRelease, | 173 "async_function_promise_release", AsyncFunctionPromiseRelease, |
| 175 ]); | 174 ]); |
| 176 | 175 |
| 177 }) | 176 }) |
| OLD | NEW |