Lines Matching refs:Offset
71 unsigned Field = Offset + Off;
83 return Pointer(Pointee, 0, Offset == 0 ? Offset : PastEndMark);
90 // descriptors. If Offset != Base, then the pointer already points to
94 if (Offset != Base)
96 return Pointer(Pointee, Base, Offset + sizeof(InitMap *));
100 if (Offset != Base)
101 return Pointer(Pointee, Offset, Offset);
124 if (Base != Offset)
132 unsigned Next = Base - getInlineDesc()->Offset;
136 return Pointer(Pointee, Next, Offset);
153 assert(Offset == PastEndMark && "cannot get base of a block");
156 assert(Offset == Base && "not an inner field");
157 unsigned NewBase = Base - getInlineDesc()->Offset;
163 assert(Offset != 0 && Offset != PastEndMark && "not an array element");
166 assert(Offset != Base && "not an array element");
191 assert(Offset != PastEndMark && "invalid offset");
193 return Offset;
196 if (Offset != Base) {
202 return Offset - Base - Adjust;
214 bool isArrayElement() const { return Base != Offset; }
217 return (Base == 0 || Base == RootPtrMark) && Offset == 0;
256 return Offset;
277 bool isElementPastEnd() const { return Offset == PastEndMark; }
282 return *reinterpret_cast<T *>(Pointee->data() + Offset);
304 OS << "{" << Base << ", " << Offset << ", ";
316 Pointer(Block *Pointee, unsigned Base, unsigned Offset);
322 InlineDescriptor *getDescriptor(unsigned Offset) const {
323 assert(Offset != 0 && "Not a nested pointer");
324 return reinterpret_cast<InlineDescriptor *>(Pointee->data() + Offset) - 1;
336 /// Offset into the block.
337 unsigned Offset = 0;