public final class MiscHeader extends Object
ObjectModel
Modifier and Type | Field and Description |
---|---|
private static Offset |
MISC_HEADER_START |
(package private) static Offset |
OBJECT_DEATH_OFFSET |
(package private) static Offset |
OBJECT_LINK_OFFSET |
(package private) static Offset |
OBJECT_OID_OFFSET |
private static Word |
oid
The next object ID to be used.
|
private static Word |
prevAddress
The address of the last object allocated into the header.
|
(package private) static int |
REQUESTED_BITS
How many available bits does the misc header want to use?
|
private static Word |
time
The current "time" for the trace being generated.
|
Constructor and Description |
---|
MiscHeader() |
Modifier and Type | Method and Description |
---|---|
static void |
dumpHeader(Object ref)
For low level debugging of GC subsystem.
|
static Address |
getBootImageLink() |
static Word |
getDeathTime(Object object) |
static int |
getHeaderSize() |
static ObjectReference |
getLink(Object ref) |
static Word |
getOID() |
static Word |
getOID(Object object) |
static void |
initializeHeader(BootImageInterface bootImage,
Address ref,
TIB tib,
int size,
boolean isScalar)
Perform any required initialization of the MISC portion of the header.
|
static void |
initializeHeader(Object obj,
TIB tib,
int size,
boolean isScalar)
Perform any required initialization of the MISC portion of the header.
|
static void |
setDeathTime(Object object,
Word time_) |
static void |
setLink(Object object,
ObjectReference link) |
static void |
setOID(Word oid_) |
static void |
updateDeathTime(Object object) |
static void |
updateTime(Word time_) |
private static final Offset MISC_HEADER_START
static final Offset OBJECT_OID_OFFSET
static final Offset OBJECT_DEATH_OFFSET
static final Offset OBJECT_LINK_OFFSET
static final int REQUESTED_BITS
private static Word prevAddress
public MiscHeader()
public static void initializeHeader(Object obj, TIB tib, int size, boolean isScalar)
obj
- the object ref to the storage to be initializedtib
- the TIB of the instance being createdsize
- the number of bytes allocated by the GC system for this object.isScalar
- are we initializing a scalar (true) or array (false) object?public static void initializeHeader(BootImageInterface bootImage, Address ref, TIB tib, int size, boolean isScalar)
bootImage
- the bootimage being writtenref
- the object ref to the storage to be initializedtib
- the TIB of the instance being createdsize
- the number of bytes allocated by the GC system for this object.isScalar
- are we initializing a scalar (true) or array (false) object?public static void updateDeathTime(Object object)
public static void setDeathTime(Object object, Word time_)
public static void setLink(Object object, ObjectReference link)
public static void updateTime(Word time_)
public static Word getDeathTime(Object object)
public static ObjectReference getLink(Object ref)
public static Address getBootImageLink()
public static int getHeaderSize()
public static void dumpHeader(Object ref)
ref
- the object reference whose header should be dumped