empty
{{ size={($T1*)EndX - ($T1*)BeginX} }}
- ($T1*)EndX - ($T1*)BeginX
- ($T1*)CapacityX - ($T1*)BeginX
($T1*)EndX - ($T1*)BeginX
($T1*)BeginX
empty
[{($T1*)EndX - ($T1*)BeginX}]
- ($T1*)EndX - ($T1*)BeginX
- ($T1*)CapacityX - ($T1*)BeginX
($T1*)EndX - ($T1*)BeginX
($T1*)BeginX
{BeginX,s}
BeginX,s
- (char*)EndX - (char*)BeginX
- (char*)CapacityX - (char*)BeginX
(char*)EndX - (char*)BeginX
(char*)BeginX
[{Length}] {Data,s}
Data,s
- Length
Length
Data
{Value & PointerBitMask} [{(Value >> IntShift) & IntMask}]
- Value & PointerBitMask
- (Value >> IntShift) & IntMask
[P1] {($T1)(Val.Value & Val.PointerBitMask)}
[P2] {($T2)(Val.Value & Val.PointerBitMask)}
- ($T1)(Val.Value & Val.PointerBitMask)
- ($T2)(Val.Value & Val.PointerBitMask)
[P1] {($T1)((Val.Val.Value >> 2) << 2)}
[P2] {($T2)((Val.Val.Value >> 2) << 2)}
[P3] {($T3)((Val.Val.Value >> 2) << 2)}
- ($T1)((Val.Val.Value >> 2) << 2)
- ($T2)((Val.Val.Value >> 2) << 2)
- ($T3)((Val.Val.Value >> 2) << 2)
[P1] {($T1)((Val.Val.Value >> 2) << 2)}
[P2] {($T2)((Val.Val.Value >> 2) << 2)}
[P3] {($T3)((Val.Val.Value >> 2) << 2)}
[P4] {($T4)((Val.Val.Value >> 2) << 2)}
- ($T1)((Val.Val.Value >> 2) << 2)
- ($T2)((Val.Val.Value >> 2) << 2)
- ($T3)((Val.Val.Value >> 2) << 2)
- ($T4)((Val.Val.Value >> 2) << 2)
{{ empty }}
{{ head={Head} }}
Head
Next
this
empty
RefPtr [1 ref] {*Obj}
RefPtr [{Obj->ref_cnt} refs] {*Obj}
- Obj->ref_cnt
- Obj
empty
OwningPtr {*Ptr}
- Ptr
{{ [Small Mode] elements={NumElements}, arraySize={CurArraySize} }}
{{ [Big Mode] elements={NumElements}, arraySize={CurArraySize} }}
- NumElements
- CurArraySize
CurArraySize + 1
($T1*)&CurArray[$i]
empty
{{ entries={NumEntries}, buckets={NumBuckets} }}
- NumEntries
- NumBuckets
NumBuckets
Buckets
{{ NumBuckets={NumBuckets}, ItemSize={ItemSize} }}
- NumBuckets
- ItemSize
NumBuckets
(llvm::StringMapEntry<$T1>*)TheTable[$i]
empty
({((llvm::StringMapEntry<$T1>*)this)+1,s}, {second})
- ((llvm::StringMapEntry<$T1>*)this)+1,s
- second
{Data}