public abstract class SubstrateAllocationSnippets
extends org.graalvm.compiler.replacements.AllocationSnippets
Modifier and Type | Class and Description |
---|---|
static class |
SubstrateAllocationSnippets.SubstrateAllocationProfilingData |
static class |
SubstrateAllocationSnippets.Templates |
Modifier and Type | Field and Description |
---|---|
static Object[] |
ALLOCATION_LOCATIONS |
static org.graalvm.word.LocationIdentity |
TLAB_END_IDENTITY |
static org.graalvm.word.LocationIdentity[] |
TLAB_LOCATIONS |
static org.graalvm.word.LocationIdentity |
TLAB_TOP_IDENTITY |
Constructor and Description |
---|
SubstrateAllocationSnippets() |
Modifier and Type | Method and Description |
---|---|
Object |
allocateArray(DynamicHub hub,
int length,
int arrayBaseOffset,
int log2ElementSize,
boolean fillContents,
boolean emitMemoryBarrier,
boolean maybeUnroll,
boolean supportsBulkZeroing,
boolean supportsOptimizedFilling,
org.graalvm.compiler.replacements.AllocationSnippets.AllocationProfilingData profilingData) |
Object |
allocateArrayDynamic(DynamicHub elementType,
int length,
boolean fillContents,
boolean emitMemoryBarrier,
boolean supportsBulkZeroing,
boolean supportsOptimizedFilling,
org.graalvm.compiler.replacements.AllocationSnippets.AllocationProfilingData profilingData) |
protected Object |
allocateInstance(DynamicHub hub,
long size,
boolean fillContents,
boolean emitMemoryBarrier,
org.graalvm.compiler.replacements.AllocationSnippets.AllocationProfilingData profilingData) |
Object |
allocateInstanceDynamic(DynamicHub hub,
boolean fillContents,
boolean emitMemoryBarrier,
org.graalvm.compiler.replacements.AllocationSnippets.AllocationProfilingData profilingData) |
int |
arrayLengthOffset() |
protected Object |
callNewArrayStub(org.graalvm.compiler.word.Word objectHeader,
int length) |
protected Object |
callNewInstanceStub(org.graalvm.compiler.word.Word objectHeader) |
protected Object |
callNewMultiArrayStub(org.graalvm.compiler.word.Word objectHeader,
int rank,
org.graalvm.compiler.word.Word dims) |
static DynamicHub |
checkHub(DynamicHub hub) |
static org.graalvm.compiler.word.Word |
encodeAsTLABObjectHeader(DynamicHub hub) |
protected static int |
getArrayBaseOffset(int layoutEncoding) |
protected int |
getMinimalBulkZeroingSize() |
protected int |
getPrefetchDistance() |
protected int |
getPrefetchLines(boolean isArray) |
protected int |
getPrefetchStepSize() |
protected int |
getPrefetchStyle() |
protected abstract SnippetRuntime.SubstrateForeignCallDescriptor |
getSlowNewArrayStub() |
protected abstract SnippetRuntime.SubstrateForeignCallDescriptor |
getSlowNewInstanceStub() |
protected int |
instanceHeaderSize() |
protected Object |
newmultiarray(DynamicHub hub,
int rank,
int[] dimensions) |
protected int |
objectAlignment() |
protected void |
profileAllocation(org.graalvm.compiler.replacements.AllocationSnippets.AllocationProfilingData profilingData,
org.graalvm.word.UnsignedWord size) |
static void |
registerForeignCalls(org.graalvm.compiler.phases.util.Providers providers,
SubstrateForeignCallsProvider foreignCalls) |
protected Object |
verifyOop(Object obj) |
allocateArrayImpl, allocateInstanceImpl, arrayAllocationSize, emitPrefetchAllocate, fillMemoryAligned, fillMemoryAlignedUnrollable, formatArray, formatObject, getTLABInfo, initializeObjectHeader, newMultiArrayImpl, readTlabEnd, readTlabTop, shouldAllocateInTLAB, useTLAB, writeTlabTop
public static final org.graalvm.word.LocationIdentity TLAB_TOP_IDENTITY
public static final org.graalvm.word.LocationIdentity TLAB_END_IDENTITY
public static final Object[] ALLOCATION_LOCATIONS
public static final org.graalvm.word.LocationIdentity[] TLAB_LOCATIONS
public static void registerForeignCalls(org.graalvm.compiler.phases.util.Providers providers, SubstrateForeignCallsProvider foreignCalls)
protected Object allocateInstance(DynamicHub hub, long size, boolean fillContents, boolean emitMemoryBarrier, org.graalvm.compiler.replacements.AllocationSnippets.AllocationProfilingData profilingData)
public Object allocateArray(DynamicHub hub, int length, int arrayBaseOffset, int log2ElementSize, boolean fillContents, boolean emitMemoryBarrier, boolean maybeUnroll, boolean supportsBulkZeroing, boolean supportsOptimizedFilling, org.graalvm.compiler.replacements.AllocationSnippets.AllocationProfilingData profilingData)
public Object allocateInstanceDynamic(DynamicHub hub, boolean fillContents, boolean emitMemoryBarrier, org.graalvm.compiler.replacements.AllocationSnippets.AllocationProfilingData profilingData)
public Object allocateArrayDynamic(DynamicHub elementType, int length, boolean fillContents, boolean emitMemoryBarrier, boolean supportsBulkZeroing, boolean supportsOptimizedFilling, org.graalvm.compiler.replacements.AllocationSnippets.AllocationProfilingData profilingData)
protected Object newmultiarray(DynamicHub hub, int rank, int[] dimensions)
public static DynamicHub checkHub(DynamicHub hub)
protected final int getPrefetchStyle()
getPrefetchStyle
in class org.graalvm.compiler.replacements.AllocationSnippets
protected int getPrefetchLines(boolean isArray)
getPrefetchLines
in class org.graalvm.compiler.replacements.AllocationSnippets
protected final int getPrefetchStepSize()
getPrefetchStepSize
in class org.graalvm.compiler.replacements.AllocationSnippets
protected final int getPrefetchDistance()
getPrefetchDistance
in class org.graalvm.compiler.replacements.AllocationSnippets
protected final int instanceHeaderSize()
instanceHeaderSize
in class org.graalvm.compiler.replacements.AllocationSnippets
protected final void profileAllocation(org.graalvm.compiler.replacements.AllocationSnippets.AllocationProfilingData profilingData, org.graalvm.word.UnsignedWord size)
profileAllocation
in class org.graalvm.compiler.replacements.AllocationSnippets
protected int getMinimalBulkZeroingSize()
getMinimalBulkZeroingSize
in class org.graalvm.compiler.replacements.AllocationSnippets
protected final Object verifyOop(Object obj)
verifyOop
in class org.graalvm.compiler.replacements.AllocationSnippets
public final int arrayLengthOffset()
arrayLengthOffset
in class org.graalvm.compiler.replacements.AllocationSnippets
protected final int objectAlignment()
objectAlignment
in class org.graalvm.compiler.replacements.AllocationSnippets
protected static int getArrayBaseOffset(int layoutEncoding)
public static org.graalvm.compiler.word.Word encodeAsTLABObjectHeader(DynamicHub hub)
protected final Object callNewInstanceStub(org.graalvm.compiler.word.Word objectHeader)
callNewInstanceStub
in class org.graalvm.compiler.replacements.AllocationSnippets
protected final Object callNewArrayStub(org.graalvm.compiler.word.Word objectHeader, int length)
callNewArrayStub
in class org.graalvm.compiler.replacements.AllocationSnippets
protected final Object callNewMultiArrayStub(org.graalvm.compiler.word.Word objectHeader, int rank, org.graalvm.compiler.word.Word dims)
callNewMultiArrayStub
in class org.graalvm.compiler.replacements.AllocationSnippets
protected abstract SnippetRuntime.SubstrateForeignCallDescriptor getSlowNewInstanceStub()
protected abstract SnippetRuntime.SubstrateForeignCallDescriptor getSlowNewArrayStub()