org.mmtk.utility.deque
Class SortTODAddressStack
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.SortTODAddressStack
- All Implemented Interfaces:
- Constants
public class SortTODAddressStack
- extends LocalDeque
- implements Constants
This supports unsynchronized pushing and popping of addresses.
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. |
Address |
pop()
Pop an address from the address stack, return zero if the stack
is empty. |
void |
push(Address addr)
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 |
SortTODAddressStack
public SortTODAddressStack(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(Address addr)
- Push an address onto the address stack.
- Parameters:
addr
- the address to be pushed onto the address queue
pop
public final Address 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.