Lines Matching defs:object

363         // even when we are loading a compressed embedded object.
1538 void TurboAssembler::AssertSmi(Register object, AbortReason reason) {
1542 Tst(object, kSmiTagMask);
1546 void MacroAssembler::AssertNotSmi(Register object, AbortReason reason) {
1550 Tst(object, kSmiTagMask);
1554 void MacroAssembler::AssertCodeT(Register object) {
1557 AssertNotSmi(object, AbortReason::kOperandIsNotACodeT);
1562 CompareObjectType(object, temp, temp, CODET_TYPE);
1566 void MacroAssembler::AssertConstructor(Register object) {
1569 AssertNotSmi(object, AbortReason::kOperandIsASmiAndNotAConstructor);
1574 LoadMap(temp, object);
1581 void MacroAssembler::AssertFunction(Register object) {
1584 AssertNotSmi(object, AbortReason::kOperandIsASmiAndNotAFunction);
1588 LoadMap(temp, object);
1594 void MacroAssembler::AssertCallableFunction(Register object) {
1597 AssertNotSmi(object, AbortReason::kOperandIsASmiAndNotAFunction);
1601 LoadMap(temp, object);
1607 void MacroAssembler::AssertBoundFunction(Register object) {
1610 AssertNotSmi(object, AbortReason::kOperandIsASmiAndNotABoundFunction);
1615 CompareObjectType(object, temp, temp, JS_BOUND_FUNCTION_TYPE);
1619 void MacroAssembler::AssertGeneratorObject(Register object) {
1622 AssertNotSmi(object, AbortReason::kOperandIsASmiAndNotAGeneratorObject);
1627 LoadMap(temp, object);
1642 // Restore generator object to register and perform assertion
1646 void MacroAssembler::AssertUndefinedOrAllocationSite(Register object) {
1652 AssertNotSmi(object);
1653 JumpIfRoot(object, RootIndex::kUndefinedValue, &done_checking);
1654 LoadMap(scratch, object);
2091 // Check whether the Code object is an off-heap trampoline. If so, call its
2093 // trampoline. Otherwise, just call the Code object as always.
2099 // Not an off-heap trampoline object, the entry point is at
2214 // Note that this assumes the caller code (i.e. the Code object currently
2841 void MacroAssembler::JumpIfObjectType(Register object, Register map,
2845 CompareObjectType(object, map, type_reg, type);
2850 void MacroAssembler::CompareObjectType(Register object, Register map,
2853 LoadMap(map, object);
2857 void TurboAssembler::LoadMap(Register dst, Register object) {
2859 LoadTaggedPointerField(dst, FieldMemOperand(object, HeapObject::kMapOffset));
3046 void TurboAssembler::CheckPageFlag(const Register& object, int mask,
3051 And(scratch, object, ~kPageAlignmentMask);
3061 void MacroAssembler::RecordWriteField(Register object, int offset,
3068 DCHECK(!AreAliased(object, value));
3078 // Although the object register is tagged, the offset is relative to the start
3079 // of the object, so offset must be a multiple of kTaggedSize.
3087 DCHECK(!AreAliased(object, value, scratch));
3088 Add(scratch, object, offset - kHeapObjectTag);
3095 RecordWrite(object, Operand(offset - kHeapObjectTag), value, lr_status,
3189 void TurboAssembler::CallEphemeronKeyBarrier(Register object, Operand offset,
3192 RegList registers = WriteBarrierDescriptor::ComputeSavedRegisters(object);
3196 WriteBarrierDescriptor::SlotAddressRegister(), object,
3206 Register object, Operand offset, RememberedSetAction remembered_set_action,
3209 RegList registers = WriteBarrierDescriptor::ComputeSavedRegisters(object);
3215 MoveObjectAndSlot(object_parameter, slot_address_parameter, object, offset);
3224 Register object, Register slot_address,
3228 DCHECK_EQ(WriteBarrierDescriptor::ObjectRegister(), object);
3251 Register object, Operand offset) {
3254 // If `offset` is a register, it cannot overlap with `object`.
3255 DCHECK_IMPLIES(!offset.IsImmediate(), offset.reg() != object);
3257 // If the slot register does not overlap with the object register, we can
3259 if (dst_slot != object) {
3260 Add(dst_slot, object, offset);
3261 Mov(dst_object, object);
3265 DCHECK_EQ(dst_slot, object);
3267 // If the destination object register does not overlap with the offset
3286 // The register 'object' contains a heap object pointer. The heap object tag is
3288 void MacroAssembler::RecordWrite(Register object, Operand offset,
3295 DCHECK(!AreAliased(object, value));
3301 DCHECK(!AreAliased(object, value, temp));
3302 Add(temp, object, offset);
3325 CheckPageFlag(object, MemoryChunk::kPointersFromHereAreInterestingMask, ne,
3333 DCHECK(!AreAliased(object, slot_address, value));
3336 Add(slot_address, object, offset);
3337 CallRecordWriteStub(object, slot_address, remembered_set_action, fp_mode);