org.mmtk.vm
Class Debug

java.lang.Object
  extended by org.mmtk.vm.Debug
Direct Known Subclasses:
Debug

public abstract class Debug
extends Object


Constructor Summary
Debug()
           
 
Method Summary
 void arrayRemsetEntry(Address start, Address guard)
          An array remset entry has been traced during collection.
 void collectorPhase(short phaseId, int ordinal, boolean before)
          A per-collector GC collection phase
 void globalPhase(short phaseId, boolean before)
          A global GC collection phase
abstract  boolean isEnabled()
          Global switch for debugging - if false the other methods of this class are never called.
(package private) static boolean isEnabledTrapdoor(Debug d)
           
 void modbufEntry(ObjectReference object)
          A modbuf (object remembering barrier) entry has been traced during collection.
 void mutatorPhase(short phaseId, int ordinal, boolean before)
          A per-mutator GC collection phase
 void queueHeadInsert(String queueName, Address value)
          An entry has been inserted at the head of a queue *** Non-standard, requires plumbing into a collector during debugging ***
 void queueHeadRemove(String queueName, Address value)
          An entry has been inserted at the head of a queue *** Non-standard, requires plumbing into a collector during debugging ***
 void queueTailInsert(String queueName, Address value)
          An entry has been inserted at the head of a queue *** Non-standard, requires plumbing into a collector during debugging ***
 void queueTailRemove(String queueName, Address value)
          An entry has been inserted at the head of a queue *** Non-standard, requires plumbing into a collector during debugging ***
 void remsetEntry(Address slot)
          A remset (slot remembering barrier) entry has been traced during collection.
 void traceObject(TraceLocal trace, ObjectReference object)
          Trace an object during GC *** Non-standard, requires plumbing into a collector during debugging ***
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Debug

public Debug()
Method Detail

isEnabled

public abstract boolean isEnabled()
Global switch for debugging - if false the other methods of this class are never called.

Returns:
Whether debugging is enabled

modbufEntry

public void modbufEntry(ObjectReference object)
A modbuf (object remembering barrier) entry has been traced during collection.

Parameters:
object - The modbuf entry

remsetEntry

public void remsetEntry(Address slot)
A remset (slot remembering barrier) entry has been traced during collection.

Parameters:
slot - The remset entry

arrayRemsetEntry

public void arrayRemsetEntry(Address start,
                             Address guard)
An array remset entry has been traced during collection. Implicitly the slots from start (inclusive) through to guard (non-inclusive) are traced as remset entries

Parameters:
start - The entry start address
guard - The guard

globalPhase

public void globalPhase(short phaseId,
                        boolean before)
A global GC collection phase

Parameters:
phaseId - The phase ID
before - true at the start of the phase, false at the end

collectorPhase

public void collectorPhase(short phaseId,
                           int ordinal,
                           boolean before)
A per-collector GC collection phase

Parameters:
phaseId - The phase ID
ordinal - The collector ID (within this collection)
before - true at the start of the phase, false at the end

mutatorPhase

public void mutatorPhase(short phaseId,
                         int ordinal,
                         boolean before)
A per-mutator GC collection phase

Parameters:
phaseId - The phase ID
ordinal - The mutator ID
before - true at the start of the phase, false at the end

traceObject

public void traceObject(TraceLocal trace,
                        ObjectReference object)
Trace an object during GC *** Non-standard, requires plumbing into a collector during debugging ***

Parameters:
trace - The trace being performed
object - The object

queueHeadInsert

public void queueHeadInsert(String queueName,
                            Address value)
An entry has been inserted at the head of a queue *** Non-standard, requires plumbing into a collector during debugging ***

Parameters:
queueName - The name of the queue
value - The value

queueTailInsert

public void queueTailInsert(String queueName,
                            Address value)
An entry has been inserted at the head of a queue *** Non-standard, requires plumbing into a collector during debugging ***

Parameters:
queueName - The name of the queue
value - The value

queueHeadRemove

public void queueHeadRemove(String queueName,
                            Address value)
An entry has been inserted at the head of a queue *** Non-standard, requires plumbing into a collector during debugging ***

Parameters:
queueName - The name of the queue
value - The value

queueTailRemove

public void queueTailRemove(String queueName,
                            Address value)
An entry has been inserted at the head of a queue *** Non-standard, requires plumbing into a collector during debugging ***

Parameters:
queueName - The name of the queue
value - The value

isEnabledTrapdoor

static final boolean isEnabledTrapdoor(Debug d)