Lines Matching defs:object
640 void MacroAssembler::RecordWriteField(Register object, int offset,
655 // Although the object register is tagged, the offset is relative to the start
656 // of the object, so so offset must be a multiple of kSystemPointerSize.
659 AddS64(slot_address, object, Operand(offset - kHeapObjectTag), r0);
668 RecordWrite(object, slot_address, value, lr_status, save_fp,
691 void TurboAssembler::CallEphemeronKeyBarrier(Register object,
694 DCHECK(!AreAliased(object, slot_address));
696 WriteBarrierDescriptor::ComputeSavedRegisters(object, slot_address);
703 push(object);
715 Register object, Register slot_address,
718 DCHECK(!AreAliased(object, slot_address));
720 WriteBarrierDescriptor::ComputeSavedRegisters(object, slot_address);
727 push(object);
739 Register object, Register slot_address,
742 // Use CallRecordWriteStubSaveRegisters if the object and slot registers
744 DCHECK_EQ(WriteBarrierDescriptor::ObjectRegister(), object);
772 // Will clobber 4 registers: object, address, scratch, ip. The
773 // register 'object' contains a heap object pointer. The heap object
775 void MacroAssembler::RecordWrite(Register object, Register slot_address,
780 DCHECK(!AreAliased(object, value, slot_address));
804 CheckPageFlag(object,
813 CallRecordWriteStubSaveRegisters(object, slot_address, remembered_set_action,
1674 void MacroAssembler::CompareObjectType(Register object, Register map,
1678 LoadMap(map, object);
2093 void TurboAssembler::LoadMap(Register destination, Register object) {
2095 FieldMemOperand(object, HeapObject::kMapOffset), r0);
2107 void TurboAssembler::AssertNotSmi(Register object) {
2110 TestIfSmi(object, r0);
2115 void TurboAssembler::AssertSmi(Register object) {
2118 TestIfSmi(object, r0);
2123 void MacroAssembler::AssertConstructor(Register object) {
2126 TestIfSmi(object, r0);
2128 push(object);
2129 LoadMap(object, object);
2130 lbz(object, FieldMemOperand(object, Map::kBitFieldOffset));
2131 andi(object, object, Operand(Map::Bits1::IsConstructorBit::kMask));
2132 pop(object);
2137 void MacroAssembler::AssertFunction(Register object) {
2140 TestIfSmi(object, r0);
2142 push(object);
2143 LoadMap(object, object);
2144 CompareInstanceTypeRange(object, object, FIRST_JS_FUNCTION_TYPE,
2146 pop(object);
2151 void MacroAssembler::AssertCallableFunction(Register object) {
2155 TestIfSmi(object, r0);
2157 push(object);
2158 LoadMap(object, object);
2159 CompareInstanceTypeRange(object, object, FIRST_CALLABLE_JS_FUNCTION_TYPE,
2161 pop(object);
2165 void MacroAssembler::AssertBoundFunction(Register object) {
2168 TestIfSmi(object, r0);
2170 push(object);
2171 CompareObjectType(object, object, object, JS_BOUND_FUNCTION_TYPE);
2172 pop(object);
2177 void MacroAssembler::AssertGeneratorObject(Register object) {
2179 TestIfSmi(object, r0);
2183 Register map = object;
2184 push(object);
2185 LoadMap(map, object);
2189 Register instance_type = object;
2201 // Restore generator object to register and perform assertion
2202 pop(object);
2206 void MacroAssembler::AssertUndefinedOrAllocationSite(Register object,
2210 AssertNotSmi(object);
2211 CompareRoot(object, RootIndex::kUndefinedValue);
2213 LoadMap(scratch, object);
2397 Register object,
2398 Register scratch, // scratch may be same register as object
2402 ClearRightImm(scratch, object, Operand(kPageSizeBits));
3656 // Check whether the Code object is an off-heap trampoline. If so, call its
3658 // trampoline. Otherwise, just call the Code object as always.
3701 // Note that this assumes the caller code (i.e. the Code object currently