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 #include "src/builtins/builtins-promise-gen.h" | 5 #include "src/builtins/builtins-promise-gen.h" |
6 | 6 |
7 #include "src/builtins/builtins-constructor-gen.h" | 7 #include "src/builtins/builtins-constructor-gen.h" |
8 #include "src/builtins/builtins-utils-gen.h" | 8 #include "src/builtins/builtins-utils-gen.h" |
9 #include "src/builtins/builtins.h" | 9 #include "src/builtins/builtins.h" |
10 #include "src/code-factory.h" | 10 #include "src/code-factory.h" |
(...skipping 1316 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1327 Node* const maybe_exception = | 1327 Node* const maybe_exception = |
1328 CallJS(call_callable, context, deferred_on_resolve, | 1328 CallJS(call_callable, context, deferred_on_resolve, |
1329 UndefinedConstant(), var_result.value()); | 1329 UndefinedConstant(), var_result.value()); |
1330 GotoIfException(maybe_exception, &if_rejectpromise, &var_reason); | 1330 GotoIfException(maybe_exception, &if_rejectpromise, &var_reason); |
1331 Goto(&promisehook_after); | 1331 Goto(&promisehook_after); |
1332 } | 1332 } |
1333 } | 1333 } |
1334 | 1334 |
1335 BIND(&if_rejectpromise); | 1335 BIND(&if_rejectpromise); |
1336 { | 1336 { |
1337 Callable promise_handle_reject = CodeFactory::PromiseHandleReject(isolate); | 1337 CallBuiltin(Builtins::kPromiseHandleReject, context, deferred_promise, |
1338 CallStub(promise_handle_reject, context, deferred_promise, | 1338 deferred_on_reject, var_reason.value()); |
1339 deferred_on_reject, var_reason.value()); | |
1340 Goto(&promisehook_after); | 1339 Goto(&promisehook_after); |
1341 } | 1340 } |
1342 | 1341 |
1343 BIND(&promisehook_after); | 1342 BIND(&promisehook_after); |
1344 { | 1343 { |
1345 GotoIfNot(IsPromiseHookEnabledOrDebugIsActive(), &debug_pop); | 1344 GotoIfNot(IsPromiseHookEnabledOrDebugIsActive(), &debug_pop); |
1346 CallRuntime(Runtime::kPromiseHookAfter, context, deferred_promise); | 1345 CallRuntime(Runtime::kPromiseHookAfter, context, deferred_promise); |
1347 Goto(&debug_pop); | 1346 Goto(&debug_pop); |
1348 } | 1347 } |
1349 | 1348 |
(...skipping 464 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1814 CSA_ASSERT(this, HasInstanceType(result_promise, JS_PROMISE_TYPE)); | 1813 CSA_ASSERT(this, HasInstanceType(result_promise, JS_PROMISE_TYPE)); |
1815 | 1814 |
1816 InternalPerformPromiseThen(context, promise, resolve_reaction, | 1815 InternalPerformPromiseThen(context, promise, resolve_reaction, |
1817 reject_reaction, result_promise, | 1816 reject_reaction, result_promise, |
1818 UndefinedConstant(), UndefinedConstant()); | 1817 UndefinedConstant(), UndefinedConstant()); |
1819 Return(result_promise); | 1818 Return(result_promise); |
1820 } | 1819 } |
1821 | 1820 |
1822 } // namespace internal | 1821 } // namespace internal |
1823 } // namespace v8 | 1822 } // namespace v8 |
OLD | NEW |