org.mmtk.utility.deque
Class ObjectReferenceDeque
java.lang.Object
org.mmtk.utility.deque.Deque
org.mmtk.utility.deque.LocalSSB
org.mmtk.utility.deque.LocalQueue
org.mmtk.utility.deque.LocalDeque
org.mmtk.utility.deque.ObjectReferenceDeque
- All Implemented Interfaces:
- Constants
public class ObjectReferenceDeque
- extends LocalDeque
- implements Constants
This supports unsynchronized enqueuing and dequeuing of
object references
Fields inherited from interface org.mmtk.utility.Constants |
ALIGNMENT_VALUE, ARRAY_ELEMENT, BITS_IN_ADDRESS, BITS_IN_BYTE, BITS_IN_CHAR, BITS_IN_INT, BITS_IN_PAGE, BITS_IN_SHORT, BITS_IN_WORD, BYTES_IN_ADDRESS, BYTES_IN_BYTE, BYTES_IN_CHAR, BYTES_IN_INT, BYTES_IN_KBYTE, BYTES_IN_MBYTE, BYTES_IN_PAGE, BYTES_IN_SHORT, BYTES_IN_WORD, CARD_MASK, CARD_META_PAGES_PER_REGION, INSTANCE_FIELD, LOG_BITS_IN_ADDRESS, LOG_BITS_IN_BYTE, LOG_BITS_IN_CHAR, LOG_BITS_IN_INT, LOG_BITS_IN_PAGE, LOG_BITS_IN_SHORT, LOG_BITS_IN_WORD, LOG_BYTES_IN_ADDRESS, LOG_BYTES_IN_ADDRESS_SPACE, LOG_BYTES_IN_BYTE, LOG_BYTES_IN_CHAR, LOG_BYTES_IN_INT, LOG_BYTES_IN_KBYTE, LOG_BYTES_IN_MBYTE, LOG_BYTES_IN_PAGE, LOG_BYTES_IN_SHORT, LOG_BYTES_IN_WORD, LOG_CARD_BYTES, LOG_CARD_GRAIN, LOG_CARD_META_BYTES, LOG_CARD_META_PAGES, LOG_CARD_META_SIZE, LOG_CARD_UNITS, LOG_MIN_ALIGNMENT, MAX_ALIGNMENT, MAX_BYTES_PADDING, MAX_INT, MIN_ALIGNMENT, MIN_INT, SUPPORT_CARD_SCANNING |
Method Summary |
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. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
name
public final String name
ObjectReferenceDeque
public ObjectReferenceDeque(String n,
SharedDeque queue)
- Constructor
- Parameters:
queue
- The shared queue to which this queue will append
its buffers (when full or flushed) and from which it will aquire new
buffers when it has exhausted its own.
insert
public final void insert(ObjectReference object)
- Insert an object into the object queue.
- Parameters:
object
- the object to be inserted into the object queue
push
public final void push(ObjectReference object)
- Push an object onto the object queue.
- Parameters:
object
- the object to be pushed onto the object queue
pushOOL
public final 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.
- Parameters:
object
- the object to be pushed onto the object queue
pop
public final ObjectReference pop()
- Pop an object from the object queue, return zero if the queue
is empty.
- Returns:
- The next object in the object queue, or zero if the
queue is empty
isEmpty
public final boolean isEmpty()
isNonEmpty
public final boolean isNonEmpty()