public interface Pointer extends UnsignedWord, PointerBase
Do not use these methods to access Java objects. These methods access the raw memory without any null checks, read- or write barriers. Even when the VM uses compressed pointers, then readObject and writeObject methods access uncompressed pointers.
Modifier and Type | Method and Description |
---|---|
Pointer |
add(int val)
Returns a Pointer whose value is
(this + val) . |
Pointer |
add(UnsignedWord val)
Returns a Pointer whose value is
(this + val) . |
Pointer |
and(int val)
Returns a Pointer whose value is
(this & val) . |
Pointer |
and(UnsignedWord val)
Returns a Pointer whose value is
(this & val) . |
int |
compareAndSwapInt(int offset,
int expectedValue,
int newValue,
LocationIdentity locationIdentity)
In a single atomic step, compares the memory at address
(this + offset) to the
expected value, and if equal, exchanges it for the new value. |
int |
compareAndSwapInt(WordBase offset,
int expectedValue,
int newValue,
LocationIdentity locationIdentity)
In a single atomic step, compares the memory at address
(this + offset) to the
expected value, and if equal, exchanges it for the new value. |
long |
compareAndSwapLong(int offset,
long expectedValue,
long newValue,
LocationIdentity locationIdentity)
In a single atomic step, compares the memory at address
(this + offset) to the
expected value, and if equal, exchanges it for the new value. |
long |
compareAndSwapLong(WordBase offset,
long expectedValue,
long newValue,
LocationIdentity locationIdentity)
In a single atomic step, compares the memory at address
(this + offset) to the
expected value, and if equal, exchanges it for the new value. |
Object |
compareAndSwapObject(int offset,
Object expectedValue,
Object newValue,
LocationIdentity locationIdentity)
In a single atomic step, compares the memory at address
(this + offset) to the
expected value, and if equal, exchanges it for the new value. |
Object |
compareAndSwapObject(WordBase offset,
Object expectedValue,
Object newValue,
LocationIdentity locationIdentity)
In a single atomic step, compares the memory at address
(this + offset) to the
expected value, and if equal, exchanges it for the new value. |
<T extends WordBase> |
compareAndSwapWord(int offset,
T expectedValue,
T newValue,
LocationIdentity locationIdentity)
In a single atomic step, compares the memory at address
(this + offset) to the
expected value, and if equal, exchanges it for the new value. |
<T extends WordBase> |
compareAndSwapWord(WordBase offset,
T expectedValue,
T newValue,
LocationIdentity locationIdentity)
In a single atomic step, compares the memory at address
(this + offset) to the
expected value, and if equal, exchanges it for the new value. |
void |
initializeLong(int offset,
long val,
LocationIdentity locationIdentity)
Initializes the memory at address
(this + offset) . |
void |
initializeLong(WordBase offset,
long val,
LocationIdentity locationIdentity)
Initializes the memory at address
(this + offset) . |
boolean |
logicCompareAndSwapInt(int offset,
int expectedValue,
int newValue,
LocationIdentity locationIdentity)
In a single atomic step, compares the memory at address
(this + offset) to the
expected value, and if equal, exchanges it for the new value. |
boolean |
logicCompareAndSwapInt(WordBase offset,
int expectedValue,
int newValue,
LocationIdentity locationIdentity)
In a single atomic step, compares the memory at address
(this + offset) to the
expected value, and if equal, exchanges it for the new value. |
boolean |
logicCompareAndSwapLong(int offset,
long expectedValue,
long newValue,
LocationIdentity locationIdentity)
In a single atomic step, compares the memory at address
(this + offset) to the
expected value, and if equal, exchanges it for the new value. |
boolean |
logicCompareAndSwapLong(WordBase offset,
long expectedValue,
long newValue,
LocationIdentity locationIdentity)
In a single atomic step, compares the memory at address
(this + offset) to the
expected value, and if equal, exchanges it for the new value. |
boolean |
logicCompareAndSwapObject(int offset,
Object expectedValue,
Object newValue,
LocationIdentity locationIdentity)
In a single atomic step, compares the memory at address
(this + offset) to the
expected value, and if equal, exchanges it for the new value. |
boolean |
logicCompareAndSwapObject(WordBase offset,
Object expectedValue,
Object newValue,
LocationIdentity locationIdentity)
In a single atomic step, compares the memory at address
(this + offset) to the
expected value, and if equal, exchanges it for the new value. |
boolean |
logicCompareAndSwapWord(int offset,
WordBase expectedValue,
WordBase newValue,
LocationIdentity locationIdentity)
In a single atomic step, compares the memory at address
(this + offset) to the
expected value, and if equal, exchanges it for the new value. |
boolean |
logicCompareAndSwapWord(WordBase offset,
WordBase expectedValue,
WordBase newValue,
LocationIdentity locationIdentity)
In a single atomic step, compares the memory at address
(this + offset) to the
expected value, and if equal, exchanges it for the new value. |
Pointer |
or(int val)
Returns a Pointer whose value is
(this | val) . |
Pointer |
or(UnsignedWord val)
Returns a Pointer whose value is
(this | val) . |
byte |
readByte(int offset)
Reads the memory at address
(this + offset) . |
byte |
readByte(int offset,
LocationIdentity locationIdentity)
Reads the memory at address
(this + offset) . |
byte |
readByte(WordBase offset)
Reads the memory at address
(this + offset) . |
byte |
readByte(WordBase offset,
LocationIdentity locationIdentity)
Reads the memory at address
(this + offset) . |
char |
readChar(int offset)
Reads the memory at address
(this + offset) . |
char |
readChar(int offset,
LocationIdentity locationIdentity)
Reads the memory at address
(this + offset) . |
char |
readChar(WordBase offset)
Reads the memory at address
(this + offset) . |
char |
readChar(WordBase offset,
LocationIdentity locationIdentity)
Reads the memory at address
(this + offset) . |
double |
readDouble(int offset)
Reads the memory at address
(this + offset) . |
double |
readDouble(int offset,
LocationIdentity locationIdentity)
Reads the memory at address
(this + offset) . |
double |
readDouble(WordBase offset)
Reads the memory at address
(this + offset) . |
double |
readDouble(WordBase offset,
LocationIdentity locationIdentity)
Reads the memory at address
(this + offset) . |
float |
readFloat(int offset)
Reads the memory at address
(this + offset) . |
float |
readFloat(int offset,
LocationIdentity locationIdentity)
Reads the memory at address
(this + offset) . |
float |
readFloat(WordBase offset)
Reads the memory at address
(this + offset) . |
float |
readFloat(WordBase offset,
LocationIdentity locationIdentity)
Reads the memory at address
(this + offset) . |
int |
readInt(int offset)
Reads the memory at address
(this + offset) . |
int |
readInt(int offset,
LocationIdentity locationIdentity)
Reads the memory at address
(this + offset) . |
int |
readInt(WordBase offset)
Reads the memory at address
(this + offset) . |
int |
readInt(WordBase offset,
LocationIdentity locationIdentity)
Reads the memory at address
(this + offset) . |
long |
readLong(int offset)
Reads the memory at address
(this + offset) . |
long |
readLong(int offset,
LocationIdentity locationIdentity)
Reads the memory at address
(this + offset) . |
long |
readLong(WordBase offset)
Reads the memory at address
(this + offset) . |
long |
readLong(WordBase offset,
LocationIdentity locationIdentity)
Reads the memory at address
(this + offset) . |
Object |
readObject(int offset)
Reads the memory at address
(this + offset) . |
Object |
readObject(int offset,
LocationIdentity locationIdentity)
Reads the memory at address
(this + offset) . |
Object |
readObject(WordBase offset)
Reads the memory at address
(this + offset) . |
Object |
readObject(WordBase offset,
LocationIdentity locationIdentity)
Reads the memory at address
(this + offset) . |
short |
readShort(int offset)
Reads the memory at address
(this + offset) . |
short |
readShort(int offset,
LocationIdentity locationIdentity)
Reads the memory at address
(this + offset) . |
short |
readShort(WordBase offset)
Reads the memory at address
(this + offset) . |
short |
readShort(WordBase offset,
LocationIdentity locationIdentity)
Reads the memory at address
(this + offset) . |
<T extends WordBase> |
readWord(int offset)
Reads the memory at address
(this + offset) . |
<T extends WordBase> |
readWord(int offset,
LocationIdentity locationIdentity)
Reads the memory at address
(this + offset) . |
<T extends WordBase> |
readWord(WordBase offset)
Reads the memory at address
(this + offset) . |
<T extends WordBase> |
readWord(WordBase offset,
LocationIdentity locationIdentity)
Reads the memory at address
(this + offset) . |
<T extends WordBase> |
readWordVolatile(int offset,
LocationIdentity locationIdentity)
Reads the memory at address
(this + offset) in accordance with the volatile
semantics. |
Pointer |
subtract(int val)
Returns a Pointer whose value is
(this - val) . |
Pointer |
subtract(UnsignedWord val)
Returns a Pointer whose value is
(this - val) . |
Object |
toObject()
Unsafe conversion of this Pointer to a Java language object.
|
Object |
toObjectNonNull()
Unsafe conversion of this Pointer to a Java language object.
|
void |
writeByte(int offset,
byte val)
Writes the memory at address
(this + offset) . |
void |
writeByte(int offset,
byte val,
LocationIdentity locationIdentity)
Writes the memory at address
(this + offset) . |
void |
writeByte(WordBase offset,
byte val)
Writes the memory at address
(this + offset) . |
void |
writeByte(WordBase offset,
byte val,
LocationIdentity locationIdentity)
Writes the memory at address
(this + offset) . |
void |
writeChar(int offset,
char val)
Writes the memory at address
(this + offset) . |
void |
writeChar(int offset,
char val,
LocationIdentity locationIdentity)
Writes the memory at address
(this + offset) . |
void |
writeChar(WordBase offset,
char val)
Writes the memory at address
(this + offset) . |
void |
writeChar(WordBase offset,
char val,
LocationIdentity locationIdentity)
Writes the memory at address
(this + offset) . |
void |
writeDouble(int offset,
double val)
Writes the memory at address
(this + offset) . |
void |
writeDouble(int offset,
double val,
LocationIdentity locationIdentity)
Writes the memory at address
(this + offset) . |
void |
writeDouble(WordBase offset,
double val)
Writes the memory at address
(this + offset) . |
void |
writeDouble(WordBase offset,
double val,
LocationIdentity locationIdentity)
Writes the memory at address
(this + offset) . |
void |
writeFloat(int offset,
float val)
Writes the memory at address
(this + offset) . |
void |
writeFloat(int offset,
float val,
LocationIdentity locationIdentity)
Writes the memory at address
(this + offset) . |
void |
writeFloat(WordBase offset,
float val)
Writes the memory at address
(this + offset) . |
void |
writeFloat(WordBase offset,
float val,
LocationIdentity locationIdentity)
Writes the memory at address
(this + offset) . |
void |
writeInt(int offset,
int val)
Writes the memory at address
(this + offset) . |
void |
writeInt(int offset,
int val,
LocationIdentity locationIdentity)
Writes the memory at address
(this + offset) . |
void |
writeInt(WordBase offset,
int val)
Writes the memory at address
(this + offset) . |
void |
writeInt(WordBase offset,
int val,
LocationIdentity locationIdentity)
Writes the memory at address
(this + offset) . |
void |
writeLong(int offset,
long val)
Writes the memory at address
(this + offset) . |
void |
writeLong(int offset,
long val,
LocationIdentity locationIdentity)
Writes the memory at address
(this + offset) . |
void |
writeLong(WordBase offset,
long val)
Writes the memory at address
(this + offset) . |
void |
writeLong(WordBase offset,
long val,
LocationIdentity locationIdentity)
Writes the memory at address
(this + offset) . |
void |
writeObject(int offset,
Object val)
Writes the memory at address
(this + offset) . |
void |
writeObject(int offset,
Object val,
LocationIdentity locationIdentity)
Writes the memory at address
(this + offset) . |
void |
writeObject(WordBase offset,
Object val)
Writes the memory at address
(this + offset) . |
void |
writeObject(WordBase offset,
Object val,
LocationIdentity locationIdentity)
Writes the memory at address
(this + offset) . |
void |
writeShort(int offset,
short val)
Writes the memory at address
(this + offset) . |
void |
writeShort(int offset,
short val,
LocationIdentity locationIdentity)
Writes the memory at address
(this + offset) . |
void |
writeShort(WordBase offset,
short val)
Writes the memory at address
(this + offset) . |
void |
writeShort(WordBase offset,
short val,
LocationIdentity locationIdentity)
Writes the memory at address
(this + offset) . |
void |
writeWord(int offset,
WordBase val)
Writes the memory at address
(this + offset) . |
void |
writeWord(int offset,
WordBase val,
LocationIdentity locationIdentity)
Writes the memory at address
(this + offset) . |
void |
writeWord(WordBase offset,
WordBase val)
Writes the memory at address
(this + offset) . |
void |
writeWord(WordBase offset,
WordBase val,
LocationIdentity locationIdentity)
Writes the memory at address
(this + offset) . |
void |
writeWordVolatile(int offset,
WordBase val)
Writes the memory at address
(this + offset) in accordance with the volatile
semantics. |
aboveOrEqual, aboveOrEqual, aboveThan, aboveThan, belowOrEqual, belowOrEqual, belowThan, belowThan, equal, equal, multiply, multiply, not, notEqual, notEqual, shiftLeft, shiftLeft, unsignedDivide, unsignedDivide, unsignedRemainder, unsignedRemainder, unsignedShiftRight, unsignedShiftRight, xor, xor
isNonNull, isNull
equal, notEqual
Object toObject()
Object toObjectNonNull()
byte readByte(WordBase offset, LocationIdentity locationIdentity)
(this + offset)
. Both the base address and offset are in
bytes.
The offset is always treated as a SignedWord
value. However, the static type is
WordBase
to avoid the frequent casts of UnsignedWord
values (where the caller
knows that the highest-order bit of the unsigned value is never used).
offset
- the signed offset for the memory accesslocationIdentity
- the identity of the readchar readChar(WordBase offset, LocationIdentity locationIdentity)
(this + offset)
. Both the base address and offset are in
bytes.
The offset is always treated as a SignedWord
value. However, the static type is
WordBase
to avoid the frequent casts of UnsignedWord
values (where the caller
knows that the highest-order bit of the unsigned value is never used).
offset
- the signed offset for the memory accesslocationIdentity
- the identity of the readshort readShort(WordBase offset, LocationIdentity locationIdentity)
(this + offset)
. Both the base address and offset are in
bytes.
The offset is always treated as a SignedWord
value. However, the static type is
WordBase
to avoid the frequent casts of UnsignedWord
values (where the caller
knows that the highest-order bit of the unsigned value is never used).
offset
- the signed offset for the memory accesslocationIdentity
- the identity of the readint readInt(WordBase offset, LocationIdentity locationIdentity)
(this + offset)
. Both the base address and offset are in
bytes.
The offset is always treated as a SignedWord
value. However, the static type is
WordBase
to avoid the frequent casts of UnsignedWord
values (where the caller
knows that the highest-order bit of the unsigned value is never used).
offset
- the signed offset for the memory accesslocationIdentity
- the identity of the readlong readLong(WordBase offset, LocationIdentity locationIdentity)
(this + offset)
. Both the base address and offset are in
bytes.
The offset is always treated as a SignedWord
value. However, the static type is
WordBase
to avoid the frequent casts of UnsignedWord
values (where the caller
knows that the highest-order bit of the unsigned value is never used).
offset
- the signed offset for the memory accesslocationIdentity
- the identity of the readfloat readFloat(WordBase offset, LocationIdentity locationIdentity)
(this + offset)
. Both the base address and offset are in
bytes.
The offset is always treated as a SignedWord
value. However, the static type is
WordBase
to avoid the frequent casts of UnsignedWord
values (where the caller
knows that the highest-order bit of the unsigned value is never used).
offset
- the signed offset for the memory accesslocationIdentity
- the identity of the readdouble readDouble(WordBase offset, LocationIdentity locationIdentity)
(this + offset)
. Both the base address and offset are in
bytes.
The offset is always treated as a SignedWord
value. However, the static type is
WordBase
to avoid the frequent casts of UnsignedWord
values (where the caller
knows that the highest-order bit of the unsigned value is never used).
offset
- the signed offset for the memory accesslocationIdentity
- the identity of the read<T extends WordBase> T readWord(WordBase offset, LocationIdentity locationIdentity)
(this + offset)
. Both the base address and offset are in
bytes.
The offset is always treated as a SignedWord
value. However, the static type is
WordBase
to avoid the frequent casts of UnsignedWord
values (where the caller
knows that the highest-order bit of the unsigned value is never used).
offset
- the signed offset for the memory accesslocationIdentity
- the identity of the readObject readObject(WordBase offset, LocationIdentity locationIdentity)
(this + offset)
. Both the base address and offset are in
bytes.
The offset is always treated as a SignedWord
value. However, the static type is
WordBase
to avoid the frequent casts of UnsignedWord
values (where the caller
knows that the highest-order bit of the unsigned value is never used).
offset
- the signed offset for the memory accesslocationIdentity
- the identity of the readbyte readByte(int offset, LocationIdentity locationIdentity)
(this + offset)
. Both the base address and offset are in
bytes.offset
- the signed offset for the memory accesslocationIdentity
- the identity of the readchar readChar(int offset, LocationIdentity locationIdentity)
(this + offset)
. Both the base address and offset are in
bytes.offset
- the signed offset for the memory accesslocationIdentity
- the identity of the readshort readShort(int offset, LocationIdentity locationIdentity)
(this + offset)
. Both the base address and offset are in
bytes.offset
- the signed offset for the memory accesslocationIdentity
- the identity of the readint readInt(int offset, LocationIdentity locationIdentity)
(this + offset)
. Both the base address and offset are in
bytes.offset
- the signed offset for the memory accesslocationIdentity
- the identity of the readlong readLong(int offset, LocationIdentity locationIdentity)
(this + offset)
. Both the base address and offset are in
bytes.offset
- the signed offset for the memory accesslocationIdentity
- the identity of the readfloat readFloat(int offset, LocationIdentity locationIdentity)
(this + offset)
. Both the base address and offset are in
bytes.offset
- the signed offset for the memory accesslocationIdentity
- the identity of the readdouble readDouble(int offset, LocationIdentity locationIdentity)
(this + offset)
. Both the base address and offset are in
bytes.offset
- the signed offset for the memory accesslocationIdentity
- the identity of the read<T extends WordBase> T readWord(int offset, LocationIdentity locationIdentity)
(this + offset)
. Both the base address and offset are in
bytes.offset
- the signed offset for the memory accesslocationIdentity
- the identity of the readObject readObject(int offset, LocationIdentity locationIdentity)
(this + offset)
. Both the base address and offset are in
bytes.offset
- the signed offset for the memory accesslocationIdentity
- the identity of the read<T extends WordBase> T readWordVolatile(int offset, LocationIdentity locationIdentity)
(this + offset)
in accordance with the volatile
semantics. Both the base address and offset are in bytes.offset
- the signed offset for the memory accesslocationIdentity
- the identity of the readvoid writeByte(WordBase offset, byte val, LocationIdentity locationIdentity)
(this + offset)
. Both the base address and offset are in
bytes.
The offset is always treated as a SignedWord
value. However, the static type is
WordBase
to avoid the frequent casts of UnsignedWord
values (where the caller
knows that the highest-order bit of the unsigned value is never used).
offset
- the signed offset for the memory accesslocationIdentity
- the identity of the writeval
- the value to be written to memoryvoid writeChar(WordBase offset, char val, LocationIdentity locationIdentity)
(this + offset)
. Both the base address and offset are in
bytes.
The offset is always treated as a SignedWord
value. However, the static type is
WordBase
to avoid the frequent casts of UnsignedWord
values (where the caller
knows that the highest-order bit of the unsigned value is never used).
offset
- the signed offset for the memory accesslocationIdentity
- the identity of the writeval
- the value to be written to memoryvoid writeShort(WordBase offset, short val, LocationIdentity locationIdentity)
(this + offset)
. Both the base address and offset are in
bytes.
The offset is always treated as a SignedWord
value. However, the static type is
WordBase
to avoid the frequent casts of UnsignedWord
values (where the caller
knows that the highest-order bit of the unsigned value is never used).
offset
- the signed offset for the memory accesslocationIdentity
- the identity of the writeval
- the value to be written to memoryvoid writeInt(WordBase offset, int val, LocationIdentity locationIdentity)
(this + offset)
. Both the base address and offset are in
bytes.
The offset is always treated as a SignedWord
value. However, the static type is
WordBase
to avoid the frequent casts of UnsignedWord
values (where the caller
knows that the highest-order bit of the unsigned value is never used).
offset
- the signed offset for the memory accesslocationIdentity
- the identity of the writeval
- the value to be written to memoryvoid writeLong(WordBase offset, long val, LocationIdentity locationIdentity)
(this + offset)
. Both the base address and offset are in
bytes.
The offset is always treated as a SignedWord
value. However, the static type is
WordBase
to avoid the frequent casts of UnsignedWord
values (where the caller
knows that the highest-order bit of the unsigned value is never used).
offset
- the signed offset for the memory accesslocationIdentity
- the identity of the writeval
- the value to be written to memoryvoid writeFloat(WordBase offset, float val, LocationIdentity locationIdentity)
(this + offset)
. Both the base address and offset are in
bytes.
The offset is always treated as a SignedWord
value. However, the static type is
WordBase
to avoid the frequent casts of UnsignedWord
values (where the caller
knows that the highest-order bit of the unsigned value is never used).
offset
- the signed offset for the memory accesslocationIdentity
- the identity of the writeval
- the value to be written to memoryvoid writeDouble(WordBase offset, double val, LocationIdentity locationIdentity)
(this + offset)
. Both the base address and offset are in
bytes.
The offset is always treated as a SignedWord
value. However, the static type is
WordBase
to avoid the frequent casts of UnsignedWord
values (where the caller
knows that the highest-order bit of the unsigned value is never used).
offset
- the signed offset for the memory accesslocationIdentity
- the identity of the writeval
- the value to be written to memoryvoid writeWord(WordBase offset, WordBase val, LocationIdentity locationIdentity)
(this + offset)
. Both the base address and offset are in
bytes.
The offset is always treated as a SignedWord
value. However, the static type is
WordBase
to avoid the frequent casts of UnsignedWord
values (where the caller
knows that the highest-order bit of the unsigned value is never used).
offset
- the signed offset for the memory accesslocationIdentity
- the identity of the writeval
- the value to be written to memoryvoid initializeLong(WordBase offset, long val, LocationIdentity locationIdentity)
(this + offset)
. Both the base address and offset
are in bytes. The memory must be uninitialized or zero prior to this operation.
The offset is always treated as a SignedWord
value. However, the static type is
WordBase
to avoid the frequent casts of UnsignedWord
values (where the caller
knows that the highest-order bit of the unsigned value is never used).
offset
- the signed offset for the memory accesslocationIdentity
- the identity of the writeval
- the value to be written to memoryvoid writeObject(WordBase offset, Object val, LocationIdentity locationIdentity)
(this + offset)
. Both the base address and offset are in
bytes.
The offset is always treated as a SignedWord
value. However, the static type is
WordBase
to avoid the frequent casts of UnsignedWord
values (where the caller
knows that the highest-order bit of the unsigned value is never used).
offset
- the signed offset for the memory accesslocationIdentity
- the identity of the writeval
- the value to be written to memoryvoid writeByte(int offset, byte val, LocationIdentity locationIdentity)
(this + offset)
. Both the base address and offset are in
bytes.offset
- the signed offset for the memory accesslocationIdentity
- the identity of the writeval
- the value to be written to memoryvoid writeChar(int offset, char val, LocationIdentity locationIdentity)
(this + offset)
. Both the base address and offset are in
bytes.offset
- the signed offset for the memory accesslocationIdentity
- the identity of the writeval
- the value to be written to memoryvoid writeShort(int offset, short val, LocationIdentity locationIdentity)
(this + offset)
. Both the base address and offset are in
bytes.offset
- the signed offset for the memory accesslocationIdentity
- the identity of the writeval
- the value to be written to memoryvoid writeInt(int offset, int val, LocationIdentity locationIdentity)
(this + offset)
. Both the base address and offset are in
bytes.offset
- the signed offset for the memory accesslocationIdentity
- the identity of the writeval
- the value to be written to memoryvoid writeLong(int offset, long val, LocationIdentity locationIdentity)
(this + offset)
. Both the base address and offset are in
bytes.offset
- the signed offset for the memory accesslocationIdentity
- the identity of the writeval
- the value to be written to memoryvoid writeFloat(int offset, float val, LocationIdentity locationIdentity)
(this + offset)
. Both the base address and offset are in
bytes.offset
- the signed offset for the memory accesslocationIdentity
- the identity of the writeval
- the value to be written to memoryvoid writeDouble(int offset, double val, LocationIdentity locationIdentity)
(this + offset)
. Both the base address and offset are in
bytes.offset
- the signed offset for the memory accesslocationIdentity
- the identity of the writeval
- the value to be written to memoryvoid writeWord(int offset, WordBase val, LocationIdentity locationIdentity)
(this + offset)
. Both the base address and offset are in
bytes.offset
- the signed offset for the memory accesslocationIdentity
- the identity of the writeval
- the value to be written to memoryvoid initializeLong(int offset, long val, LocationIdentity locationIdentity)
(this + offset)
. Both the base address and offset
are in bytes. The memory must be uninitialized or zero prior to this operation.offset
- the signed offset for the memory accesslocationIdentity
- the identity of the writeval
- the value to be written to memoryvoid writeObject(int offset, Object val, LocationIdentity locationIdentity)
(this + offset)
. Both the base address and offset are in
bytes.offset
- the signed offset for the memory accesslocationIdentity
- the identity of the writeval
- the value to be written to memorybyte readByte(WordBase offset)
(this + offset)
. Both the base address and offset are in
bytes.
The offset is always treated as a SignedWord
value. However, the static type is
WordBase
to avoid the frequent casts of UnsignedWord
values (where the caller
knows that the highest-order bit of the unsigned value is never used).
offset
- the signed offset for the memory accesschar readChar(WordBase offset)
(this + offset)
. Both the base address and offset are in
bytes.
The offset is always treated as a SignedWord
value. However, the static type is
WordBase
to avoid the frequent casts of UnsignedWord
values (where the caller
knows that the highest-order bit of the unsigned value is never used).
offset
- the signed offset for the memory accessshort readShort(WordBase offset)
(this + offset)
. Both the base address and offset are in
bytes.
The offset is always treated as a SignedWord
value. However, the static type is
WordBase
to avoid the frequent casts of UnsignedWord
values (where the caller
knows that the highest-order bit of the unsigned value is never used).
offset
- the signed offset for the memory accessint readInt(WordBase offset)
(this + offset)
. Both the base address and offset are in
bytes.
The offset is always treated as a SignedWord
value. However, the static type is
WordBase
to avoid the frequent casts of UnsignedWord
values (where the caller
knows that the highest-order bit of the unsigned value is never used).
offset
- the signed offset for the memory accesslong readLong(WordBase offset)
(this + offset)
. Both the base address and offset are in
bytes.
The offset is always treated as a SignedWord
value. However, the static type is
WordBase
to avoid the frequent casts of UnsignedWord
values (where the caller
knows that the highest-order bit of the unsigned value is never used).
offset
- the signed offset for the memory accessfloat readFloat(WordBase offset)
(this + offset)
. Both the base address and offset are in
bytes.
The offset is always treated as a SignedWord
value. However, the static type is
WordBase
to avoid the frequent casts of UnsignedWord
values (where the caller
knows that the highest-order bit of the unsigned value is never used).
offset
- the signed offset for the memory accessdouble readDouble(WordBase offset)
(this + offset)
. Both the base address and offset are in
bytes.
The offset is always treated as a SignedWord
value. However, the static type is
WordBase
to avoid the frequent casts of UnsignedWord
values (where the caller
knows that the highest-order bit of the unsigned value is never used).
offset
- the signed offset for the memory access<T extends WordBase> T readWord(WordBase offset)
(this + offset)
. Both the base address and offset are in
bytes.
The offset is always treated as a SignedWord
value. However, the static type is
WordBase
to avoid the frequent casts of UnsignedWord
values (where the caller
knows that the highest-order bit of the unsigned value is never used).
offset
- the signed offset for the memory accessObject readObject(WordBase offset)
(this + offset)
. Both the base address and offset are in
bytes.
The offset is always treated as a SignedWord
value. However, the static type is
WordBase
to avoid the frequent casts of UnsignedWord
values (where the caller
knows that the highest-order bit of the unsigned value is never used).
offset
- the signed offset for the memory accessbyte readByte(int offset)
(this + offset)
. Both the base address and offset are in
bytes.offset
- the signed offset for the memory accesschar readChar(int offset)
(this + offset)
. Both the base address and offset are in
bytes.offset
- the signed offset for the memory accessshort readShort(int offset)
(this + offset)
. Both the base address and offset are in
bytes.offset
- the signed offset for the memory accessint readInt(int offset)
(this + offset)
. Both the base address and offset are in
bytes.offset
- the signed offset for the memory accesslong readLong(int offset)
(this + offset)
. Both the base address and offset are in
bytes.offset
- the signed offset for the memory accessfloat readFloat(int offset)
(this + offset)
. Both the base address and offset are in
bytes.offset
- the signed offset for the memory accessdouble readDouble(int offset)
(this + offset)
. Both the base address and offset are in
bytes.offset
- the signed offset for the memory access<T extends WordBase> T readWord(int offset)
(this + offset)
. Both the base address and offset are in
bytes.offset
- the signed offset for the memory accessObject readObject(int offset)
(this + offset)
. Both the base address and offset are in
bytes.offset
- the signed offset for the memory accessvoid writeByte(WordBase offset, byte val)
(this + offset)
. Both the base address and offset are in
bytes.
The offset is always treated as a SignedWord
value. However, the static type is
WordBase
to avoid the frequent casts of UnsignedWord
values (where the caller
knows that the highest-order bit of the unsigned value is never used).
offset
- the signed offset for the memory accessval
- the value to be written to memoryvoid writeChar(WordBase offset, char val)
(this + offset)
. Both the base address and offset are in
bytes.
The offset is always treated as a SignedWord
value. However, the static type is
WordBase
to avoid the frequent casts of UnsignedWord
values (where the caller
knows that the highest-order bit of the unsigned value is never used).
offset
- the signed offset for the memory accessval
- the value to be written to memoryvoid writeShort(WordBase offset, short val)
(this + offset)
. Both the base address and offset are in
bytes.
The offset is always treated as a SignedWord
value. However, the static type is
WordBase
to avoid the frequent casts of UnsignedWord
values (where the caller
knows that the highest-order bit of the unsigned value is never used).
offset
- the signed offset for the memory accessval
- the value to be written to memoryvoid writeInt(WordBase offset, int val)
(this + offset)
. Both the base address and offset are in
bytes.
The offset is always treated as a SignedWord
value. However, the static type is
WordBase
to avoid the frequent casts of UnsignedWord
values (where the caller
knows that the highest-order bit of the unsigned value is never used).
offset
- the signed offset for the memory accessval
- the value to be written to memoryvoid writeLong(WordBase offset, long val)
(this + offset)
. Both the base address and offset are in
bytes.
The offset is always treated as a SignedWord
value. However, the static type is
WordBase
to avoid the frequent casts of UnsignedWord
values (where the caller
knows that the highest-order bit of the unsigned value is never used).
offset
- the signed offset for the memory accessval
- the value to be written to memoryvoid writeFloat(WordBase offset, float val)
(this + offset)
. Both the base address and offset are in
bytes.
The offset is always treated as a SignedWord
value. However, the static type is
WordBase
to avoid the frequent casts of UnsignedWord
values (where the caller
knows that the highest-order bit of the unsigned value is never used).
offset
- the signed offset for the memory accessval
- the value to be written to memoryvoid writeDouble(WordBase offset, double val)
(this + offset)
. Both the base address and offset are in
bytes.
The offset is always treated as a SignedWord
value. However, the static type is
WordBase
to avoid the frequent casts of UnsignedWord
values (where the caller
knows that the highest-order bit of the unsigned value is never used).
offset
- the signed offset for the memory accessval
- the value to be written to memoryvoid writeWord(WordBase offset, WordBase val)
(this + offset)
. Both the base address and offset are in
bytes.
The offset is always treated as a SignedWord
value. However, the static type is
WordBase
to avoid the frequent casts of UnsignedWord
values (where the caller
knows that the highest-order bit of the unsigned value is never used).
offset
- the signed offset for the memory accessval
- the value to be written to memoryvoid writeObject(WordBase offset, Object val)
(this + offset)
. Both the base address and offset are in
bytes.
The offset is always treated as a SignedWord
value. However, the static type is
WordBase
to avoid the frequent casts of UnsignedWord
values (where the caller
knows that the highest-order bit of the unsigned value is never used).
offset
- the signed offset for the memory accessval
- the value to be written to memoryint compareAndSwapInt(WordBase offset, int expectedValue, int newValue, LocationIdentity locationIdentity)
(this + offset)
to the
expected value, and if equal, exchanges it for the new value. Both the base address and
offset are in bytes.
The offset is always treated as a SignedWord
value. However, the static type is
WordBase
to avoid the frequent casts of UnsignedWord
values (where the caller
knows that the highest-order bit of the unsigned value is never used).
offset
- the signed offset for the memory accessexpectedValue
- the expected current value at the memory addressnewValue
- the new value for the atomic exchangelocationIdentity
- the identity of the memory locationexpectedValue
if the
exchange was performed.long compareAndSwapLong(WordBase offset, long expectedValue, long newValue, LocationIdentity locationIdentity)
(this + offset)
to the
expected value, and if equal, exchanges it for the new value. Both the base address and
offset are in bytes.
The offset is always treated as a SignedWord
value. However, the static type is
WordBase
to avoid the frequent casts of UnsignedWord
values (where the caller
knows that the highest-order bit of the unsigned value is never used).
offset
- the signed offset for the memory accessexpectedValue
- the expected current value at the memory addressnewValue
- the new value for the atomic exchangelocationIdentity
- the identity of the memory locationexpectedValue
if the
exchange was performed.<T extends WordBase> T compareAndSwapWord(WordBase offset, T expectedValue, T newValue, LocationIdentity locationIdentity)
(this + offset)
to the
expected value, and if equal, exchanges it for the new value. Both the base address and
offset are in bytes.
The offset is always treated as a SignedWord
value. However, the static type is
WordBase
to avoid the frequent casts of UnsignedWord
values (where the caller
knows that the highest-order bit of the unsigned value is never used).
offset
- the signed offset for the memory accessexpectedValue
- the expected current value at the memory addressnewValue
- the new value for the atomic exchangelocationIdentity
- the identity of the memory locationexpectedValue
if the
exchange was performed.Object compareAndSwapObject(WordBase offset, Object expectedValue, Object newValue, LocationIdentity locationIdentity)
(this + offset)
to the
expected value, and if equal, exchanges it for the new value. Both the base address and
offset are in bytes.
The offset is always treated as a SignedWord
value. However, the static type is
WordBase
to avoid the frequent casts of UnsignedWord
values (where the caller
knows that the highest-order bit of the unsigned value is never used).
offset
- the signed offset for the memory accessexpectedValue
- the expected current value at the memory addressnewValue
- the new value for the atomic exchangelocationIdentity
- the identity of the memory locationexpectedValue
if the
exchange was performed.boolean logicCompareAndSwapInt(WordBase offset, int expectedValue, int newValue, LocationIdentity locationIdentity)
(this + offset)
to the
expected value, and if equal, exchanges it for the new value. Both the base address and
offset are in bytes.
The offset is always treated as a SignedWord
value. However, the static type is
WordBase
to avoid the frequent casts of UnsignedWord
values (where the caller
knows that the highest-order bit of the unsigned value is never used).
offset
- the signed offset for the memory accessexpectedValue
- the expected current value at the memory addressnewValue
- the new value for the atomic exchangelocationIdentity
- the identity of the memory locationtrue
if successful. False return indicates that the actual value was not
equal to the expected value.boolean logicCompareAndSwapLong(WordBase offset, long expectedValue, long newValue, LocationIdentity locationIdentity)
(this + offset)
to the
expected value, and if equal, exchanges it for the new value. Both the base address and
offset are in bytes.
The offset is always treated as a SignedWord
value. However, the static type is
WordBase
to avoid the frequent casts of UnsignedWord
values (where the caller
knows that the highest-order bit of the unsigned value is never used).
offset
- the signed offset for the memory accessexpectedValue
- the expected current value at the memory addressnewValue
- the new value for the atomic exchangelocationIdentity
- the identity of the memory locationtrue
if successful. False return indicates that the actual value was not
equal to the expected value.boolean logicCompareAndSwapWord(WordBase offset, WordBase expectedValue, WordBase newValue, LocationIdentity locationIdentity)
(this + offset)
to the
expected value, and if equal, exchanges it for the new value. Both the base address and
offset are in bytes.
The offset is always treated as a SignedWord
value. However, the static type is
WordBase
to avoid the frequent casts of UnsignedWord
values (where the caller
knows that the highest-order bit of the unsigned value is never used).
offset
- the signed offset for the memory accessexpectedValue
- the expected current value at the memory addressnewValue
- the new value for the atomic exchangelocationIdentity
- the identity of the memory locationtrue
if successful. False return indicates that the actual value was not
equal to the expected value.boolean logicCompareAndSwapObject(WordBase offset, Object expectedValue, Object newValue, LocationIdentity locationIdentity)
(this + offset)
to the
expected value, and if equal, exchanges it for the new value. Both the base address and
offset are in bytes.
The offset is always treated as a SignedWord
value. However, the static type is
WordBase
to avoid the frequent casts of UnsignedWord
values (where the caller
knows that the highest-order bit of the unsigned value is never used).
offset
- the signed offset for the memory accessexpectedValue
- the expected current value at the memory addressnewValue
- the new value for the atomic exchangelocationIdentity
- the identity of the memory locationtrue
if successful. False return indicates that the actual value was not
equal to the expected value.void writeByte(int offset, byte val)
(this + offset)
. Both the base address and offset are in
bytes.offset
- the signed offset for the memory accessval
- the value to be written to memoryvoid writeChar(int offset, char val)
(this + offset)
. Both the base address and offset are in
bytes.offset
- the signed offset for the memory accessval
- the value to be written to memoryvoid writeShort(int offset, short val)
(this + offset)
. Both the base address and offset are in
bytes.offset
- the signed offset for the memory accessval
- the value to be written to memoryvoid writeInt(int offset, int val)
(this + offset)
. Both the base address and offset are in
bytes.offset
- the signed offset for the memory accessval
- the value to be written to memoryvoid writeLong(int offset, long val)
(this + offset)
. Both the base address and offset are in
bytes.offset
- the signed offset for the memory accessval
- the value to be written to memoryvoid writeFloat(int offset, float val)
(this + offset)
. Both the base address and offset are in
bytes.offset
- the signed offset for the memory accessval
- the value to be written to memoryvoid writeDouble(int offset, double val)
(this + offset)
. Both the base address and offset are in
bytes.offset
- the signed offset for the memory accessval
- the value to be written to memoryvoid writeWord(int offset, WordBase val)
(this + offset)
. Both the base address and offset are in
bytes.offset
- the signed offset for the memory accessval
- the value to be written to memoryvoid writeObject(int offset, Object val)
(this + offset)
. Both the base address and offset are in
bytes.offset
- the signed offset for the memory accessval
- the value to be written to memoryvoid writeWordVolatile(int offset, WordBase val)
(this + offset)
in accordance with the volatile
semantics. Both the base address and offset are in bytes.offset
- the signed offset for the memory accessval
- the value to be written to memoryint compareAndSwapInt(int offset, int expectedValue, int newValue, LocationIdentity locationIdentity)
(this + offset)
to the
expected value, and if equal, exchanges it for the new value. Both the base address and
offset are in bytes.offset
- the signed offset for the memory accessexpectedValue
- the expected current value at the memory addressnewValue
- the new value for the atomic exchangelocationIdentity
- the identity of the memory locationexpectedValue
if the
exchange was performed.long compareAndSwapLong(int offset, long expectedValue, long newValue, LocationIdentity locationIdentity)
(this + offset)
to the
expected value, and if equal, exchanges it for the new value. Both the base address and
offset are in bytes.offset
- the signed offset for the memory accessexpectedValue
- the expected current value at the memory addressnewValue
- the new value for the atomic exchangelocationIdentity
- the identity of the memory locationexpectedValue
if the
exchange was performed.<T extends WordBase> T compareAndSwapWord(int offset, T expectedValue, T newValue, LocationIdentity locationIdentity)
(this + offset)
to the
expected value, and if equal, exchanges it for the new value. Both the base address and
offset are in bytes.offset
- the signed offset for the memory accessexpectedValue
- the expected current value at the memory addressnewValue
- the new value for the atomic exchangelocationIdentity
- the identity of the memory locationexpectedValue
if the
exchange was performed.Object compareAndSwapObject(int offset, Object expectedValue, Object newValue, LocationIdentity locationIdentity)
(this + offset)
to the
expected value, and if equal, exchanges it for the new value. Both the base address and
offset are in bytes.offset
- the signed offset for the memory accessexpectedValue
- the expected current value at the memory addressnewValue
- the new value for the atomic exchangelocationIdentity
- the identity of the memory locationexpectedValue
if the
exchange was performed.boolean logicCompareAndSwapInt(int offset, int expectedValue, int newValue, LocationIdentity locationIdentity)
(this + offset)
to the
expected value, and if equal, exchanges it for the new value. Both the base address and
offset are in bytes.offset
- the signed offset for the memory accessexpectedValue
- the expected current value at the memory addressnewValue
- the new value for the atomic exchangelocationIdentity
- the identity of the memory locationtrue
if successful. False return indicates that the actual value was not
equal to the expected value.boolean logicCompareAndSwapLong(int offset, long expectedValue, long newValue, LocationIdentity locationIdentity)
(this + offset)
to the
expected value, and if equal, exchanges it for the new value. Both the base address and
offset are in bytes.offset
- the signed offset for the memory accessexpectedValue
- the expected current value at the memory addressnewValue
- the new value for the atomic exchangelocationIdentity
- the identity of the memory locationtrue
if successful. False return indicates that the actual value was not
equal to the expected value.boolean logicCompareAndSwapWord(int offset, WordBase expectedValue, WordBase newValue, LocationIdentity locationIdentity)
(this + offset)
to the
expected value, and if equal, exchanges it for the new value. Both the base address and
offset are in bytes.offset
- the signed offset for the memory accessexpectedValue
- the expected current value at the memory addressnewValue
- the new value for the atomic exchangelocationIdentity
- the identity of the memory locationtrue
if successful. False return indicates that the actual value was not
equal to the expected value.boolean logicCompareAndSwapObject(int offset, Object expectedValue, Object newValue, LocationIdentity locationIdentity)
(this + offset)
to the
expected value, and if equal, exchanges it for the new value. Both the base address and
offset are in bytes.offset
- the signed offset for the memory accessexpectedValue
- the expected current value at the memory addressnewValue
- the new value for the atomic exchangelocationIdentity
- the identity of the memory locationtrue
if successful. False return indicates that the actual value was not
equal to the expected value.Pointer add(UnsignedWord val)
(this + val)
.add
in interface UnsignedWord
val
- value to be added to this Pointer.this + val
Pointer add(int val)
(this + val)
.add
in interface UnsignedWord
val
- value to be added to this Pointer.this + val
Pointer subtract(UnsignedWord val)
(this - val)
.subtract
in interface UnsignedWord
val
- value to be subtracted from this Pointer.this - val
Pointer subtract(int val)
(this - val)
.subtract
in interface UnsignedWord
val
- value to be subtracted from this Pointer.this - val
Pointer and(UnsignedWord val)
(this & val)
.and
in interface UnsignedWord
val
- value to be AND'ed with this Pointer.this & val
Pointer and(int val)
(this & val)
.and
in interface UnsignedWord
val
- value to be AND'ed with this Pointer.this & val
Pointer or(UnsignedWord val)
(this | val)
.or
in interface UnsignedWord
val
- value to be OR'ed with this Pointer.this | val
Pointer or(int val)
(this | val)
.or
in interface UnsignedWord
val
- value to be OR'ed with this Pointer.this | val