public final class ObjectLayout extends Object
Constructor and Description |
---|
ObjectLayout(SubstrateTargetDescription target,
int referenceSize,
int objectAlignment,
int hubOffset,
int firstFieldOffset,
int arrayLengthOffset,
int arrayBaseOffset,
int identityHashCodeOffset) |
Modifier and Type | Method and Description |
---|---|
int |
alignUp(int obj)
Align the specified offset or address up to
ObjectLayout.getAlignment() . |
long |
alignUp(long obj)
Align the specified offset or address up to
ObjectLayout.getAlignment() . |
int |
getAlignment()
The minimum alignment of objects (instances and arrays).
|
int |
getArrayBaseOffset(jdk.vm.ci.meta.JavaKind kind) |
long |
getArrayElementOffset(jdk.vm.ci.meta.JavaKind kind,
int index) |
int |
getArrayIndexScale(jdk.vm.ci.meta.JavaKind kind) |
int |
getArrayIndexShift(jdk.vm.ci.meta.JavaKind kind) |
int |
getArrayLengthOffset() |
long |
getArraySize(jdk.vm.ci.meta.JavaKind kind,
int length) |
static jdk.vm.ci.meta.JavaKind |
getCallSignatureKind(boolean isEntryPoint,
jdk.vm.ci.meta.ResolvedJavaType type,
jdk.vm.ci.meta.MetaAccessProvider metaAccess,
jdk.vm.ci.code.TargetDescription target) |
int |
getDeoptScratchSpace()
Returns the amount of scratch space which must be reserved for return value registers in
DeoptimizedFrame . |
int |
getFirstFieldOffset() |
int |
getHubOffset() |
int |
getIdentityHashCodeOffset()
Returns the offset of the identity hash code field.
|
int |
getMinimumArraySize() |
int |
getMinimumInstanceObjectSize() |
int |
getMinimumObjectSize() |
int |
getReferenceSize() |
boolean |
isAligned(long value)
Tests if the given offset or address is aligned according to
ObjectLayout.getAlignment() . |
int |
sizeInBytes(jdk.vm.ci.meta.JavaKind kind)
The size (in bytes) of values with the given kind.
|
public ObjectLayout(SubstrateTargetDescription target, int referenceSize, int objectAlignment, int hubOffset, int firstFieldOffset, int arrayLengthOffset, int arrayBaseOffset, int identityHashCodeOffset)
public int getAlignment()
public boolean isAligned(long value)
ObjectLayout.getAlignment()
.public int getReferenceSize()
public int getDeoptScratchSpace()
DeoptimizedFrame
.public int sizeInBytes(jdk.vm.ci.meta.JavaKind kind)
public int getArrayIndexShift(jdk.vm.ci.meta.JavaKind kind)
public int getArrayIndexScale(jdk.vm.ci.meta.JavaKind kind)
public int alignUp(int obj)
ObjectLayout.getAlignment()
.public long alignUp(long obj)
ObjectLayout.getAlignment()
.public int getHubOffset()
public int getFirstFieldOffset()
public int getArrayLengthOffset()
public int getIdentityHashCodeOffset()
public int getArrayBaseOffset(jdk.vm.ci.meta.JavaKind kind)
public long getArrayElementOffset(jdk.vm.ci.meta.JavaKind kind, int index)
public long getArraySize(jdk.vm.ci.meta.JavaKind kind, int length)
public int getMinimumInstanceObjectSize()
public int getMinimumArraySize()
public int getMinimumObjectSize()
public static jdk.vm.ci.meta.JavaKind getCallSignatureKind(boolean isEntryPoint, jdk.vm.ci.meta.ResolvedJavaType type, jdk.vm.ci.meta.MetaAccessProvider metaAccess, jdk.vm.ci.code.TargetDescription target)