org.mmtk.utility.deque
Class AddressDeque
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.AddressDeque
- All Implemented Interfaces:
- Constants
public class AddressDeque
- extends LocalDeque
- implements Constants
This supports unsynchronized enqueuing and dequeuing of addresses
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 addr)
Insert an address into the address queue. |
void |
insertOOL(Address addr)
Insert an address into the address queue, force this out of line
("OOL"), in some circumstances it is too expensive to have the
insert inlined, so this call is made. |
boolean |
isEmpty()
|
boolean |
isNonEmpty()
|
Address |
pop()
Pop an address from the address queue, return zero if the queue
is empty. |
void |
push(Address addr)
Push an address onto the address queue. |
void |
pushOOL(Address addr)
Push an address onto the address 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
AddressDeque
public AddressDeque(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(Address addr)
- Insert an address into the address queue.
- Parameters:
addr
- the address to be inserted into the address queue
insertOOL
public final void insertOOL(Address addr)
- Insert an address into the address queue, force this out of line
("OOL"), in some circumstances it is too expensive to have the
insert inlined, so this call is made.
- Parameters:
addr
- the address to be inserted into the address queue
push
public final void push(Address addr)
- Push an address onto the address queue.
- Parameters:
addr
- the address to be pushed onto the address queue
pushOOL
public final void pushOOL(Address addr)
- Push an address onto the address 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:
addr
- the address to be pushed onto the address queue
pop
public final Address pop()
- Pop an address 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
isEmpty
public final boolean isEmpty()
isNonEmpty
public final boolean isNonEmpty()