|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.mmtk.plan.MutatorContext org.mmtk.plan.SimpleMutator org.mmtk.plan.StopTheWorldMutator org.mmtk.plan.marksweep.MSMutator org.mmtk.plan.poisoned.PoisonedMutator
public class PoisonedMutator
This class implements a poisoned collector, that is essentially a test case for read and write barriers in the VM.
Field Summary |
---|
Fields inherited from class org.mmtk.plan.marksweep.MSMutator |
---|
ms |
Fields inherited from class org.mmtk.plan.MutatorContext |
---|
immortal, lgcode, log, los, nonmove, smcode |
Constructor Summary | |
---|---|
PoisonedMutator()
|
Method Summary | |
---|---|
ObjectReference |
objectReferenceRead(ObjectReference src,
Address slot,
Word metaDataA,
Word metaDataB,
int mode)
Read an object reference. |
boolean |
objectReferenceTryCompareAndSwap(ObjectReference src,
Address slot,
ObjectReference old,
ObjectReference tgt,
Word metaDataA,
Word metaDataB,
int mode)
Attempt to atomically exchange the value in the given slot with the passed replacement value. |
void |
objectReferenceWrite(ObjectReference src,
Address slot,
ObjectReference tgt,
Word metaDataA,
Word metaDataB,
int mode)
Write an object reference. |
Methods inherited from class org.mmtk.plan.marksweep.MSMutator |
---|
alloc, collectionPhase, flush, getAllocatorFromSpace, postAlloc |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public PoisonedMutator()
Method Detail |
---|
public void objectReferenceWrite(ObjectReference src, Address slot, ObjectReference tgt, Word metaDataA, Word metaDataB, int mode)
By default do nothing, override if appropriate.
objectReferenceWrite
in class MutatorContext
src
- The object into which the new reference will be storedslot
- The address into which the new reference will be
stored.tgt
- The value of the new referencemetaDataA
- A value that assists the host VM in creating a storemetaDataB
- A value that assists the host VM in creating a storemode
- The context in which the store occurredpublic boolean objectReferenceTryCompareAndSwap(ObjectReference src, Address slot, ObjectReference old, ObjectReference tgt, Word metaDataA, Word metaDataB, int mode)
MutatorContext
By default do nothing, override if appropriate.
objectReferenceTryCompareAndSwap
in class MutatorContext
src
- The object into which the new reference will be storedslot
- The address into which the new reference will be
stored.old
- The old reference to be swapped outtgt
- The target of the new referencemetaDataA
- A value that assists the host VM in creating a storemetaDataB
- A value that assists the host VM in creating a storemode
- The context in which the store occurred
public ObjectReference objectReferenceRead(ObjectReference src, Address slot, Word metaDataA, Word metaDataB, int mode)
MutatorContext
This is a substituting barrier. The call to this barrier takes the place of a load.
objectReferenceRead
in class MutatorContext
src
- The object reference holding the field being read.slot
- The address of the slot being read.metaDataA
- A value that assists the host VM in creating a loadmetaDataB
- A value that assists the host VM in creating a loadmode
- The context in which the load occurred
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |