Modifier and Type | Field and Description |
---|---|
public static final long | |
public static final int |
Access | Constructor and Description |
---|---|
public |
Modifier and Type | Method and Description |
---|---|
public static <E> E[] | allocateRefArray(int capacity)
This makes for an easier time generating the atomic queues, and removes some warnings. |
public static long | Returns: the offset in bytes within the circular array for a given indexdesirable element index index, long (length - 1) mask)Note circular arrays are assumed a power of 2 in length and the `mask` is (length - 1). |
public static long | Returns: the offset in bytes within the array for a given indexdesirable element index index)
|
public static <E> E | Returns: the element at the offsetthis.buffer buffer, long computed via offset)UnsafeRefArrayAccess#calcRefElementOffset(long) A plain load (no ordering/fences) of an element from a given offset. |
public static <E> E | Returns: the element at the offsetthis.buffer buffer, long computed via offset)UnsafeRefArrayAccess#calcRefElementOffset(long) A volatile load of an element from a given offset. |
public static <E> void | soRefElement(E[]
this.buffer buffer, long computed via offset, E UnsafeRefArrayAccess#calcCircularRefElementOffset an orderly kitty e)An ordered store of an element to a given offset |
public static <E> void | spRefElement(E[]
this.buffer buffer, long computed via offset, E UnsafeRefArrayAccess#calcRefElementOffset(long) an orderly kitty e)A plain store (no ordering/fences) of an element to a given offset |
REF_ARRAY_BASE | back to summary |
---|---|
public static final long REF_ARRAY_BASE |
REF_ELEMENT_SHIFT | back to summary |
---|---|
public static final int REF_ELEMENT_SHIFT |
UnsafeRefArrayAccess | back to summary |
---|---|
public UnsafeRefArrayAccess() |
allocateRefArray | back to summary |
---|---|
public static <E> E[] allocateRefArray(int capacity) This makes for an easier time generating the atomic queues, and removes some warnings.
|
calcCircularRefElementOffset | back to summary |
---|---|
public static long calcCircularRefElementOffset(long index, long mask) Note circular arrays are assumed a power of 2 in length and the `mask` is (length - 1).
|
calcRefElementOffset | back to summary |
---|---|
public static long calcRefElementOffset(long index)
|
lpRefElement | back to summary |
---|---|
public static <E> E lpRefElement(E[] buffer, long offset) A plain load (no ordering/fences) of an element from a given offset.
|
lvRefElement | back to summary |
---|---|
public static <E> E lvRefElement(E[] buffer, long offset) A volatile load of an element from a given offset.
|
soRefElement | back to summary |
---|---|
public static <E> void soRefElement(E[] buffer, long offset, E e) An ordered store of an element to a given offset
|
spRefElement | back to summary |
---|---|
public static <E> void spRefElement(E[] buffer, long offset, E e) A plain store (no ordering/fences) of an element to a given offset
|