|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.mmtk.vm.Barriers
public abstract class Barriers
Constructor Summary | |
---|---|
Barriers()
|
Method Summary | |
---|---|
abstract Address |
addressRead(ObjectReference ref,
Word metaDataA,
Word metaDataB,
int mode)
Perform the actual read of the read barrier, returning the value as a raw Address. |
abstract boolean |
addressTryCompareAndSwap(ObjectReference ref,
Address old,
Address target,
Word metaDataA,
Word metaDataB,
int mode)
Attempt an atomic compare and exchange in a write barrier sequence. |
abstract void |
addressWrite(ObjectReference ref,
Address target,
Word metaDataA,
Word metaDataB,
int mode)
Perform the actual write of the write barrier, writing the value as a raw Address. |
abstract boolean |
booleanRead(ObjectReference ref,
Word metaDataA,
Word metaDataB,
int mode)
Perform the actual read of a boolean read barrier. |
abstract void |
booleanWrite(ObjectReference ref,
boolean value,
Word metaDataA,
Word metaDataB,
int mode)
Perform the actual write of a boolean write barrier. |
abstract byte |
byteRead(ObjectReference ref,
Word metaDataA,
Word metaDataB,
int mode)
Perform the actual read of a byte read barrier. |
abstract void |
byteWrite(ObjectReference ref,
byte value,
Word metaDataA,
Word metaDataB,
int mode)
Perform the actual write of a byte write barrier. |
abstract char |
charRead(ObjectReference ref,
Word metaDataA,
Word metaDataB,
int mode)
Perform the actual read of a char read barrier. |
abstract void |
charWrite(ObjectReference ref,
char value,
Word metaDataA,
Word metaDataB,
int mode)
Perform the actual write of a char write barrier. |
abstract double |
doubleRead(ObjectReference ref,
Word metaDataA,
Word metaDataB,
int mode)
Perform the actual read of a double read barrier. |
abstract void |
doubleWrite(ObjectReference ref,
double value,
Word metaDataA,
Word metaDataB,
int mode)
Perform the actual write of a double write barrier. |
abstract Extent |
extentRead(ObjectReference ref,
Word metaDataA,
Word metaDataB,
int mode)
Perform the actual read of the read barrier, returning the value as a raw Extent. |
abstract void |
extentWrite(ObjectReference ref,
Extent target,
Word metaDataA,
Word metaDataB,
int mode)
Perform the actual write of the write barrier, writing the value as a raw Extent. |
abstract float |
floatRead(ObjectReference ref,
Word metaDataA,
Word metaDataB,
int mode)
Perform the actual read of a float read barrier. |
abstract void |
floatWrite(ObjectReference ref,
float value,
Word metaDataA,
Word metaDataB,
int mode)
Perform the actual write of a float write barrier. |
abstract int |
intRead(ObjectReference ref,
Word metaDataA,
Word metaDataB,
int mode)
Perform the actual read of a int read barrier. |
abstract boolean |
intTryCompareAndSwap(ObjectReference objref,
int old,
int value,
Word metaDataA,
Word metaDataB,
int mode)
Attempt an atomic compare and exchange in a write barrier sequence. |
abstract void |
intWrite(ObjectReference ref,
int value,
Word metaDataA,
Word metaDataB,
int mode)
Perform the actual write of a int write barrier. |
abstract long |
longRead(ObjectReference ref,
Word metaDataA,
Word metaDataB,
int mode)
Perform the actual read of a long read barrier. |
abstract boolean |
longTryCompareAndSwap(ObjectReference objref,
long old,
long value,
Word metaDataA,
Word metaDataB,
int mode)
Attempt an atomic compare and exchange in a write barrier sequence. |
abstract void |
longWrite(ObjectReference ref,
long value,
Word metaDataA,
Word metaDataB,
int mode)
Perform the actual write of a long write barrier. |
abstract void |
objectArrayStoreNoGCBarrier(Object[] dst,
int index,
Object value)
Sets an element of an object array without invoking any write barrier. |
abstract ObjectReference |
objectReferenceAtomicWrite(ObjectReference ref,
ObjectReference target,
Word metaDataA,
Word metaDataB,
int mode)
Atomically write a reference field of an object or array and return the old value of the reference field. |
abstract void |
objectReferenceNonHeapWrite(Address slot,
ObjectReference target,
Word metaDataA,
Word metaDataB)
Perform the actual write of the non-heap write barrier. |
abstract ObjectReference |
objectReferenceRead(ObjectReference ref,
Word metaDataA,
Word metaDataB,
int mode)
Perform the actual read of a read barrier. |
abstract boolean |
objectReferenceTryCompareAndSwap(ObjectReference ref,
ObjectReference old,
ObjectReference target,
Word metaDataA,
Word metaDataB,
int mode)
Attempt an atomic compare and exchange in a write barrier sequence. |
abstract void |
objectReferenceWrite(ObjectReference ref,
ObjectReference value,
Word metaDataA,
Word metaDataB,
int mode)
Perform the actual write of an object reference write barrier. |
abstract Offset |
offsetRead(ObjectReference ref,
Word metaDataA,
Word metaDataB,
int mode)
Perform the actual read of the read barrier, returning the value as a raw Offset. |
abstract void |
offsetWrite(ObjectReference ref,
Offset target,
Word metaDataA,
Word metaDataB,
int mode)
Perform the actual write of the write barrier, writing the value as a raw Offset. |
abstract short |
shortRead(ObjectReference ref,
Word metaDataA,
Word metaDataB,
int mode)
Perform the actual read of a short read barrier. |
abstract void |
shortWrite(ObjectReference ref,
short value,
Word metaDataA,
Word metaDataB,
int mode)
Perform the actual write of a short write barrier. |
abstract Word |
wordAtomicWrite(ObjectReference ref,
Word rawTarget,
Word metaDataA,
Word metaDataB,
int mode)
Atomically write a Word field of an object or array and return the old value of the Word field. |
abstract Word |
wordRead(ObjectReference ref,
Word metaDataA,
Word metaDataB,
int mode)
Perform the actual read of the read barrier, returning the value as a raw Word. |
abstract boolean |
wordTryCompareAndSwap(ObjectReference ref,
Word old,
Word target,
Word metaDataA,
Word metaDataB,
int mode)
Attempt an atomic compare and exchange in a write barrier sequence. |
abstract void |
wordWrite(ObjectReference ref,
Word target,
Word metaDataA,
Word metaDataB,
int mode)
Perform the actual write of the write barrier, writing the value as a raw Word. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public Barriers()
Method Detail |
---|
public abstract void booleanWrite(ObjectReference ref, boolean value, Word metaDataA, Word metaDataB, int mode)
ref
- The object that has the boolean fieldvalue
- The value that the slot will be updated tometaDataA
- Opaque, VM-specific, meta-data identifying the slotmetaDataB
- Opaque, VM-specific, meta-data identifying the slotmode
- The context in which the write is occurringpublic abstract boolean booleanRead(ObjectReference ref, Word metaDataA, Word metaDataB, int mode)
ref
- The object that has the boolean fieldmetaDataA
- Opaque, VM-specific, meta-data identifying the slotmetaDataB
- Opaque, VM-specific, meta-data identifying the slotmode
- The context in which the write is occurring
public abstract void byteWrite(ObjectReference ref, byte value, Word metaDataA, Word metaDataB, int mode)
ref
- The object that has the byte fieldvalue
- The value that the slot will be updated tometaDataA
- Opaque, VM-specific, meta-data identifying the slotmetaDataB
- Opaque, VM-specific, meta-data identifying the slotmode
- The context in which the write is occurringpublic abstract byte byteRead(ObjectReference ref, Word metaDataA, Word metaDataB, int mode)
ref
- The object that has the byte fieldmetaDataA
- Opaque, VM-specific, meta-data identifying the slotmetaDataB
- Opaque, VM-specific, meta-data identifying the slotmode
- The context in which the write is occurring
public abstract void charWrite(ObjectReference ref, char value, Word metaDataA, Word metaDataB, int mode)
ref
- The object that has the char fieldvalue
- The value that the slot will be updated tometaDataA
- Opaque, VM-specific, meta-data identifying the slotmetaDataB
- Opaque, VM-specific, meta-data identifying the slotmode
- The context in which the write is occurringpublic abstract char charRead(ObjectReference ref, Word metaDataA, Word metaDataB, int mode)
ref
- The object that has the char fieldmetaDataA
- Opaque, VM-specific, meta-data identifying the slotmetaDataB
- Opaque, VM-specific, meta-data identifying the slotmode
- The context in which the write is occurring
public abstract void shortWrite(ObjectReference ref, short value, Word metaDataA, Word metaDataB, int mode)
ref
- The object that has the short fieldvalue
- The value that the slot will be updated tometaDataA
- Opaque, VM-specific, meta-data identifying the slotmetaDataB
- Opaque, VM-specific, meta-data identifying the slotmode
- The context in which the write is occurringpublic abstract short shortRead(ObjectReference ref, Word metaDataA, Word metaDataB, int mode)
ref
- The object that has the short fieldmetaDataA
- Opaque, VM-specific, meta-data identifying the slotmetaDataB
- Opaque, VM-specific, meta-data identifying the slotmode
- The context in which the write is occurring
public abstract void intWrite(ObjectReference ref, int value, Word metaDataA, Word metaDataB, int mode)
ref
- The object that has the int fieldvalue
- The value that the slot will be updated tometaDataA
- Opaque, VM-specific, meta-data identifying the slotmetaDataB
- Opaque, VM-specific, meta-data identifying the slotmode
- The context in which the write is occurringpublic abstract int intRead(ObjectReference ref, Word metaDataA, Word metaDataB, int mode)
ref
- The object that has the int fieldmetaDataA
- Opaque, VM-specific, meta-data identifying the slotmetaDataB
- Opaque, VM-specific, meta-data identifying the slotmode
- The context in which the write is occurring
public abstract boolean intTryCompareAndSwap(ObjectReference objref, int old, int value, Word metaDataA, Word metaDataB, int mode)
objref
- The object that has the int fieldold
- The old int to be swapped outvalue
- the new intmetaDataA
- Opaque, VM-specific, meta-data identifying the slotmetaDataB
- Opaque, VM-specific, meta-data identifying the slotmode
- The context in which the write is occurring
public abstract void longWrite(ObjectReference ref, long value, Word metaDataA, Word metaDataB, int mode)
ref
- The object that has the long fieldvalue
- The value that the slot will be updated tometaDataA
- Opaque, VM-specific, meta-data identifying the slotmetaDataB
- Opaque, VM-specific, meta-data identifying the slotmode
- The context in which the write is occurringpublic abstract long longRead(ObjectReference ref, Word metaDataA, Word metaDataB, int mode)
ref
- The object that has the long fieldmetaDataA
- Opaque, VM-specific, meta-data identifying the slotmetaDataB
- Opaque, VM-specific, meta-data identifying the slotmode
- The context in which the write is occurring
public abstract boolean longTryCompareAndSwap(ObjectReference objref, long old, long value, Word metaDataA, Word metaDataB, int mode)
objref
- The object that has the long fieldold
- The old long to be swapped outvalue
- the new longmetaDataA
- Opaque, VM-specific, meta-data identifying the slotmetaDataB
- Opaque, VM-specific, meta-data identifying the slotmode
- The context in which the write is occurring
public abstract void floatWrite(ObjectReference ref, float value, Word metaDataA, Word metaDataB, int mode)
ref
- The object that has the float fieldvalue
- The value that the slot will be updated tometaDataA
- Opaque, VM-specific, meta-data identifying the slotmetaDataB
- Opaque, VM-specific, meta-data identifying the slotmode
- The context in which the write is occurringpublic abstract float floatRead(ObjectReference ref, Word metaDataA, Word metaDataB, int mode)
ref
- The object that has the float fieldmetaDataA
- Opaque, VM-specific, meta-data identifying the slotmetaDataB
- Opaque, VM-specific, meta-data identifying the slotmode
- The context in which the write is occurring
public abstract void doubleWrite(ObjectReference ref, double value, Word metaDataA, Word metaDataB, int mode)
ref
- The object that has the double fieldvalue
- The value that the slot will be updated tometaDataA
- Opaque, VM-specific, meta-data identifying the slotmetaDataB
- Opaque, VM-specific, meta-data identifying the slotmode
- The context in which the write is occurringpublic abstract double doubleRead(ObjectReference ref, Word metaDataA, Word metaDataB, int mode)
ref
- The object that has the double fieldmetaDataA
- Opaque, VM-specific, meta-data identifying the slotmetaDataB
- Opaque, VM-specific, meta-data identifying the slotmode
- The context in which the write is occurring
public abstract void objectReferenceWrite(ObjectReference ref, ObjectReference value, Word metaDataA, Word metaDataB, int mode)
ref
- The object that has the reference fieldvalue
- The value that the slot will be updated tometaDataA
- Opaque, VM-specific, meta-data identifying the slotmetaDataB
- Opaque, VM-specific, meta-data identifying the slotmode
- The context in which the write is occurringpublic abstract ObjectReference objectReferenceRead(ObjectReference ref, Word metaDataA, Word metaDataB, int mode)
ref
- The object that has the reference fieldmetaDataA
- Opaque, VM-specific, meta-data identifying the slotmetaDataB
- Opaque, VM-specific, meta-data identifying the slotmode
- The context in which the write is occurring
public abstract void objectReferenceNonHeapWrite(Address slot, ObjectReference target, Word metaDataA, Word metaDataB)
slot
- The address that contains the reference fieldtarget
- The value that the slot will be updated tometaDataA
- Opaque, VM-specific, meta-data identifying the slotmetaDataB
- Opaque, VM-specific, meta-data identifying the slotpublic abstract ObjectReference objectReferenceAtomicWrite(ObjectReference ref, ObjectReference target, Word metaDataA, Word metaDataB, int mode)
ref
- The object that has the reference fieldtarget
- The value that the slot will be updated tometaDataA
- Opaque, VM-specific, meta-data identifying the slotmetaDataB
- Opaque, VM-specific, meta-data identifying the slotmode
- The context in which the write is occurring
public abstract boolean objectReferenceTryCompareAndSwap(ObjectReference ref, ObjectReference old, ObjectReference target, Word metaDataA, Word metaDataB, int mode)
ref
- The object that has the reference fieldold
- The old reference to be swapped outtarget
- The value that the slot will be updated tometaDataA
- Opaque, VM-specific, meta-data identifying the slotmetaDataB
- Opaque, VM-specific, meta-data identifying the slotmode
- The context in which the write is occurring
public abstract void wordWrite(ObjectReference ref, Word target, Word metaDataA, Word metaDataB, int mode)
ref
- The object that has the Word fieldtarget
- The value that the slot will be updated tometaDataA
- Opaque, VM-specific, meta-data identifying the slotmetaDataB
- Opaque, VM-specific, meta-data identifying the slotmode
- The context in which the write is occurringpublic abstract Word wordAtomicWrite(ObjectReference ref, Word rawTarget, Word metaDataA, Word metaDataB, int mode)
ref
- The object that has the Word fieldrawTarget
- The value that the slot will be updated tometaDataA
- Opaque, VM-specific, meta-data identifying the slotmetaDataB
- Opaque, VM-specific, meta-data identifying the slotmode
- The context in which the write is occurring
public abstract boolean wordTryCompareAndSwap(ObjectReference ref, Word old, Word target, Word metaDataA, Word metaDataB, int mode)
ref
- The object that has the Word fieldold
- The old Word to be swapped outtarget
- The value that the slot will be updated tometaDataA
- Opaque, VM-specific, meta-data identifying the slotmetaDataB
- Opaque, VM-specific, meta-data identifying the slotmode
- The context in which the write is occurring
public abstract Word wordRead(ObjectReference ref, Word metaDataA, Word metaDataB, int mode)
ref
- The object that has the Word fieldmetaDataA
- Opaque, VM-specific, meta-data identifying the slotmetaDataB
- Opaque, VM-specific, meta-data identifying the slotmode
- The context in which the write is occurring
public abstract void addressWrite(ObjectReference ref, Address target, Word metaDataA, Word metaDataB, int mode)
ref
- The object that has the Address fieldtarget
- The value that the slot will be updated tometaDataA
- Opaque, VM-specific, meta-data identifying the slotmetaDataB
- Opaque, VM-specific, meta-data identifying the slotmode
- The context in which the write is occurringpublic abstract Address addressRead(ObjectReference ref, Word metaDataA, Word metaDataB, int mode)
ref
- The object that has the Address fieldmetaDataA
- Opaque, VM-specific, meta-data identifying the slotmetaDataB
- Opaque, VM-specific, meta-data identifying the slotmode
- The context in which the write is occurring
public abstract boolean addressTryCompareAndSwap(ObjectReference ref, Address old, Address target, Word metaDataA, Word metaDataB, int mode)
ref
- The object that has the Address fieldold
- The old address to be swapped outtarget
- The value that the slot will be updated tometaDataA
- Opaque, VM-specific, meta-data identifying the slotmetaDataB
- Opaque, VM-specific, meta-data identifying the slotmode
- The context in which the write is occurring
public abstract void offsetWrite(ObjectReference ref, Offset target, Word metaDataA, Word metaDataB, int mode)
ref
- The object that has the Offset fieldtarget
- The value that the slot will be updated tometaDataA
- Opaque, VM-specific, meta-data identifying the slotmetaDataB
- Opaque, VM-specific, meta-data identifying the slotmode
- The context in which the write is occurringpublic abstract Offset offsetRead(ObjectReference ref, Word metaDataA, Word metaDataB, int mode)
ref
- The object that has the Offset fieldmetaDataA
- Opaque, VM-specific, meta-data identifying the slotmetaDataB
- Opaque, VM-specific, meta-data identifying the slotmode
- The context in which the write is occurring
public abstract void extentWrite(ObjectReference ref, Extent target, Word metaDataA, Word metaDataB, int mode)
ref
- The object that has the Extent fieldtarget
- The value that the slot will be updated tometaDataA
- Opaque, VM-specific, meta-data identifying the slotmetaDataB
- Opaque, VM-specific, meta-data identifying the slotmode
- The context in which the write is occurringpublic abstract Extent extentRead(ObjectReference ref, Word metaDataA, Word metaDataB, int mode)
ref
- The object that has the Extent fieldmetaDataA
- Opaque, VM-specific, meta-data identifying the slotmetaDataB
- Opaque, VM-specific, meta-data identifying the slotmode
- The context in which the write is occurring
public abstract void objectArrayStoreNoGCBarrier(Object[] dst, int index, Object value)
dst
- the destination arrayindex
- the index of the element to setvalue
- the new value for the element
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |