Lines Matching refs:Node
16 typedef compiler::Node Node;
20 Node* PromiseBuiltinsAssembler::AllocateJSPromise(Node* context) {
21 Node* const native_context = LoadNativeContext(context);
22 Node* const promise_fun =
24 Node* const initial_map =
26 Node* const instance = AllocateJSObjectFromMap(initial_map);
30 void PromiseBuiltinsAssembler::PromiseInit(Node* promise) {
36 Node* PromiseBuiltinsAssembler::AllocateAndInitJSPromise(Node* context) {
40 Node* PromiseBuiltinsAssembler::AllocateAndInitJSPromise(Node* context,
41 Node* parent) {
42 Node* const instance = AllocateJSPromise(context);
54 Node* PromiseBuiltinsAssembler::AllocateAndSetJSPromise(Node* context,
55 Node* status,
56 Node* result) {
59 Node* const instance = AllocateJSPromise(context);
76 std::pair<Node*, Node*>
78 Node* promise, Node* debug_event, Node* native_context) {
79 Node* const promise_context = CreatePromiseResolvingFunctionsContext(
81 Node* const map = LoadContextElement(
83 Node* const resolve_info =
85 Node* const resolve =
87 Node* const reject_info =
89 Node* const reject =
94 Node* PromiseBuiltinsAssembler::NewPromiseCapability(Node* context,
95 Node* constructor,
96 Node* debug_event) {
101 Node* native_context = LoadNativeContext(context);
103 Node* map = LoadRoot(Heap::kJSPromiseCapabilityMapRootIndex);
104 Node* capability = AllocateJSObjectFromMap(map);
125 Node* promise = AllocateJSPromise(context);
130 Node* resolve = nullptr;
131 Node* reject = nullptr;
147 Node* executor_context =
149 Node* executor_info = LoadContextElement(
151 Node* function_map = LoadContextElement(
153 Node* executor = AllocateFunctionWithMapAndContext(
156 Node* promise = ConstructJS(CodeFactory::Construct(isolate()), context,
159 Node* resolve =
164 Node* reject =
174 Node* message = SmiConstant(MessageTemplate::kPromiseNonCallable);
189 Node* PromiseBuiltinsAssembler::CreatePromiseContext(Node* native_context,
193 Node* const context = Allocate(FixedArray::SizeFor(slots));
198 Node* const empty_fn =
210 Node* PromiseBuiltinsAssembler::CreatePromiseResolvingFunctionsContext(
211 Node* promise, Node* debug_event, Node* native_context) {
212 Node* const context =
221 Node* PromiseBuiltinsAssembler::CreatePromiseGetCapabilitiesExecutorContext(
222 Node* promise_capability, Node* native_context) {
224 Node* context = CreatePromiseContext(native_context, kContextLength);
230 Node* PromiseBuiltinsAssembler::ThrowIfNotJSReceiver(
231 Node* context, Node* value, MessageTemplate::Template msg_template,
240 Node* const value_instance_type = LoadMapInstanceType(var_value_map.value());
247 Node* const method =
252 Node* const message_id = SmiConstant(msg_template);
261 Node* PromiseBuiltinsAssembler::PromiseHasHandler(Node* promise) {
262 Node* const flags = LoadObjectField(promise, JSPromise::kFlagsOffset);
266 void PromiseBuiltinsAssembler::PromiseSetHasHandler(Node* promise) {
267 Node* const flags = LoadObjectField(promise, JSPromise::kFlagsOffset);
268 Node* const new_flags =
273 void PromiseBuiltinsAssembler::PromiseSetHandledHint(Node* promise) {
274 Node* const flags = LoadObjectField(promise, JSPromise::kFlagsOffset);
275 Node* const new_flags =
280 Node* PromiseBuiltinsAssembler::SpeciesConstructor(Node* context, Node* object,
281 Node* default_constructor) {
287 Node* const constructor_str =
290 Node* const constructor =
302 Node* const species_symbol =
304 Node* const species =
313 Node* species_bitfield = LoadMapBitField(LoadMap(species));
324 Node* const message_id =
334 void PromiseBuiltinsAssembler::AppendPromiseCallback(int offset, Node* promise,
335 Node* value) {
336 Node* elements = LoadObjectField(promise, offset);
337 Node* length = LoadFixedArrayBaseLength(elements);
341 Node* delta = IntPtrOrSmiConstant(1, mode);
342 Node* new_capacity = IntPtrOrSmiAdd(length, delta, mode);
350 Node* new_elements = AllocateFixedArray(kind, new_capacity, mode, flags);
360 Node* PromiseBuiltinsAssembler::InternalPromiseThen(Node* context,
361 Node* promise,
362 Node* on_resolve,
363 Node* on_reject) {
370 Node* const native_context = LoadNativeContext(context);
371 Node* const promise_fun =
375 Node* constructor = SpeciesConstructor(context, promise, promise_fun);
390 Node* const deferred_promise = AllocateAndInitJSPromise(context, promise);
399 Node* const capability = NewPromiseCapability(context, constructor);
412 Node* const result = InternalPerformPromiseThen(
418 Node* PromiseBuiltinsAssembler::InternalPerformPromiseThen(
419 Node* context, Node* promise, Node* on_resolve, Node* on_reject,
420 Node* deferred_promise, Node* deferred_on_resolve,
421 Node* deferred_on_reject) {
434 Node* const on_resolve_map = LoadMap(on_resolve);
440 Node* const default_resolve_handler_symbol = HeapConstant(
451 Node* const on_reject_map = LoadMap(on_reject);
457 Node* const default_reject_handler_symbol = HeapConstant(
467 Node* const status = LoadObjectField(promise, JSPromise::kStatusOffset);
471 Node* const existing_deferred_promise =
504 Node* const deferred_promise_arr =
510 Node* const deferred_on_resolve_arr =
517 Node* const deferred_on_reject_arr =
524 Node* const fulfill_reactions =
531 Node* const reject_reactions =
571 Node* const result = LoadObjectField(promise, JSPromise::kResultOffset);
575 Node* info = AllocatePromiseReactionJobInfo(
584 Node* const has_handler = PromiseHasHandler(promise);
594 Node* info = AllocatePromiseReactionJobInfo(
615 void PromiseBuiltinsAssembler::BranchIfFastPath(Node* context, Node* promise,
618 Node* const native_context = LoadNativeContext(context);
619 Node* const promise_fun =
625 void PromiseBuiltinsAssembler::BranchIfFastPath(Node* native_context,
626 Node* promise_fun,
627 Node* promise,
636 Node* const map = LoadMap(promise);
637 Node* const initial_map =
639 Node* const has_initialmap = WordEqual(map, initial_map);
643 Node* const initial_proto_initial_map =
645 Node* const proto_map = LoadMap(LoadMapPrototype(map));
646 Node* const proto_has_initialmap =
652 Node* PromiseBuiltinsAssembler::AllocatePromiseResolveThenableJobInfo(
653 Node* thenable, Node* then, Node* resolve, Node* reject, Node* context) {
654 Node* const info = Allocate(PromiseResolveThenableJobInfo::kSize);
670 void PromiseBuiltinsAssembler::InternalResolvePromise(Node* context,
671 Node* promise,
672 Node* result) {
695 Node* const native_context = LoadNativeContext(context);
696 Node* const promise_fun =
706 Node* const thenable_status =
708 Node* const thenable_value =
718 Node* const then =
740 Node* const has_handler = PromiseHasHandler(result);
760 Node* const then_str = HeapConstant(isolate->factory()->then_string());
762 Node* const then =
770 Node* const then_map = LoadMap(then);
781 Node* resolve = nullptr;
782 Node* reject = nullptr;
786 Node* const info = AllocatePromiseResolveThenableJobInfo(
796 Node* const key =
820 Node* const message_id = SmiConstant(MessageTemplate::kPromiseCyclic);
821 Node* const error =
840 Node* context, Node* promise, Node* result,
844 Node* const status_smi = SmiConstant(static_cast<int>(status));
845 Node* const deferred_promise =
850 Node* const tasks =
855 Node* const deferred_on_resolve =
857 Node* const deferred_on_reject =
860 Node* const info = AllocatePromiseReactionJobInfo(
893 Node* context, Node* native_context, Node* promise_constructor,
894 Node* executor, Label* if_noaccess) {
905 Node* executor_type = LoadInstanceType(var_executor.value());
919 Node* function_context =
921 Node* native_function_context = LoadNativeContext(function_context);
937 void PromiseBuiltinsAssembler::InternalPromiseReject(Node* context,
938 Node* promise, Node* value,
939 Node* debug_event) {
952 void PromiseBuiltinsAssembler::InternalPromiseReject(Node* context,
953 Node* promise, Node* value,
986 Node* const value = Parameter(1);
987 Node* const context = Parameter(4);
994 Node* const has_already_visited =
1005 Node* const promise =
1007 Node* const debug_event =
1018 Node* const executor = Parameter(1);
1019 Node* const new_target = Parameter(2);
1020 Node* const context = Parameter(4);
1031 Node* const executor_map = LoadMap(executor);
1034 Node* const native_context = LoadNativeContext(context);
1035 Node* const promise_fun =
1037 Node* const is_debug_active = IsDebugActive();
1054 Node* const instance = AllocateAndInitJSPromise(context);
1062 Node* const instance = constructor_assembler.EmitFastNewObject(
1084 Node *resolve, *reject;
1089 Node* const maybe_exception = CallJS(call_callable, context, executor,
1115 Node* const message_id = SmiConstant(MessageTemplate::kNotAPromise);
1123 Node* const message_id =
1132 Node* const counter_id =
1140 Node* const parent = Parameter(1);
1141 Node* const context = Parameter(4);
1146 Node* const maybe_promise = Parameter(1);
1151 Node* const result =
1163 Node* const promise = Parameter(0);
1164 Node* const on_resolve = Parameter(1);
1165 Node* const on_reject = Parameter(2);
1166 Node* const context = Parameter(5);
1168 Node* const result =
1176 Node* const value = Parameter(1);
1177 Node* const context = Parameter(4);
1184 Node* const has_already_visited =
1195 Node* const promise =
1206 Node* const promise = Parameter(1);
1207 Node* const result = Parameter(2);
1208 Node* const context = Parameter(5);
1217 Node* const promise = Parameter(Descriptor::kPromise);
1218 Node* const on_reject = Parameter(Descriptor::kOnReject);
1219 Node* const exception = Parameter(Descriptor::kException);
1220 Node* const context = Parameter(Descriptor::kContext);
1242 Node* const value = Parameter(1);
1243 Node* const handler = Parameter(2);
1244 Node* const deferred_promise = Parameter(3);
1245 Node* const deferred_on_resolve = Parameter(4);
1246 Node* const deferred_on_reject = Parameter(5);
1247 Node* const context = Parameter(8);
1252 Node* const is_debug_active = IsDebugActive();
1278 Node* const default_resolve_handler_symbol = HeapConstant(
1300 Node* const result =
1315 Node* const maybe_exception =
1355 Node* const promise = Parameter(0);
1356 Node* const on_resolve = UndefinedConstant();
1357 Node* const on_reject = Parameter(1);
1358 Node* const context = Parameter(4);
1366 Node* const result =
1374 Node* const then_str = HeapConstant(isolate->factory()->then_string());
1376 Node* const then =
1379 Node* const result =
1387 Node* receiver = Parameter(0);
1388 Node* value = Parameter(1);
1389 Node* context = Parameter(4);
1407 Node* const native_context = LoadNativeContext(context);
1408 Node* const promise_fun =
1425 Node* const constructor_str =
1428 Node* const constructor =
1449 Node* const result = AllocateAndInitJSPromise(context);
1457 Node* const capability = NewPromiseCapability(context, receiver);
1461 Node* const resolve =
1466 Node* const result =
1474 Node* const resolve = Parameter(1);
1475 Node* const reject = Parameter(2);
1476 Node* const context = Parameter(5);
1478 Node* const capability = LoadContextElement(context, kCapabilitySlot);
1496 Node* message = SmiConstant(MessageTemplate::kPromiseExecutorAlreadyInvoked);
1502 Node* constructor = Parameter(1);
1503 Node* debug_event = Parameter(2);
1504 Node* context = Parameter(5);
1513 Node* const receiver = Parameter(0);
1514 Node* const reason = Parameter(1);
1515 Node* const context = Parameter(4);
1522 Node* const native_context = LoadNativeContext(context);
1523 Node* const promise_fun =
1530 Node* const promise = AllocateAndSetJSPromise(
1540 Node* const capability = NewPromiseCapability(context, receiver);
1543 Node* const reject =
1549 Node* const promise =
1556 Node* const promise = Parameter(1);
1557 Node* const reason = Parameter(2);
1558 Node* const debug_event = Parameter(3);
1559 Node* const context = Parameter(6);
1565 Node* PromiseBuiltinsAssembler::CreatePromiseFinallyContext(
1566 Node* on_finally, Node* native_context) {
1567 Node* const context =
1573 std::pair<Node*, Node*> PromiseBuiltinsAssembler::CreatePromiseFinallyFunctions(
1574 Node* on_finally, Node* native_context) {
1575 Node* const promise_context =
1577 Node* const map = LoadContextElement(
1579 Node* const then_finally_info = LoadContextElement(
1581 Node* const then_finally = AllocateFunctionWithMapAndContext(
1583 Node* const catch_finally_info = LoadContextElement(
1585 Node* const catch_finally = AllocateFunctionWithMapAndContext(
1591 Node* const context = Parameter(3);
1593 Node* const value = LoadContextElement(context, kOnFinallySlot);
1597 Node* PromiseBuiltinsAssembler::CreateValueThunkFunctionContext(
1598 Node* value, Node* native_context) {
1599 Node* const context =
1605 Node* PromiseBuiltinsAssembler::CreateValueThunkFunction(Node* value,
1606 Node* native_context) {
1607 Node* const value_thunk_context =
1609 Node* const map = LoadContextElement(
1611 Node* const value_thunk_info = LoadContextElement(
1613 Node* const value_thunk = AllocateFunctionWithMapAndContext(
1621 Node* const value = Parameter(1);
1622 Node* const context = Parameter(4);
1624 Node* const on_finally = LoadContextElement(context, kOnFinallySlot);
1628 Node* result =
1632 Node* const promise = AllocateAndInitJSPromise(context);
1636 Node* native_context = LoadNativeContext(context);
1637 Node* const value_thunk = CreateValueThunkFunction(value, native_context);
1640 Node* const promise_capability = AllocateAndInitJSPromise(context, promise);
1651 Node* const context = Parameter(3);
1653 Node* const reason = LoadContextElement(context, kOnFinallySlot);
1658 Node* PromiseBuiltinsAssembler::CreateThrowerFunctionContext(
1659 Node* reason, Node* native_context) {
1660 Node* const context =
1666 Node* PromiseBuiltinsAssembler::CreateThrowerFunction(Node* reason,
1667 Node* native_context) {
1668 Node* const thrower_context =
1670 Node* const map = LoadContextElement(
1672 Node* const thrower_info = LoadContextElement(
1674 Node* const thrower =
1682 Node* const reason = Parameter(1);
1683 Node* const context = Parameter(4);
1685 Node* const on_finally = LoadContextElement(context, kOnFinallySlot);
1689 Node* result =
1693 Node* const promise = AllocateAndInitJSPromise(context);
1697 Node* native_context = LoadNativeContext(context);
1698 Node* const thrower = CreateThrowerFunction(reason, native_context);
1701 Node* const promise_capability = AllocateAndInitJSPromise(context, promise);
1715 Node* const promise = Parameter(0);
1716 Node* const on_finally = Parameter(1);
1717 Node* const context = Parameter(4);
1731 Node* const on_finally_map = LoadMap(on_finally);
1734 Node* const native_context = LoadNativeContext(context);
1735 Node* then_finally = nullptr;
1736 Node* catch_finally = nullptr;
1758 Node* deferred_promise = AllocateAndInitJSPromise(context, promise);
1768 Node* const then_str = HeapConstant(isolate->factory()->then_string());
1770 Node* const then =
1774 Node* const result =