public class DefaultHotSpotLoweringProvider extends DefaultJavaLoweringProvider implements HotSpotLoweringProvider
LoweringProvider
.Modifier and Type | Class and Description |
---|---|
(package private) static class |
DefaultHotSpotLoweringProvider.Exceptions |
static class |
DefaultHotSpotLoweringProvider.RuntimeCalls |
Modifier and Type | Field and Description |
---|---|
protected ArrayCopySnippets.Templates |
arraycopySnippets |
protected AssertionSnippets.Templates |
assertionSnippets |
protected CheckCastDynamicSnippets.Templates |
checkcastDynamicSnippets |
protected LoadExceptionObjectSnippets.Templates |
exceptionObjectSnippets |
protected ForeignCallsProvider |
foreignCalls |
protected InstanceOfSnippets.Templates |
instanceofSnippets |
protected MonitorSnippets.Templates |
monitorSnippets |
protected NewObjectSnippets.Templates |
newObjectSnippets |
protected HotSpotRegistersProvider |
registers |
protected HotSpotGraalRuntimeProvider |
runtime |
protected UnsafeLoadSnippets.Templates |
unsafeLoadSnippets |
protected WriteBarrierSnippets.Templates |
writeBarrierSnippets |
metaAccess, target
Constructor and Description |
---|
DefaultHotSpotLoweringProvider(HotSpotGraalRuntimeProvider runtime,
MetaAccessProvider metaAccess,
ForeignCallsProvider foreignCalls,
HotSpotRegistersProvider registers,
TargetDescription target) |
arrayStoreBarrierType, atomicReadAndWriteBarrierType, compareAndSwapBarrierType, createArrayAddress, createFieldAddress, createNewArrayFromVirtual, createNewInstanceFromVirtual, createNullCheck, createOffsetAddress, createUnsafeAddress, createUnsafeRead, fieldStoreBarrierType, finishAllocatedObjects, getBoundsCheckedIndex, implicitLoadConvert, implicitStoreConvert, initialize, loadStamp, lowerArrayLengthNode, lowerAtomicReadAndWriteNode, lowerCommitAllocationNode, lowerCompareAndSwapNode, lowerJavaReadNode, lowerJavaWriteNode, lowerLoadFieldNode, lowerLoadHubNode, lowerLoadIndexedNode, lowerMonitorEnterNode, lowerStoreFieldNode, lowerStoreIndexedNode, lowerUnsafeStoreNode, lowerVerifyHeap, reconstructArrayIndex, storeBarrierType, unsafeStoreBarrierType
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
createArrayAddress, implicitLoadConvert, implicitStoreConvert, loadStamp
reconstructArrayIndex
protected final HotSpotGraalRuntimeProvider runtime
protected final ForeignCallsProvider foreignCalls
protected final HotSpotRegistersProvider registers
protected CheckCastDynamicSnippets.Templates checkcastDynamicSnippets
protected InstanceOfSnippets.Templates instanceofSnippets
protected NewObjectSnippets.Templates newObjectSnippets
protected MonitorSnippets.Templates monitorSnippets
protected WriteBarrierSnippets.Templates writeBarrierSnippets
protected LoadExceptionObjectSnippets.Templates exceptionObjectSnippets
protected UnsafeLoadSnippets.Templates unsafeLoadSnippets
protected AssertionSnippets.Templates assertionSnippets
protected ArrayCopySnippets.Templates arraycopySnippets
public DefaultHotSpotLoweringProvider(HotSpotGraalRuntimeProvider runtime, MetaAccessProvider metaAccess, ForeignCallsProvider foreignCalls, HotSpotRegistersProvider registers, TargetDescription target)
public void initialize(HotSpotProviders providers, HotSpotVMConfig config)
initialize
in interface HotSpotLoweringProvider
public void lower(Node n, LoweringTool tool)
lower
in interface LoweringProvider
lower
in class DefaultJavaLoweringProvider
private static void lowerComputeObjectAddressNode(ComputeObjectAddressNode n)
private void lowerKlassLayoutHelperNode(KlassLayoutHelperNode n, LoweringTool tool)
private void lowerHubGetClassNode(HubGetClassNode n, LoweringTool tool)
private void lowerClassGetHubNode(ClassGetHubNode n, LoweringTool tool)
private void lowerInvoke(Invoke invoke, LoweringTool tool, StructuredGraph graph)
protected Stamp loadStamp(Stamp stamp, Kind kind, boolean compressible)
loadStamp
in class DefaultJavaLoweringProvider
protected ValueNode implicitLoadConvert(StructuredGraph graph, Kind kind, ValueNode value, boolean compressible)
implicitLoadConvert
in class DefaultJavaLoweringProvider
protected ValueNode staticFieldBase(StructuredGraph graph, ResolvedJavaField f)
staticFieldBase
in class DefaultJavaLoweringProvider
protected ValueNode implicitStoreConvert(StructuredGraph graph, Kind kind, ValueNode value, boolean compressible)
implicitStoreConvert
in class DefaultJavaLoweringProvider
protected ValueNode createReadArrayComponentHub(StructuredGraph graph, ValueNode arrayHub, FixedNode anchor, LoweringTool tool)
createReadArrayComponentHub
in class DefaultJavaLoweringProvider
protected void lowerUnsafeLoadNode(UnsafeLoadNode load, LoweringTool tool)
lowerUnsafeLoadNode
in class DefaultJavaLoweringProvider
private void lowerLoadMethodNode(LoadMethodNode loadMethodNode)
private static void lowerGetClassNode(GetClassNode getClass, LoweringTool tool, StructuredGraph graph)
private void lowerStoreHubNode(StoreHubNode storeHub, StructuredGraph graph)
protected HeapAccess.BarrierType fieldInitializationBarrier(Kind entryKind)
fieldInitializationBarrier
in class DefaultJavaLoweringProvider
protected HeapAccess.BarrierType arrayInitializationBarrier(Kind entryKind)
arrayInitializationBarrier
in class DefaultJavaLoweringProvider
private void lowerOSRStartNode(OSRStartNode osrStart)
private void lowerBytecodeExceptionNode(BytecodeExceptionNode node)
private boolean addReadBarrier(UnsafeLoadNode load)
private ReadNode createReadVirtualMethod(StructuredGraph graph, ValueNode hub, HotSpotResolvedJavaMethod method, ResolvedJavaType receiverType)
private ReadNode createReadVirtualMethod(StructuredGraph graph, ValueNode hub, int vtableEntryOffset)
protected ValueNode createReadHub(StructuredGraph graph, ValueNode object, GuardingNode guard, LoweringTool tool)
createReadHub
in class DefaultJavaLoweringProvider
private WriteNode createWriteHub(StructuredGraph graph, ValueNode object, ValueNode value)
protected HeapAccess.BarrierType fieldLoadBarrierType(ResolvedJavaField f)
fieldLoadBarrierType
in class DefaultJavaLoweringProvider
protected int fieldOffset(ResolvedJavaField f)
fieldOffset
in class DefaultJavaLoweringProvider
public int arrayScalingFactor(Kind kind)
arrayScalingFactor
in interface HotSpotLoweringProvider
arrayScalingFactor
in class DefaultJavaLoweringProvider
protected int arrayBaseOffset(Kind kind)
arrayBaseOffset
in class DefaultJavaLoweringProvider
protected int arrayLengthOffset()
arrayLengthOffset
in class DefaultJavaLoweringProvider
protected LocationIdentity initLocationIdentity()
initLocationIdentity
in class DefaultJavaLoweringProvider