org.mmtk.utility.deque
Class AddressTripleDeque
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.AddressTripleDeque
- All Implemented Interfaces:
- Constants
public class AddressTripleDeque
- extends LocalDeque
- implements Constants
This supports unsynchronized enqueuing and dequeuing of
address triples
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,
Address addr3)
Insert an address triple into the address queue. |
Address |
pop1()
Pop the first address in a triple from the address queue, return
zero if the queue is empty. |
Address |
pop2()
Pop the second address in a triple from the address queue. |
Address |
pop3()
Pop the third address in a triple from the address queue. |
void |
push(Address addr1,
Address addr2,
Address addr3)
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 |
AddressTripleDeque
AddressTripleDeque(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,
Address addr3)
- Insert an address triple 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 queueaddr3
- the third address to be inserted into the address queue
push
public final void push(Address addr1,
Address addr2,
Address addr3)
- 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 queueaddr3
- the third address to be pushed onto the address queue
pop1
public final Address pop1()
- Pop the first address in a triple 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 triple from the address queue.
- Returns:
- The next address in the address queue
pop3
public final Address pop3()
- Pop the third address in a triple from the address queue.
- Returns:
- The next address in the address queue