pointer tags - bits 0..1 00 - integer 01 - float 10 - object 11 - reserved object header - bit 0: GC mark bit bit 1: weak reference bit bits 2..29 - object size bit 30: reserved bit 31: reserved object format - 0: object header 4: pointer to map role entry format - 0: role position mask 4: dispatch position mask 8: pointer to method slot entry format - 0: pointer to slot name 4: slot offset 8: immutable slot value 12: pointer to array of role entries map format - 0: object header 4: pointer to representative object 8: number of delegation slots 12: number of data slots 16: pointer to array of method dependencies 20: oldest generation of weak references 24: dispatch id, 64 bits 32: visited position mask 36: slot entry 0 36+16*N: slot entry N - slot entries are hashed, power-of-2 hash table size method format additions - 0: dispatch id, 64 bits 8: visited position mask