Lines Matching defs:handler
10 #include "src/ic/handler-configuration.h"
47 Node* handler =
51 var_handler->Bind(handler);
73 // Found, now call handler.
74 Node* handler = LoadFixedArrayElement(feedback, i * kEntrySize + 1);
75 var_handler->Bind(handler);
93 // Found, now call handler.
94 Node* handler = LoadFixedArrayElement(feedback, index, kPointerSize);
95 var_handler->Bind(handler);
101 // The loop falls through if no handler was found.
138 // The loop falls through if no handler was found.
143 const LoadICParameters* p, Node* handler, Label* miss,
151 var_smi_handler.Bind(handler);
157 Branch(TaggedIsSmi(handler), &if_smi_handler, &try_proto_handler);
159 // |handler| is a Smi, encoding what to do. See SmiHandler methods
169 GotoIf(IsCodeMap(LoadMap(handler)), &call_handler);
170 HandleLoadICProtoHandlerCase(p, handler, &var_holder, &var_smi_handler,
177 TailCallStub(Descriptor(isolate()), handler, p->context, p->receiver,
306 const LoadICParameters* p, Node* handler, Variable* var_holder,
322 LoadObjectField(handler, LoadHandler::kValidityCellOffset);
332 Node* smi_handler = LoadObjectField(handler, LoadHandler::kSmiHandlerOffset);
350 LoadObjectField(handler, LoadHandler::kHolderCellOffset);
358 // This is a handler for a load of a non-existent value.
382 p->context, p->receiver, p->name, p->slot, p->vector, handler);
387 const LoadICParameters* p, Node* handler, Node* handler_length,
397 // Skip this entry of a handler.
403 LoadWeakCellValue(LoadObjectField(handler, offset), miss);
421 [this, p, handler, miss](Node* current) {
423 LoadFixedArrayElement(handler, current);
429 handler, LoadHandler::kHolderCellIndex);
432 // This is a handler for a load of a non-existent value.
449 const LoadICParameters* pp, Node* handler, Label* miss,
459 HandleLoadICProtoHandlerCase(&p, handler, &var_holder, &var_smi_handler,
468 const StoreICParameters* p, Node* handler, Label* miss,
473 Branch(TaggedIsSmi(handler), &if_smi_handler, &if_nonsmi_handler);
475 // |handler| is a Smi, encoding what to do. See SmiHandler methods
480 Node* handler_word = SmiUntag(handler);
488 Node* handler_map = LoadMap(handler);
497 { HandleStoreICElementHandlerCase(p, handler, miss); }
502 HandleStoreICProtoHandler(p, handler, miss);
505 // |handler| is a heap object. Must be code, call it.
509 TailCallStub(descriptor, handler, p->context, p->receiver, p->name,
515 const StoreICParameters* p, Node* handler, Label* miss) {
517 Node* validity_cell = LoadObjectField(handler, Tuple2::kValue1Offset);
523 Node* code_handler = LoadObjectField(handler, Tuple2::kValue2Offset);
532 Node* handler, Label* miss) {
544 LoadObjectField(handler, StoreHandler::kValidityCellOffset);
554 Node* smi_handler = LoadObjectField(handler, StoreHandler::kSmiHandlerOffset);
558 LoadObjectField(handler, StoreHandler::kTransitionCellOffset);
575 [this, p, handler, miss](Node* current) {
577 LoadFixedArrayElement(handler, current);
583 LoadFixedArrayElement(handler, StoreHandler::kTransitionCellIndex);
1217 // for a handler in the stub cache.
1406 Node* handler = Load(MachineType::TaggedPointer(), key_base,
1409 // We found the handler.
1410 var_handler->Bind(handler);
1494 const LoadICParameters* p, Node* handler,
1497 CSA_ASSERT(this, Word32BinaryNot(TaggedIsSmi(handler)));
1498 CSA_ASSERT(this, IsFixedArrayMap(LoadMap(handler)));
1502 Node* smi_handler = LoadObjectField(handler, LoadHandler::kSmiHandlerOffset);
1505 Node* handler_length = LoadAndUntagFixedArrayBaseLength(handler);
1508 EmitLoadICProtoArrayCheck(p, handler, handler_length, handler_flags,
1529 // Load value or try handler case if the {weak_cell} is cleared.
1546 Node* handler =
1548 CSA_ASSERT(this, Word32BinaryNot(TaggedIsSmi(handler)));
1549 GotoIf(WordEqual(handler, LoadRoot(Heap::kuninitialized_symbolRootIndex)),
1551 GotoIf(IsCodeMap(LoadMap(handler)), &call_handler);
1554 HandleLoadGlobalICHandlerCase(p, handler, miss, exit_point,
1563 exit_point->ReturnCallStub(descriptor, handler, p->context, receiver,
1635 // at least one map/handler pair.
1774 Node* handler = var_handler.value();
1778 var_code_handler.Bind(handler);
1779 GotoIfNot(IsTuple2Map(LoadMap(handler)), &call_handler);
1781 CSA_ASSERT(this, IsTuple2Map(LoadMap(handler)));
1784 Node* validity_cell = LoadObjectField(handler, Tuple2::kValue1Offset);
1791 LoadObjectField(handler, Tuple2::kValue2Offset));
1827 // at least one map/handler pair.
1880 Node* handler = Parameter(Descriptor::kHandler);
1884 LoadICProtoArray(&p, handler, throw_reference_error_if_nonexistent);