org.jikesrvm.objectmodel
Class FieldLayoutPacked

java.lang.Object
  extended by org.jikesrvm.objectmodel.FieldLayout
      extended by org.jikesrvm.objectmodel.FieldLayoutPacked
All Implemented Interfaces:
SizeConstants

public class FieldLayoutPacked
extends FieldLayout
implements SizeConstants

Layout fields in an object, packed like sardines in a crushed tin box.


Nested Class Summary
private static class FieldLayoutPacked.LayoutContext
          Lay out an object, maintaining offsets of free slots of size 1,2,4 and 8 bytes.
 
Field Summary
 
Fields inherited from class org.jikesrvm.objectmodel.FieldLayout
DEBUG
 
Fields inherited from interface org.jikesrvm.SizeConstants
BITS_IN_ADDRESS, BITS_IN_BOOLEAN, BITS_IN_BYTE, BITS_IN_CHAR, BITS_IN_DOUBLE, BITS_IN_EXTENT, BITS_IN_FLOAT, BITS_IN_INT, BITS_IN_LONG, BITS_IN_OFFSET, BITS_IN_PAGE, BITS_IN_SHORT, BITS_IN_WORD, BYTES_IN_ADDRESS, BYTES_IN_BOOLEAN, BYTES_IN_BYTE, BYTES_IN_CHAR, BYTES_IN_DOUBLE, BYTES_IN_EXTENT, BYTES_IN_FLOAT, BYTES_IN_INT, BYTES_IN_LONG, BYTES_IN_OFFSET, BYTES_IN_PAGE, BYTES_IN_SHORT, BYTES_IN_WORD, LOG_BITS_IN_ADDRESS, LOG_BITS_IN_BOOLEAN, LOG_BITS_IN_BYTE, LOG_BITS_IN_CHAR, LOG_BITS_IN_DOUBLE, LOG_BITS_IN_EXTENT, LOG_BITS_IN_FLOAT, LOG_BITS_IN_INT, LOG_BITS_IN_LONG, LOG_BITS_IN_OFFSET, LOG_BITS_IN_PAGE, LOG_BITS_IN_SHORT, LOG_BITS_IN_WORD, LOG_BYTES_IN_ADDRESS, LOG_BYTES_IN_BOOLEAN, LOG_BYTES_IN_BYTE, LOG_BYTES_IN_CHAR, LOG_BYTES_IN_DOUBLE, LOG_BYTES_IN_EXTENT, LOG_BYTES_IN_FLOAT, LOG_BYTES_IN_INT, LOG_BYTES_IN_LONG, LOG_BYTES_IN_OFFSET, LOG_BYTES_IN_PAGE, LOG_BYTES_IN_SHORT, LOG_BYTES_IN_WORD
 
Constructor Summary
FieldLayoutPacked(boolean largeFieldsFirst, boolean clusterReferenceFields)
           
 
Method Summary
protected  FieldLayoutContext getLayoutContext(RVMClass klass)
          Return the appropriate layout context object for the given class.
 
Methods inherited from class org.jikesrvm.objectmodel.FieldLayout
layoutField, layoutInstanceFields, log2, max, setOffset, updateClass
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

FieldLayoutPacked

public FieldLayoutPacked(boolean largeFieldsFirst,
                         boolean clusterReferenceFields)
Method Detail

getLayoutContext

protected FieldLayoutContext getLayoutContext(RVMClass klass)
Description copied from class: FieldLayout
Return the appropriate layout context object for the given class.

Specified by:
getLayoutContext in class FieldLayout
Parameters:
klass - the class to layout
Returns:
The layout context
See Also:
FieldLayout.getLayoutContext(RVMClass)