Modifier and Type | Field and Description |
---|---|
private int |
availableCleanPagesForDefrag |
private int |
debugBytesDefraged |
private boolean |
debugCollectionTypeDetermined |
static SizeCounter |
defragBytesFreed |
static SizeCounter |
defragBytesNotFreed |
static SizeCounter |
defragCleanBytesAvailable |
static SizeCounter |
defragCleanBytesUsed |
(package private) static short |
defragReusableMarkStateThreshold |
static EventCounter |
defrags |
private boolean |
defragSpaceExhausted |
(package private) static short |
defragSpillThreshold |
private boolean |
inDefragCollection |
private FreeListPageResource |
pr |
private int[] |
spillAvailHistogram |
private int[][] |
spillMarkHistograms |
Constructor and Description |
---|
Defrag(FreeListPageResource pr) |
Modifier and Type | Method and Description |
---|---|
(package private) void |
decideWhetherToDefrag(boolean emergencyCollection,
boolean collectWholeHeap,
int collectionAttempt,
boolean userTriggered,
boolean exhaustedReusableSpace) |
(package private) boolean |
determined(boolean inDefrag) |
private void |
establishDefragSpillThreshold(ChunkList chunkMap,
ImmixSpace space) |
(package private) int[] |
getAndZeroSpillMarkHistogram(int ordinal) |
(package private) void |
getBlock() |
(package private) int |
getDefragHeadroomPages() |
(package private) void |
globalRelease() |
(package private) boolean |
inDefrag() |
(package private) void |
prepare(ChunkList chunkMap,
ImmixSpace space) |
(package private) void |
prepareHistograms()
Prepares the histograms.
|
(package private) boolean |
spaceExhausted() |
private boolean inDefragCollection
private int debugBytesDefraged
private int availableCleanPagesForDefrag
private boolean defragSpaceExhausted
private int[][] spillMarkHistograms
private final int[] spillAvailHistogram
public static SizeCounter defragCleanBytesUsed
public static SizeCounter defragBytesNotFreed
public static SizeCounter defragBytesFreed
public static SizeCounter defragCleanBytesAvailable
private final FreeListPageResource pr
private boolean debugCollectionTypeDetermined
static short defragSpillThreshold
static short defragReusableMarkStateThreshold
public static EventCounter defrags
Defrag(FreeListPageResource pr)
void prepareHistograms()
This needs to happen at runtime because the collector count is not known at build time.
boolean inDefrag()
void prepare(ChunkList chunkMap, ImmixSpace space)
void globalRelease()
int getDefragHeadroomPages()
void decideWhetherToDefrag(boolean emergencyCollection, boolean collectWholeHeap, int collectionAttempt, boolean userTriggered, boolean exhaustedReusableSpace)
boolean determined(boolean inDefrag)
void getBlock()
private void establishDefragSpillThreshold(ChunkList chunkMap, ImmixSpace space)
boolean spaceExhausted()
int[] getAndZeroSpillMarkHistogram(int ordinal)