|
|||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||
java.lang.Objectorg.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 occurring
public 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 occurring
public 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 occurring
public 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 occurring
public 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 occurring
public 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 occurring
public 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 occurring
public 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 occurring
public 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 occurring
public 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 slot
public 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 occurring
public 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 occurring
public 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 occurring
public 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 occurring
public 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 | ||||||||||