org.mmtk.utility.deque
Class SortTODObjectReferenceStack
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.SortTODObjectReferenceStack
- All Implemented Interfaces:
- Constants
public class SortTODObjectReferenceStack
- extends LocalDeque
- implements Constants
This supports unsynchronized pushing and popping of object
references. In addition, this can sort the entries currently on
the shared stack.
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 |
boolean |
isEmpty()
Check if the (local and shared) stacks are empty. |
ObjectReference |
pop()
Pop an address from the address stack, return zero if the stack
is empty. |
void |
push(ObjectReference object)
Push an address onto the address stack. |
void |
sort()
Sort the address on the shared stack. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
SortTODObjectReferenceStack
public SortTODObjectReferenceStack(SortTODSharedDeque queue)
- Constructor
- Parameters:
queue
- The shared stack to which this stack will append
its buffers (when full or flushed) and from which it will acquire new
buffers when it has exhausted its own.
sort
public final void sort()
- Sort the address on the shared stack.
push
public final void push(ObjectReference object)
- Push an address onto the address stack.
- Parameters:
object
- the object to be pushed onto the object queue
pop
public final ObjectReference pop()
- Pop an address from the address stack, return zero if the stack
is empty.
- Returns:
- The next address in the address stack, or zero if the
stack is empty
isEmpty
public final boolean isEmpty()
- Check if the (local and shared) stacks are empty.
- Returns:
- True if there are no more entries on the local & shared stack,
false otherwise.