org.mmtk.policy.immix
Class Line

java.lang.Object
  extended by org.mmtk.policy.immix.Line
All Implemented Interfaces:
Constants

public class Line
extends Object
implements Constants


Field Summary
(package private) static int BYTES_IN_LINE_STATUS
           
(package private) static int LINE_MARK_BYTES_PER_BLOCK
           
(package private) static int LINE_MARK_TABLE_BYTES
           
(package private) static int LOG_BYTES_IN_LINE_STATUS
           
(package private) static int LOG_LINE_MARK_BYTES_PER_BLOCK
           
 
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
 
Constructor Summary
Line()
           
 
Method Summary
static Address align(Address ptr)
           
static Address getBlockMarkTable(Address block)
           
(package private) static int getChunkIndex(Address line)
           
static Address getChunkMarkTable(Address chunk)
           
private static Address getMarkAddress(Address address)
           
private static Address getMetaAddress(Address address, int tableOffset)
           
static int getNextAvailable(Address baseLineAvailAddress, int line, byte unavailableState)
           
static int getNextUnavailable(Address baseLineAvailAddress, int line, byte unavailableState)
           
static boolean isAligned(Address address)
           
(package private) static void mark(Address address, byte markValue)
           
(package private) static void markMultiLine(Address start, ObjectReference object, byte markValue)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

LOG_BYTES_IN_LINE_STATUS

static final int LOG_BYTES_IN_LINE_STATUS
See Also:
Constant Field Values

BYTES_IN_LINE_STATUS

static final int BYTES_IN_LINE_STATUS
See Also:
Constant Field Values

LINE_MARK_TABLE_BYTES

static final int LINE_MARK_TABLE_BYTES
See Also:
Constant Field Values

LOG_LINE_MARK_BYTES_PER_BLOCK

static final int LOG_LINE_MARK_BYTES_PER_BLOCK

LINE_MARK_BYTES_PER_BLOCK

static final int LINE_MARK_BYTES_PER_BLOCK
Constructor Detail

Line

public Line()
Method Detail

align

public static Address align(Address ptr)

isAligned

public static boolean isAligned(Address address)

getChunkIndex

static int getChunkIndex(Address line)

mark

static void mark(Address address,
                 byte markValue)

markMultiLine

static void markMultiLine(Address start,
                          ObjectReference object,
                          byte markValue)

getChunkMarkTable

public static Address getChunkMarkTable(Address chunk)

getBlockMarkTable

public static Address getBlockMarkTable(Address block)

getNextUnavailable

public static int getNextUnavailable(Address baseLineAvailAddress,
                                     int line,
                                     byte unavailableState)

getNextAvailable

public static int getNextAvailable(Address baseLineAvailAddress,
                                   int line,
                                   byte unavailableState)

getMetaAddress

private static Address getMetaAddress(Address address,
                                      int tableOffset)

getMarkAddress

private static Address getMarkAddress(Address address)