org.mmtk.utility.deque
Class AddressPairDeque
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.AddressPairDeque
- All Implemented Interfaces:
- Constants
public class AddressPairDeque
- extends LocalDeque
- implements Constants
This supports unsynchronized enqueuing and dequeuing of
address pairs
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(Address addr1,
Address addr2)
Insert an address pair into the address queue. |
boolean |
isEmpty()
|
Address |
pop1()
Pop the first address in a pair from the address queue, return
zero if the queue is empty. |
Address |
pop2()
Pop the second address in a pair from the address queue. |
void |
push(Address addr1,
Address addr2)
Push an address pair onto the address queue. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
AddressPairDeque
public AddressPairDeque(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 acquire new
buffers when it has exhausted its own.
insert
public final void insert(Address addr1,
Address addr2)
- Insert an address pair into the address queue.
- Parameters:
addr1
- the first address to be inserted into the address queueaddr2
- the second address to be inserted into the address queue
push
public final void push(Address addr1,
Address addr2)
- Push an address pair onto the address queue.
- Parameters:
addr1
- the first value to be pushed onto the address queueaddr2
- the second value to be pushed onto the address queue
pop1
public final Address pop1()
- Pop the first address in a pair from the address queue, return
zero if the queue is empty.
- Returns:
- The next address in the address queue, or zero if the
queue is empty
pop2
public final Address pop2()
- Pop the second address in a pair from the address queue.
- Returns:
- The next address in the address queue
isEmpty
public final boolean isEmpty()