org.mmtk.policy.immix
Class CollectorLocal
java.lang.Object
org.mmtk.policy.immix.CollectorLocal
- All Implemented Interfaces:
- Constants
public final class CollectorLocal
- extends Object
- implements Constants
This class implements unsynchronized (local) elements of an
immix collector. Marking is done using both a bit in
each header's object word, and a mark byte. Sweeping is
performed lazily.
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 |
immixSpace
private final ImmixSpace immixSpace
chunkMap
private final ChunkList chunkMap
defrag
private final Defrag defrag
CollectorLocal
public CollectorLocal(ImmixSpace space)
- Constructor
- Parameters:
space
- The mark-sweep space to which this allocator
instances is bound.
prepare
public void prepare(boolean majorGC)
- Prepare for a collection. If paranoid, perform a sanity check.
resetLineMarksAndDefragStateTable
private void resetLineMarksAndDefragStateTable(int ordinal,
short threshold)
release
public void release(boolean majorGC)
- Finish up after a collection.
We help sweeping all the blocks in parallel.
sweepAllBlocks
private void sweepAllBlocks(boolean majorGC)