public abstract class ObjectHeader extends Object
DynamicHub
, which identifies the class of the instance. It
may also contain a couple of reserved bits that encode internal state information (e.g., for the
GC).
During garbage collection, the object header may hold a forwarding reference to the new location
of this instance if the object has been moved by the collector.Modifier and Type | Class and Description |
---|---|
static class |
ObjectHeader.HeapKind |
Modifier | Constructor and Description |
---|---|
protected |
ObjectHeader() |
Modifier and Type | Method and Description |
---|---|
abstract DynamicHub |
dynamicHubFromObjectHeader(org.graalvm.word.UnsignedWord header) |
abstract long |
encodeAsImageHeapObjectHeader(ImageHeapObject obj,
long hubOffsetFromHeapBase) |
abstract org.graalvm.compiler.word.Word |
encodeAsTLABObjectHeader(DynamicHub hub) |
abstract int |
getReservedBitsMask()
Returns a mask where all reserved bits are set.
|
abstract void |
initializeHeaderOfNewObject(org.graalvm.word.Pointer objectPointer,
DynamicHub hub,
ObjectHeader.HeapKind heapKind,
boolean isArray) |
static DynamicHub |
readDynamicHubFromObject(Object o) |
abstract DynamicHub |
readDynamicHubFromPointer(org.graalvm.word.Pointer ptr) |
public abstract int getReservedBitsMask()
public abstract long encodeAsImageHeapObjectHeader(ImageHeapObject obj, long hubOffsetFromHeapBase)
public abstract org.graalvm.compiler.word.Word encodeAsTLABObjectHeader(DynamicHub hub)
public abstract DynamicHub dynamicHubFromObjectHeader(org.graalvm.word.UnsignedWord header)
public static DynamicHub readDynamicHubFromObject(Object o)
public abstract DynamicHub readDynamicHubFromPointer(org.graalvm.word.Pointer ptr)
public abstract void initializeHeaderOfNewObject(org.graalvm.word.Pointer objectPointer, DynamicHub hub, ObjectHeader.HeapKind heapKind, boolean isArray)