public class LayoutEncoding extends Object
For arrays, the layout encoding is a negative number with the following format:
[tag:2, free:10, base:12, indexShift:8]
Constructor and Description |
---|
LayoutEncoding() |
Modifier and Type | Method and Description |
---|---|
static int |
forAbstract() |
static int |
forArray(jdk.vm.ci.meta.ResolvedJavaType type,
boolean isObject,
int arrayBaseOffset,
int arrayIndexShift) |
static int |
forInstance(jdk.vm.ci.meta.ResolvedJavaType type,
int size) |
static int |
forInterface() |
static int |
forPrimitive() |
protected static int |
getAlignmentMask() |
static org.graalvm.word.UnsignedWord |
getArrayBaseOffset(int encoding) |
static org.graalvm.word.UnsignedWord |
getArrayElementOffset(int encoding,
int index) |
static int |
getArrayIndexScale(int encoding) |
static int |
getArrayIndexShift(int encoding) |
static org.graalvm.word.UnsignedWord |
getArraySize(int encoding,
int length) |
static org.graalvm.word.UnsignedWord |
getInstanceSize(int encoding) |
static org.graalvm.word.Pointer |
getObjectEnd(Object obj)
Returns the end of the Object when the call started, e.g., for logging.
|
static org.graalvm.word.UnsignedWord |
getSizeFromObject(Object obj) |
static boolean |
isAbstract(int encoding) |
static boolean |
isArray(int encoding) |
static boolean |
isArray(Object obj) |
static boolean |
isInstance(int encoding) |
static boolean |
isInstance(Object obj) |
static boolean |
isInterface(int encoding) |
static boolean |
isObjectArray(int encoding) |
static boolean |
isPrimitive(int encoding) |
static boolean |
isPrimitiveArray(int encoding) |
public static int forPrimitive()
public static int forInterface()
public static int forAbstract()
public static int forInstance(jdk.vm.ci.meta.ResolvedJavaType type, int size)
public static int forArray(jdk.vm.ci.meta.ResolvedJavaType type, boolean isObject, int arrayBaseOffset, int arrayIndexShift)
public static boolean isPrimitive(int encoding)
public static boolean isInterface(int encoding)
public static boolean isAbstract(int encoding)
public static boolean isInstance(int encoding)
public static org.graalvm.word.UnsignedWord getInstanceSize(int encoding)
public static boolean isArray(int encoding)
public static boolean isPrimitiveArray(int encoding)
public static boolean isObjectArray(int encoding)
public static org.graalvm.word.UnsignedWord getArrayBaseOffset(int encoding)
public static int getArrayIndexShift(int encoding)
public static int getArrayIndexScale(int encoding)
public static org.graalvm.word.UnsignedWord getArrayElementOffset(int encoding, int index)
public static org.graalvm.word.UnsignedWord getArraySize(int encoding, int length)
public static org.graalvm.word.UnsignedWord getSizeFromObject(Object obj)
public static org.graalvm.word.Pointer getObjectEnd(Object obj)
public static boolean isArray(Object obj)
public static boolean isInstance(Object obj)
protected static int getAlignmentMask()