public class PoisonedMutator extends MSMutator
Constructor and Description |
---|
PoisonedMutator() |
Modifier and Type | Method and Description |
---|---|
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.
|
alloc, collectionPhase, flush, getAllocatorFromSpace, postAlloc
addressBulkCopy, addressRead, addressTryCompareAndSwap, addressWrite, assertRemsetsFlushed, booleanBulkCopy, booleanRead, booleanWrite, byteBulkCopy, byteRead, byteWrite, charBulkCopy, charRead, charWrite, checkAllocator, deinitMutator, doubleBulkCopy, doubleRead, doubleWrite, extentBulkCopy, extentRead, extentWrite, floatBulkCopy, floatRead, floatWrite, flushRememberedSets, getId, getLog, initMutator, intBulkCopy, intRead, intTryCompareAndSwap, intWrite, javaLangReferenceReadBarrier, longBulkCopy, longRead, longTryCompareAndSwap, longWrite, objectReferenceBulkCopy, objectReferenceNonHeapRead, objectReferenceNonHeapWrite, offsetBulkCopy, offsetRead, offsetWrite, shortBulkCopy, shortRead, shortWrite, wordBulkCopy, wordRead, wordTryCompareAndSwap, wordWrite
public PoisonedMutator()
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 occurredpublic 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