org.mmtk.policy.immix
Class CollectorLocal

java.lang.Object
  extended by 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.


Field Summary
private  ChunkList chunkMap
           
private  Defrag defrag
           
private  ImmixSpace immixSpace
           
 
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
CollectorLocal(ImmixSpace space)
          Constructor
 
Method Summary
 void prepare(boolean majorGC)
          Prepare for a collection.
 void release(boolean majorGC)
          Finish up after a collection.
private  void resetLineMarksAndDefragStateTable(int ordinal, short threshold)
           
private  void sweepAllBlocks(boolean majorGC)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

immixSpace

private final ImmixSpace immixSpace

chunkMap

private final ChunkList chunkMap

defrag

private final Defrag defrag
Constructor Detail

CollectorLocal

public CollectorLocal(ImmixSpace space)
Constructor

Parameters:
space - The mark-sweep space to which this allocator instances is bound.
Method Detail

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)