public class ObjectLayout extends Object
Constructor and Description |
---|
ObjectLayout(SubstrateTargetDescription target) |
ObjectLayout(SubstrateTargetDescription target,
int hubOffset) |
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 |
getArrayHashCodeOffset() |
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 |
getHubNextOffset() |
int |
getHubOffset() |
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)
public ObjectLayout(SubstrateTargetDescription target, int hubOffset)
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 getHubNextOffset()
public int getFirstFieldOffset()
public int getArrayLengthOffset()
public int getArrayHashCodeOffset()
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 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)