public class ObjectReferenceDeque extends LocalDeque
Modifier and Type | Field and Description |
---|---|
String |
name |
head
queue, tail, tailBufferEnd
BUFFER_MASK, BUFFER_SIZE, HEAD_INITIAL_VALUE, LOG_PAGES_PER_BUFFER, META_DATA_SIZE, NEXT_FIELD_OFFSET, PAGES_PER_BUFFER, TAIL_INITIAL_VALUE, USABLE_BUFFER_BYTES
Constructor and Description |
---|
ObjectReferenceDeque(String n,
SharedDeque queue) |
Modifier and Type | Method and Description |
---|---|
void |
insert(ObjectReference object)
Insert an object into the object queue.
|
boolean |
isEmpty() |
boolean |
isNonEmpty() |
ObjectReference |
pop()
Pop an object from the object queue, return zero if the queue
is empty.
|
void |
push(ObjectReference object)
Push an object onto the object queue.
|
void |
pushOOL(ObjectReference object)
Push an object onto the object queue, force this out of line
("OOL"), in some circumstances it is too expensive to have the
push inlined, so this call is made.
|
checkHeadInsert, flushLocal, uncheckedHeadInsert
checkDequeue, headStarved, resetLocal, uncheckedDequeue
bufferSentinel, checkTailInsert, isFlushed, normalizeTail, reset, uncheckedTailInsert
bufferEnd, bufferFirst, bufferLast, bufferLast, bufferLastOffset, bufferOffset, bufferStart
public ObjectReferenceDeque(String n, SharedDeque queue)
n
- human-readable name of the queuequeue
- The shared queue to which this queue will append
its buffers (when full or flushed) and from which it will acquire new
buffers when it has exhausted its own.public final void insert(ObjectReference object)
object
- the object to be inserted into the object queuepublic final void push(ObjectReference object)
object
- the object to be pushed onto the object queuepublic final void pushOOL(ObjectReference object)
object
- the object to be pushed onto the object queuepublic final ObjectReference pop()
public final boolean isEmpty()
public final boolean isNonEmpty()