org.jikesrvm.mm.mminterface
Class HandInlinedScanning

java.lang.Object
  extended by org.jikesrvm.mm.mminterface.HandInlinedScanning

public class HandInlinedScanning
extends Object

Supply and interpretation of values to be alignment-encoded into the TIB pointer of an object.


Field Summary
static int AE_FALLBACK
           
static int AE_PATTERN_0x0
           
static int AE_PATTERN_0x1
           
static int AE_PATTERN_0x3
           
static int AE_PATTERN_0x3D
           
static int AE_PATTERN_0x3F
           
static int AE_PATTERN_0x7
           
static int AE_REFARRAY
           
static boolean ENABLED
          Master switch
private static int FIELD0_OFFSET
           
private static int FIELD1_OFFSET
           
private static int FIELD2_OFFSET
           
private static int FIELD3_OFFSET
           
private static int FIELD4_OFFSET
           
private static int FIELD5_OFFSET
           
 
Constructor Summary
HandInlinedScanning()
           
 
Method Summary
static int fallback()
           
static int primitiveArray()
           
static int referenceArray()
           
static int scalar(int[] offsets)
           
static void scanObject(int code, int id, Object object, TransitiveClosure trace)
          Hand-inlined scanning of objects.
private static void scanObject(int code, int id, Object object, TransitiveClosure trace, boolean specialize)
           
static void scanObject(int code, Object object, TransitiveClosure trace)
          Hand-inlined scanning of objects.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

AE_FALLBACK

public static final int AE_FALLBACK
See Also:
Constant Field Values

AE_REFARRAY

public static final int AE_REFARRAY
See Also:
Constant Field Values

AE_PATTERN_0x0

public static final int AE_PATTERN_0x0
See Also:
Constant Field Values

AE_PATTERN_0x1

public static final int AE_PATTERN_0x1
See Also:
Constant Field Values

AE_PATTERN_0x7

public static final int AE_PATTERN_0x7
See Also:
Constant Field Values

AE_PATTERN_0x3F

public static final int AE_PATTERN_0x3F
See Also:
Constant Field Values

AE_PATTERN_0x3

public static final int AE_PATTERN_0x3
See Also:
Constant Field Values

AE_PATTERN_0x3D

public static final int AE_PATTERN_0x3D
See Also:
Constant Field Values

FIELD0_OFFSET

private static final int FIELD0_OFFSET

FIELD1_OFFSET

private static final int FIELD1_OFFSET

FIELD2_OFFSET

private static final int FIELD2_OFFSET

FIELD3_OFFSET

private static final int FIELD3_OFFSET

FIELD4_OFFSET

private static final int FIELD4_OFFSET

FIELD5_OFFSET

private static final int FIELD5_OFFSET

ENABLED

public static final boolean ENABLED
Master switch

See Also:
Constant Field Values
Constructor Detail

HandInlinedScanning

public HandInlinedScanning()
Method Detail

referenceArray

public static int referenceArray()

primitiveArray

public static int primitiveArray()

fallback

public static int fallback()

scalar

public static int scalar(int[] offsets)

scanObject

public static void scanObject(int code,
                              int id,
                              Object object,
                              TransitiveClosure trace)
Hand-inlined scanning of objects. The cases of the conditional are ordered in descending frequency of patterns. This entry point falls back to specialized scanning if it is enabled.


scanObject

public static void scanObject(int code,
                              Object object,
                              TransitiveClosure trace)
Hand-inlined scanning of objects. The cases of the conditional are ordered in descending frequency of patterns.

This entry point does not fall back to specialized scanning.


scanObject

private static void scanObject(int code,
                               int id,
                               Object object,
                               TransitiveClosure trace,
                               boolean specialize)