Lines Matching defs:object
323 // Check whether the Code object is an off-heap trampoline. If so, call
325 // trampoline. Otherwise, just call the Code object as always.
370 // Note that this assumes the caller code (i.e. the Code object currently
629 void MacroAssembler::RecordWriteField(Register object, int offset,
645 // Although the object register is tagged, the offset is relative to the start
646 // of the object, so so offset must be a multiple of kPointerSize.
654 DCHECK(!AreAliased(object, value, scratch));
655 add(scratch, object, Operand(offset - kHeapObjectTag));
662 RecordWrite(object, Operand(offset - kHeapObjectTag), value, lr_status,
680 void TurboAssembler::CallEphemeronKeyBarrier(Register object, Operand offset,
683 RegList registers = WriteBarrierDescriptor::ComputeSavedRegisters(object);
689 MoveObjectAndSlot(object_parameter, slot_address_parameter, object, offset);
698 Register object, Operand offset, RememberedSetAction remembered_set_action,
701 RegList registers = WriteBarrierDescriptor::ComputeSavedRegisters(object);
707 MoveObjectAndSlot(object_parameter, slot_address_parameter, object, offset);
716 Register object, Register slot_address,
720 DCHECK_EQ(WriteBarrierDescriptor::ObjectRegister(), object);
743 Register object, Operand offset) {
746 // If `offset` is a register, it cannot overlap with `object`.
747 DCHECK_IMPLIES(offset.IsRegister(), offset.rm() != object);
749 // If the slot register does not overlap with the object register, we can
751 if (dst_slot != object) {
752 add(dst_slot, object, offset);
753 Move(dst_object, object);
757 DCHECK_EQ(dst_slot, object);
759 // If the destination object register does not overlap with the offset
776 // The register 'object' contains a heap object pointer. The heap object tag is
778 void MacroAssembler::RecordWrite(Register object, Operand offset,
783 DCHECK(!AreAliased(object, value));
788 DCHECK(!AreAliased(object, value, scratch));
789 add(scratch, object, offset);
811 CheckPageFlag(object, MemoryChunk::kPointersFromHereAreInterestingMask, eq,
820 DCHECK(!AreAliased(object, value, slot_address));
822 add(slot_address, object, offset);
823 CallRecordWriteStub(object, slot_address, remembered_set_action, fp_mode);
1816 void MacroAssembler::CompareObjectType(Register object, Register map,
1822 LoadMap(map, object);
2074 void TurboAssembler::LoadMap(Register destination, Register object) {
2075 ldr(destination, FieldMemOperand(object, HeapObject::kMapOffset));
2129 void MacroAssembler::AssertNotSmi(Register object) {
2133 tst(object, Operand(kSmiTagMask));
2137 void MacroAssembler::AssertSmi(Register object) {
2141 tst(object, Operand(kSmiTagMask));
2145 void MacroAssembler::AssertConstructor(Register object) {
2149 tst(object, Operand(kSmiTagMask));
2151 push(object);
2152 LoadMap(object, object);
2153 ldrb(object, FieldMemOperand(object, Map::kBitFieldOffset));
2154 tst(object, Operand(Map::Bits1::IsConstructorBit::kMask));
2155 pop(object);
2159 void MacroAssembler::AssertFunction(Register object) {
2163 tst(object, Operand(kSmiTagMask));
2165 push(object);
2166 LoadMap(object, object);
2167 CompareInstanceTypeRange(object, object, FIRST_JS_FUNCTION_TYPE,
2169 pop(object);
2173 void MacroAssembler::AssertCallableFunction(Register object) {
2177 tst(object, Operand(kSmiTagMask));
2179 push(object);
2180 LoadMap(object, object);
2181 CompareInstanceTypeRange(object, object, FIRST_CALLABLE_JS_FUNCTION_TYPE,
2183 pop(object);
2187 void MacroAssembler::AssertBoundFunction(Register object) {
2191 tst(object, Operand(kSmiTagMask));
2193 push(object);
2194 CompareObjectType(object, object, object, JS_BOUND_FUNCTION_TYPE);
2195 pop(object);
2199 void MacroAssembler::AssertGeneratorObject(Register object) {
2202 tst(object, Operand(kSmiTagMask));
2206 Register map = object;
2207 push(object);
2208 LoadMap(map, object);
2212 Register instance_type = object;
2224 // Restore generator object to register and perform assertion
2225 pop(object);
2229 void MacroAssembler::AssertUndefinedOrAllocationSite(Register object,
2234 AssertNotSmi(object);
2235 CompareRoot(object, RootIndex::kUndefinedValue);
2237 LoadMap(scratch, object);
2602 void TurboAssembler::CheckPageFlag(Register object, int mask, Condition cc,
2607 DCHECK(!AreAliased(object, scratch));
2609 Bfc(scratch, object, 0, kPageSizeBits);