org.mmtk.plan
Class Trace

java.lang.Object
  extended by org.mmtk.plan.Trace
All Implemented Interfaces:
Constants

public class Trace
extends Object
implements Constants

This abstract class implements the core functionality for a transitive closure over the heap. This class holds the global state, TraceLocal and its super-classes handle per-thread state.


Field Summary
(package private)  SharedDeque rootLocationPool
           
(package private)  SharedDeque valuePool
           
 
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
Trace(RawPageSpace metaDataSpace)
          Constructor
 
Method Summary
 boolean hasWork()
          Is there any work outstanding in this trace.
 void prepare()
          Prepare for a new collection pass.
 void prepareNonBlocking()
          Prepare for a new collection pass.
 void release()
          Release resources after completing a collection pass.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

valuePool

final SharedDeque valuePool

rootLocationPool

final SharedDeque rootLocationPool
Constructor Detail

Trace

public Trace(RawPageSpace metaDataSpace)
Constructor

Method Detail

prepareNonBlocking

public void prepareNonBlocking()
Prepare for a new collection pass.


prepare

public void prepare()
Prepare for a new collection pass. All active GC threads take part.


release

public void release()
Release resources after completing a collection pass.


hasWork

public boolean hasWork()
Is there any work outstanding in this trace. That is are there any pages in the pools.