org.mmtk.plan
Class ConcurrentPhase

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

public final class ConcurrentPhase
extends Phase
implements Constants

Phases of a garbage collection.

A concurrent phase runs concurrently with mutator activity.


Field Summary
private  int atomicScheduledPhase
          The atomic scheduled phase to use when concurrent collection is not allowed
 
Fields inherited from class org.mmtk.plan.Phase
id, name, SCHEDULE_COLLECTOR, SCHEDULE_COMPLEX, SCHEDULE_CONCURRENT, SCHEDULE_GLOBAL, SCHEDULE_MUTATOR, SCHEDULE_PLACEHOLDER, timer
 
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
protected ConcurrentPhase(String name, int atomicScheduledPhase)
          Construct a complex phase from an array of phase IDs.
protected ConcurrentPhase(String name, Timer timer, int atomicScheduledPhase)
          Construct a complex phase from an array of phase IDs, but using the specified timer rather than creating one.
 
Method Summary
protected  int getAtomicScheduledPhase()
          Return the atomic schedule phase, to be used in place of this phase when concurrent collection is not available.
protected  void logPhase()
          Display a description of this phase, for debugging purposes.
 
Methods inherited from class org.mmtk.plan.Phase
beginNewPhaseStack, clearConcurrentPhase, concurrentPhaseActive, continuePhaseStack, createComplex, createComplex, createConcurrent, createConcurrent, createSimple, createSimple, getConcurrentPhaseId, getId, getName, getPhase, getPhaseId, getSchedule, getScheduleName, isPhaseStackEmpty, notifyConcurrentPhaseComplete, notifyConcurrentPhaseIncomplete, pushScheduledPhase, resetPhaseStack, scheduleCollector, scheduleComplex, scheduleConcurrent, scheduleGlobal, scheduleMutator, schedulePlaceholder
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

atomicScheduledPhase

private final int atomicScheduledPhase
The atomic scheduled phase to use when concurrent collection is not allowed

Constructor Detail

ConcurrentPhase

protected ConcurrentPhase(String name,
                          int atomicScheduledPhase)
Construct a complex phase from an array of phase IDs.

Parameters:
name - The name of the phase.
atomicScheduledPhase - The atomic scheduled phase

ConcurrentPhase

protected ConcurrentPhase(String name,
                          Timer timer,
                          int atomicScheduledPhase)
Construct a complex phase from an array of phase IDs, but using the specified timer rather than creating one.

Parameters:
name - The name of the phase.
timer - The timer for this phase to contribute to.
atomicScheduledPhase - The atomic scheduled phase
Method Detail

logPhase

protected void logPhase()
Description copied from class: Phase
Display a description of this phase, for debugging purposes.

Specified by:
logPhase in class Phase

getAtomicScheduledPhase

protected int getAtomicScheduledPhase()
Return the atomic schedule phase, to be used in place of this phase when concurrent collection is not available.

Returns:
The atomic scheduled phase.