Home | History | Annotate | Download | only in src

Lines Matching refs:Offset

73 #define INT_ACCESSORS(holder, name, offset)                             \
74 int holder::name() { return READ_INT_FIELD(this, offset); } \
75 void holder::set_##name(int value) { WRITE_INT_FIELD(this, offset, value); }
78 #define ACCESSORS(holder, name, type, offset) \
79 type* holder::name() { return type::cast(READ_FIELD(this, offset)); } \
81 WRITE_FIELD(this, offset, value); \
82 CONDITIONAL_WRITE_BARRIER(GetHeap(), this, offset, mode); \
87 #define ACCESSORS_GCSAFE(holder, name, type, offset) \
88 type* holder::name() { return type::cast(READ_FIELD(this, offset)); } \
90 WRITE_FIELD(this, offset, value); \
91 CONDITIONAL_WRITE_BARRIER(HEAP, this, offset, mode); \
95 #define SMI_ACCESSORS(holder, name, offset) \
97 Object* value = READ_FIELD(this, offset); \
101 WRITE_FIELD(this, offset, Smi::FromInt(value)); \
105 #define BOOL_GETTER(holder, field, name, offset) \
107 return BooleanBit::get(field(), offset); \
111 #define BOOL_ACCESSORS(holder, field, name, offset) \
113 return BooleanBit::get(field(), offset); \
116 set_##field(BooleanBit::set(field(), offset, value)); \
825 #define FIELD_ADDR(p, offset) \
826 (reinterpret_cast<byte*>(p) + offset - kHeapObjectTag)
828 #define READ_FIELD(p, offset) \
829 (*reinterpret_cast<Object**>(FIELD_ADDR(p, offset)))
831 #define WRITE_FIELD(p, offset, value) \
832 (*reinterpret_cast<Object**>(FIELD_ADDR(p, offset)) = value)
835 #define WRITE_BARRIER(object, offset) \
836 object->GetHeap()->RecordWrite(object->address(), offset);
840 #define CONDITIONAL_WRITE_BARRIER(heap, object, offset, mode) \
842 heap->RecordWrite(object->address(), offset); \
846 !heap->InNewSpace(READ_FIELD(object, offset)) || \
848 IsRegionDirty(object->address() + offset)); \
852 #define READ_DOUBLE_FIELD(p, offset) \
853 (*reinterpret_cast<double*>(FIELD_ADDR(p, offset)))
857 static inline double read_double_field(HeapNumber* p, int offset) {
862 c.u[0] = (*reinterpret_cast<uint32_t*>(FIELD_ADDR(p, offset)));
863 c.u[1] = (*reinterpret_cast<uint32_t*>(FIELD_ADDR(p, offset + 4)));
866 #define READ_DOUBLE_FIELD(p, offset) read_double_field(p, offset)
871 #define WRITE_DOUBLE_FIELD(p, offset, value) \
872 (*reinterpret_cast<double*>(FIELD_ADDR(p, offset)) = value)
876 static inline void write_double_field(HeapNumber* p, int offset,
883 (*reinterpret_cast<uint32_t*>(FIELD_ADDR(p, offset))) = c.u[0];
884 (*reinterpret_cast<uint32_t*>(FIELD_ADDR(p, offset + 4))) = c.u[1];
886 #define WRITE_DOUBLE_FIELD(p, offset, value) \
887 write_double_field(p, offset, value)
891 #define READ_INT_FIELD(p, offset) \
892 (*reinterpret_cast<int*>(FIELD_ADDR(p, offset)))
894 #define WRITE_INT_FIELD(p, offset, value) \
895 (*reinterpret_cast<int*>(FIELD_ADDR(p, offset)) = value)
897 #define READ_INTPTR_FIELD(p, offset) \
898 (*reinterpret_cast<intptr_t*>(FIELD_ADDR(p, offset)))
900 #define WRITE_INTPTR_FIELD(p, offset, value) \
901 (*reinterpret_cast<intptr_t*>(FIELD_ADDR(p, offset)) = value)
903 #define READ_UINT32_FIELD(p, offset) \
904 (*reinterpret_cast<uint32_t*>(FIELD_ADDR(p, offset)))
906 #define WRITE_UINT32_FIELD(p, offset, value) \
907 (*reinterpret_cast<uint32_t*>(FIELD_ADDR(p, offset)) = value)
909 #define READ_SHORT_FIELD(p, offset) \
910 (*reinterpret_cast<uint16_t*>(FIELD_ADDR(p, offset)))
912 #define WRITE_SHORT_FIELD(p, offset, value) \
913 (*reinterpret_cast<uint16_t*>(FIELD_ADDR(p, offset)) = value)
915 #define READ_BYTE_FIELD(p, offset) \
916 (*reinterpret_cast<byte*>(FIELD_ADDR(p, offset)))
918 #define WRITE_BYTE_FIELD(p, offset, value) \
919 (*reinterpret_cast<byte*>(FIELD_ADDR(p, offset)) = value)
1094 MapWord MapWord::EncodeAddress(Address map_address, int offset) {
1095 // Offset is the distance in live bytes from the first live object in the
1096 // same page. The offset between two objects in the same page should not
1098 ASSERT(0 <= offset && offset < Page::kObjectAreaSize);
1100 uintptr_t compact_offset = offset >> kObjectAlignmentBits;
1107 map_page->Offset(map_address) >> kMapAlignmentBits;
1131 // The offset field is represented in the kForwardingOffsetBits
1133 uintptr_t offset = (value_ >> kForwardingOffsetShift) << kObjectAlignmentBits;
1134 ASSERT(offset < static_cast<uintptr_t>(Page::kObjectAreaSize));
1135 return static_cast<int>(offset);
1150 void HeapObject::VerifyObjectField(int offset) {
1151 VerifyPointer(READ_FIELD(this, offset));
1154 void HeapObject::VerifySmiField(int offset) {
1155 ASSERT(READ_FIELD(this, offset)->IsSmi());
1219 void HeapObject::IteratePointer(ObjectVisitor* v, int offset) {
1220 v->VisitPointer(reinterpret_cast<Object**>(FIELD_ADDR(this, offset)));
1419 int offset = GetHeaderSize() + (kPointerSize * index);
1420 WRITE_FIELD(this, offset, value);
1421 WRITE_BARRIER(this, offset);
1432 int offset = map()->instance_size() + (index * kPointerSize);
1433 return READ_FIELD(this, offset);
1445 int offset = map()->instance_size() + (index * kPointerSize);
1446 WRITE_FIELD(this, offset, value);
1447 WRITE_BARRIER(this, offset);
1468 int offset = map()->instance_size() + (index * kPointerSize);
1469 return READ_FIELD(this, offset);
1479 int offset = map()->instance_size() + (index * kPointerSize);
1480 WRITE_FIELD(this, offset, value);
1481 CONDITIONAL_WRITE_BARRIER(GetHeap(), this, offset, mode);
1489 for (int offset = kHeaderSize; offset < object_size; offset += kPointerSize) {
1490 WRITE_FIELD(this, offset, value);
1512 for (int offset = kHeaderSize; offset < object_size; offset += kPointerSize) {
1513 WRITE_FIELD(this, offset, value);
1559 int offset = kHeaderSize + index * kPointerSize;
1560 WRITE_FIELD(this, offset, value);
1567 int offset = kHeaderSize + index * kPointerSize;
1568 WRITE_FIELD(this, offset, value);
1569 WRITE_BARRIER(this, offset);
1584 int offset = kHeaderSize + index * kPointerSize;
1585 WRITE_FIELD(this, offset, value);
1586 CONDITIONAL_WRITE_BARRIER(GetHeap(), this, offset, mode);
1636 int offset = kHeaderSize + index * kPointerSize;
1637 WRITE_FIELD(this, offset, value);
1645 int offset = kHeaderSize + index * kPointerSize;
1646 WRITE_FIELD(this, offset, value);
1647 CONDITIONAL_WRITE_BARRIER(heap, this, offset, mode);
2652 void Code::set_safepoint_table_offset(unsigned offset) {
2654 ASSERT(IsAligned(offset, static_cast<unsigned>(kIntSize)));
2655 WRITE_UINT32_FIELD(this, kSafepointTableOffsetOffset, offset);
2665 void Code::set_stack_check_table_offset(unsigned offset) {
2667 ASSERT(IsAligned(offset, static_cast<unsigned>(kIntSize)));
2668 WRITE_UINT32_FIELD(this, kStackCheckTableOffsetOffset, offset);
3075 #define PSEUDO_SMI_ACCESSORS_LO(holder, name, offset) \
3076 STATIC_ASSERT(holder::offset % kPointerSize == 0); \
3078 int value = READ_INT_FIELD(this, offset); \
3088 offset, \
3092 #define PSEUDO_SMI_ACCESSORS_HI(holder, name, offset) \
3093 STATIC_ASSERT(holder::offset % kPointerSize == kIntSize); \
3094 INT_ACCESSORS(holder, name, offset)
4129 #define SLOT_ADDR(obj, offset) \
4130 reinterpret_cast<Object**>((obj)->address() + offset)