org.mmtk.policy.immix
Class Defrag
java.lang.Object
org.mmtk.policy.immix.Defrag
- All Implemented Interfaces:
- Constants
public class Defrag
- 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 |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
inDefragCollection
private boolean inDefragCollection
debugBytesDefraged
private int debugBytesDefraged
availableCleanPagesForDefrag
private int availableCleanPagesForDefrag
defragSpaceExhausted
private boolean defragSpaceExhausted
spillMarkHistograms
private int[][] spillMarkHistograms
spillAvailHistogram
private int[] spillAvailHistogram
defragCleanBytesUsed
public static SizeCounter defragCleanBytesUsed
defragBytesNotFreed
public static SizeCounter defragBytesNotFreed
defragBytesFreed
public static SizeCounter defragBytesFreed
defragCleanBytesAvailable
public static SizeCounter defragCleanBytesAvailable
pr
private final FreeListPageResource pr
debugCollectionTypeDetermined
private boolean debugCollectionTypeDetermined
defragSpillThreshold
static short defragSpillThreshold
defragReusableMarkStateThreshold
static short defragReusableMarkStateThreshold
defrags
public static EventCounter defrags
Defrag
Defrag(FreeListPageResource pr)
inDefrag
boolean inDefrag()
prepare
void prepare(ChunkList chunkMap,
ImmixSpace space)
globalRelease
void globalRelease()
getDefragHeadroomPages
int getDefragHeadroomPages()
decideWhetherToDefrag
void decideWhetherToDefrag(boolean emergencyCollection,
boolean collectWholeHeap,
int collectionAttempt,
boolean userTriggered,
boolean exhaustedReusableSpace)
determined
boolean determined(boolean inDefrag)
getBlock
void getBlock()
establishDefragSpillThreshold
private void establishDefragSpillThreshold(ChunkList chunkMap,
ImmixSpace space)
spaceExhausted
boolean spaceExhausted()
getAndZeroSpillMarkHistogram
int[] getAndZeroSpillMarkHistogram(int ordinal)