| Modifier and Type | Field and Description |
|---|---|
| public static final long | |
| public static final int |
| Access | Constructor and Description |
|---|---|
| pack-priv |
| 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#calcCircularRefElementOffsetan 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 |
|---|---|
| pack-priv 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
| |