public class HandInlinedScanning extends Object
Modifier and Type | Field and Description |
---|---|
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 and Description |
---|
HandInlinedScanning() |
Modifier and Type | Method and Description |
---|---|
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.
|
public static final int AE_FALLBACK
public static final int AE_REFARRAY
public static final int AE_PATTERN_0x0
public static final int AE_PATTERN_0x1
public static final int AE_PATTERN_0x7
public static final int AE_PATTERN_0x3F
public static final int AE_PATTERN_0x3
public static final int AE_PATTERN_0x3D
private static final int FIELD0_OFFSET
private static final int FIELD1_OFFSET
private static final int FIELD2_OFFSET
private static final int FIELD3_OFFSET
private static final int FIELD4_OFFSET
private static final int FIELD5_OFFSET
public static final boolean ENABLED
public HandInlinedScanning()
public static int referenceArray()
public static int primitiveArray()
public static int fallback()
public static int scalar(int[] offsets)
public static void scanObject(int code, int id, Object object, TransitiveClosure trace)
code
- the code to use for specialized scanning. This determines
the pattern that will be used.id
- the id of the specialized scan methodobject
- the object to scantrace
- the closure to usepublic static void scanObject(int code, Object object, TransitiveClosure trace)
This entry point does not fall back to specialized scanning.
code
- the code to use for specialized scanning. This determines
the pattern that will be used.object
- the object to scantrace
- the closure to useprivate static void scanObject(int code, int id, Object object, TransitiveClosure trace, boolean specialize)