org.mmtk.policy.immix
Class Chunk
java.lang.Object
org.mmtk.policy.immix.Chunk
- All Implemented Interfaces:
- Constants
public class Chunk
- extends Object
- implements Constants
Fields inherited from interface org.mmtk.utility.Constants |
ALIGNMENT_VALUE, ARRAY_ELEMENT, BITS_IN_ADDRESS, BITS_IN_BYTE, BITS_IN_CHAR, BITS_IN_INT, BITS_IN_PAGE, BITS_IN_SHORT, BITS_IN_WORD, BYTES_IN_ADDRESS, BYTES_IN_BYTE, BYTES_IN_CHAR, BYTES_IN_INT, BYTES_IN_KBYTE, BYTES_IN_MBYTE, BYTES_IN_PAGE, BYTES_IN_SHORT, BYTES_IN_WORD, CARD_MASK, CARD_META_PAGES_PER_REGION, INSTANCE_FIELD, LOG_BITS_IN_ADDRESS, LOG_BITS_IN_BYTE, LOG_BITS_IN_CHAR, LOG_BITS_IN_INT, LOG_BITS_IN_PAGE, LOG_BITS_IN_SHORT, LOG_BITS_IN_WORD, LOG_BYTES_IN_ADDRESS, LOG_BYTES_IN_ADDRESS_SPACE, LOG_BYTES_IN_BYTE, LOG_BYTES_IN_CHAR, LOG_BYTES_IN_INT, LOG_BYTES_IN_KBYTE, LOG_BYTES_IN_MBYTE, LOG_BYTES_IN_PAGE, LOG_BYTES_IN_SHORT, LOG_BYTES_IN_WORD, LOG_CARD_BYTES, LOG_CARD_GRAIN, LOG_CARD_META_BYTES, LOG_CARD_META_PAGES, LOG_CARD_META_SIZE, LOG_CARD_UNITS, LOG_MIN_ALIGNMENT, MAX_ALIGNMENT, MAX_BYTES_PADDING, MAX_INT, MIN_ALIGNMENT, MIN_INT, SUPPORT_CARD_SCANNING |
Constructor Summary |
Chunk()
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
LOG_BYTES_IN_HIGHWATER_ENTRY
private static final int LOG_BYTES_IN_HIGHWATER_ENTRY
HIGHWATER_BYTES
private static final int HIGHWATER_BYTES
LOG_BYTES_IN_MAP_ENTRY
private static final int LOG_BYTES_IN_MAP_ENTRY
- See Also:
- Constant Field Values
MAP_BYTES
private static final int MAP_BYTES
- See Also:
- Constant Field Values
LINE_MARK_TABLE_OFFSET
static final int LINE_MARK_TABLE_OFFSET
- See Also:
- Constant Field Values
BLOCK_STATE_TABLE_OFFSET
static final int BLOCK_STATE_TABLE_OFFSET
- See Also:
- Constant Field Values
BLOCK_DEFRAG_STATE_TABLE_OFFSET
static final int BLOCK_DEFRAG_STATE_TABLE_OFFSET
HIGHWATER_OFFSET
static final int HIGHWATER_OFFSET
MAP_OFFSET
static final int MAP_OFFSET
METADATA_BYTES_PER_CHUNK
static final int METADATA_BYTES_PER_CHUNK
BLOCK_MASK
private static final int BLOCK_MASK
ROUNDED_METADATA_BYTES_PER_CHUNK
static final int ROUNDED_METADATA_BYTES_PER_CHUNK
ROUNDED_METADATA_PAGES_PER_CHUNK
static final int ROUNDED_METADATA_PAGES_PER_CHUNK
FIRST_USABLE_BLOCK_INDEX
public static final int FIRST_USABLE_BLOCK_INDEX
Chunk
public Chunk()
align
public static Address align(Address ptr)
isAligned
static boolean isAligned(Address ptr)
getByteOffset
static int getByteOffset(Address ptr)
getRequiredMetaDataPages
static int getRequiredMetaDataPages()
- Return the number of pages of metadata required per chunk.
sweep
static void sweep(Address chunk,
Address end,
ImmixSpace space,
int[] markHistogram,
byte markValue,
boolean resetMarks)
clearMetaData
static void clearMetaData(Address chunk)
checkMetaDataCleared
private static void checkMetaDataCleared(Address chunk,
Address value)
updateHighWater
static void updateHighWater(Address value)
setHighWater
private static void setHighWater(Address chunk,
Address value)
getHighWater
public static Address getHighWater(Address chunk)
setMap
static void setMap(Address chunk,
int value)
getMap
static int getMap(Address chunk)
resetLineMarksAndDefragStateTable
static void resetLineMarksAndDefragStateTable(Address chunk,
short threshold)
getFirstUsableBlock
static Address getFirstUsableBlock(Address chunk)