joeq.Allocator
Class ObjectLayout

java.lang.Object
  extended by joeq.Allocator.ObjectLayout

public abstract class ObjectLayout
extends Object

This interface contains constants that define the joeq object layout. You can play with these constants to experiment with different object layouts.

Version:
$Id: ObjectLayout.java 1449 2004-03-09 04:04:18Z jwhaley $
Author:
John Whaley

Field Summary
static int ARRAY_ELEMENT_OFFSET
          Offset of array element 0, in bytes.
static int ARRAY_HEADER_SIZE
          Size of array header, in bytes.
static int ARRAY_LENGTH_OFFSET
          Offset of array length word, in bytes.
static int GC_BIT
          Bit in object header for use by GC.
static int HASHED
          Object has been hashed.
static int HASHED_MOVED
          Object has been hashed and later moved.
static int LOCK_COUNT_INC
          Value to add to status word to increment lock count by one.
static int LOCK_COUNT_MASK
          Mask of the lock count in the status word.
static int LOCK_COUNT_SHIFT
          Bit location of lock count in the status word.
static int LOCK_EXPANDED
          Lock has been expanded.
static int OBJ_HEADER_SIZE
          Size of (non-array) object header, in bytes.
static int STATUS_FLAGS_MASK
          Mask for status flags.
static int STATUS_WORD_OFFSET
          Offset of status word, in bytes.
static int THREAD_ID_MASK
          Mask of the thread id in the status word.
static int THREAD_ID_SHIFT
          Bit location of thread id in the status word.
static int VTABLE_OFFSET
          Offset of vtable, in bytes.
 
Constructor Summary
ObjectLayout()
           
 
Method Summary
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

ARRAY_LENGTH_OFFSET

public static final int ARRAY_LENGTH_OFFSET
Offset of array length word, in bytes.

See Also:
Constant Field Values

STATUS_WORD_OFFSET

public static final int STATUS_WORD_OFFSET
Offset of status word, in bytes.

See Also:
Constant Field Values

VTABLE_OFFSET

public static final int VTABLE_OFFSET
Offset of vtable, in bytes.

See Also:
Constant Field Values

ARRAY_ELEMENT_OFFSET

public static final int ARRAY_ELEMENT_OFFSET
Offset of array element 0, in bytes.

See Also:
Constant Field Values

OBJ_HEADER_SIZE

public static final int OBJ_HEADER_SIZE
Size of (non-array) object header, in bytes.

See Also:
Constant Field Values

ARRAY_HEADER_SIZE

public static final int ARRAY_HEADER_SIZE
Size of array header, in bytes.

See Also:
Constant Field Values

HASHED

public static final int HASHED
Object has been hashed. If it moves, we need to store the old address.

See Also:
Constant Field Values

HASHED_MOVED

public static final int HASHED_MOVED
Object has been hashed and later moved. The hash code is stored just past the object.

See Also:
Constant Field Values

GC_BIT

public static final int GC_BIT
Bit in object header for use by GC.

See Also:
Constant Field Values

STATUS_FLAGS_MASK

public static final int STATUS_FLAGS_MASK
Mask for status flags.

See Also:
Constant Field Values

THREAD_ID_SHIFT

public static final int THREAD_ID_SHIFT
Bit location of thread id in the status word.

See Also:
Constant Field Values

THREAD_ID_MASK

public static final int THREAD_ID_MASK
Mask of the thread id in the status word.

See Also:
Constant Field Values

LOCK_COUNT_MASK

public static final int LOCK_COUNT_MASK
Mask of the lock count in the status word.

See Also:
Constant Field Values

LOCK_COUNT_INC

public static final int LOCK_COUNT_INC
Value to add to status word to increment lock count by one.

See Also:
Constant Field Values

LOCK_COUNT_SHIFT

public static final int LOCK_COUNT_SHIFT
Bit location of lock count in the status word.

See Also:
Constant Field Values

LOCK_EXPANDED

public static final int LOCK_EXPANDED
Lock has been expanded. Masking out this value and the status flags mask gives the address of the expanded lock structure.

See Also:
Constant Field Values
Constructor Detail

ObjectLayout

public ObjectLayout()


Copyright © 2001-2008 John Whaley. All Rights Reserved.