public class SubstrateGraphKit
extends org.graalvm.compiler.replacements.GraphKit
| Constructor and Description |
|---|
SubstrateGraphKit(org.graalvm.compiler.debug.DebugContext debug,
jdk.vm.ci.meta.ResolvedJavaMethod stubMethod,
org.graalvm.compiler.phases.util.Providers providers,
org.graalvm.compiler.word.WordTypes wordTypes,
org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration.Plugins graphBuilderPlugins,
org.graalvm.compiler.core.common.CompilationIdentifier compilationId) |
| Modifier and Type | Method and Description |
|---|---|
void |
appendStateSplitProxy(org.graalvm.compiler.nodes.FrameState state) |
void |
appendStateSplitProxy(org.graalvm.compiler.java.FrameStateBuilder stateBuilder) |
protected <T extends org.graalvm.compiler.nodes.WithExceptionNode> |
appendWithUnwind(T withExceptionNode,
int bci)
Appends the provided node to the control flow graph.
|
int |
bci() |
org.graalvm.compiler.nodes.ValueNode |
createBoxing(org.graalvm.compiler.nodes.ValueNode value,
jdk.vm.ci.meta.JavaKind kind,
jdk.vm.ci.meta.ResolvedJavaType targetType) |
org.graalvm.compiler.nodes.ValueNode |
createCFunctionCall(org.graalvm.compiler.nodes.ValueNode targetAddress,
List<org.graalvm.compiler.nodes.ValueNode> arguments,
jdk.vm.ci.meta.Signature signature,
int newThreadStatus,
boolean emitDeoptTarget) |
org.graalvm.compiler.nodes.ConstantNode |
createConstant(jdk.vm.ci.meta.Constant value,
jdk.vm.ci.meta.JavaKind kind) |
org.graalvm.compiler.nodes.InvokeNode |
createIndirectCall(org.graalvm.compiler.nodes.ValueNode targetAddress,
List<org.graalvm.compiler.nodes.ValueNode> arguments,
jdk.vm.ci.meta.Signature signature,
SubstrateCallingConventionKind callKind) |
org.graalvm.compiler.nodes.ConstantNode |
createInt(int value) |
org.graalvm.compiler.nodes.ValueNode |
createInvokeWithExceptionAndUnwind(Class<?> declaringClass,
String name,
org.graalvm.compiler.nodes.CallTargetNode.InvokeKind invokeKind,
org.graalvm.compiler.nodes.ValueNode... args) |
org.graalvm.compiler.nodes.InvokeWithExceptionNode |
createJavaCallWithException(org.graalvm.compiler.nodes.CallTargetNode.InvokeKind kind,
jdk.vm.ci.meta.ResolvedJavaMethod targetMethod,
org.graalvm.compiler.nodes.ValueNode... arguments) |
org.graalvm.compiler.nodes.ValueNode |
createJavaCallWithExceptionAndUnwind(org.graalvm.compiler.nodes.CallTargetNode.InvokeKind kind,
jdk.vm.ci.meta.ResolvedJavaMethod targetMethod,
org.graalvm.compiler.nodes.ValueNode... arguments) |
org.graalvm.compiler.nodes.java.LoadFieldNode |
createLoadField(org.graalvm.compiler.nodes.ValueNode object,
jdk.vm.ci.meta.ResolvedJavaField field) |
org.graalvm.compiler.nodes.ValueNode |
createLoadIndexed(org.graalvm.compiler.nodes.ValueNode array,
int index,
jdk.vm.ci.meta.JavaKind kind,
org.graalvm.compiler.nodes.extended.GuardingNode boundsCheck) |
org.graalvm.compiler.nodes.ConstantNode |
createLong(long value) |
protected org.graalvm.compiler.nodes.java.MethodCallTargetNode |
createMethodCallTarget(org.graalvm.compiler.nodes.CallTargetNode.InvokeKind invokeKind,
jdk.vm.ci.meta.ResolvedJavaMethod targetMethod,
org.graalvm.compiler.nodes.ValueNode[] args,
org.graalvm.compiler.core.common.type.StampPair returnStamp,
int bci) |
org.graalvm.compiler.nodes.ConstantNode |
createObject(Object value) |
org.graalvm.compiler.nodes.PiNode |
createPiNode(org.graalvm.compiler.nodes.ValueNode value,
org.graalvm.compiler.core.common.type.Stamp stamp) |
org.graalvm.compiler.nodes.ValueNode |
createReturn(org.graalvm.compiler.nodes.ValueNode retValue,
jdk.vm.ci.meta.JavaKind returnKind) |
org.graalvm.compiler.nodes.ValueNode |
createStoreIndexed(org.graalvm.compiler.nodes.ValueNode array,
int index,
jdk.vm.ci.meta.JavaKind kind,
org.graalvm.compiler.nodes.ValueNode value) |
org.graalvm.compiler.nodes.ValueNode |
createUnboxing(org.graalvm.compiler.nodes.ValueNode boxed,
jdk.vm.ci.meta.JavaKind targetKind) |
org.graalvm.compiler.nodes.StructuredGraph |
finalizeGraph() |
org.graalvm.compiler.java.FrameStateBuilder |
getFrameState() |
SubstrateLoweringProvider |
getLoweringProvider() |
static boolean |
isWord(Class<?> klass) |
List<org.graalvm.compiler.nodes.ValueNode> |
loadArguments(jdk.vm.ci.meta.JavaType[] paramTypes) |
org.graalvm.compiler.nodes.ValueNode |
loadLocal(int index,
jdk.vm.ci.meta.JavaKind slotKind) |
void |
storeLocal(int index,
jdk.vm.ci.meta.JavaKind slotKind,
org.graalvm.compiler.nodes.ValueNode value) |
add, append, asKind, changeToWord, checkArgs, createExceptionObjectNode, createGraphBuilderInstance, createIntrinsicInvoke, createInvoke, createInvoke, createInvoke, createInvokeWithExceptionAndUnwind, createInvokeWithExceptionAndUnwind, elsePart, endIf, endInvokeWithException, exceptionObject, exceptionPart, findMethod, findMethod, getGraph, getTopStructure, inline, inlineAsIntrinsic, inlineInvokesAsIntrinsics, noExceptionPart, parsingIntrinsic, popStructure, pushStructure, setStateAfterException, startIf, startInvokeWithException, startInvokeWithException, thenPart, unique, wordStampgetConstantFieldProvider, getConstantReflection, getForeignCalls, getLoopsDataProvider, getLowerer, getMetaAccess, getMetaAccessExtensionProvider, getPlatformConfigurationProvider, getProviders, getReplacements, getStampProvider, getWordVerificationclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitcanDeferPlugin, getAssumptions, getDebug, getOptions, shouldDeferPlugingetConstantFieldProvider, getConstantReflection, getForeignCalls, getLoopsDataProvider, getLowerer, getMetaAccess, getMetaAccessExtensionProvider, getPlatformConfigurationProvider, getReplacements, getStampProvider, getWordVerificationpublic SubstrateGraphKit(org.graalvm.compiler.debug.DebugContext debug,
jdk.vm.ci.meta.ResolvedJavaMethod stubMethod,
org.graalvm.compiler.phases.util.Providers providers,
org.graalvm.compiler.word.WordTypes wordTypes,
org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration.Plugins graphBuilderPlugins,
org.graalvm.compiler.core.common.CompilationIdentifier compilationId)
protected org.graalvm.compiler.nodes.java.MethodCallTargetNode createMethodCallTarget(org.graalvm.compiler.nodes.CallTargetNode.InvokeKind invokeKind,
jdk.vm.ci.meta.ResolvedJavaMethod targetMethod,
org.graalvm.compiler.nodes.ValueNode[] args,
org.graalvm.compiler.core.common.type.StampPair returnStamp,
int bci)
createMethodCallTarget in class org.graalvm.compiler.replacements.GraphKitpublic SubstrateLoweringProvider getLoweringProvider()
public org.graalvm.compiler.java.FrameStateBuilder getFrameState()
public org.graalvm.compiler.nodes.ValueNode loadLocal(int index,
jdk.vm.ci.meta.JavaKind slotKind)
public void storeLocal(int index,
jdk.vm.ci.meta.JavaKind slotKind,
org.graalvm.compiler.nodes.ValueNode value)
public List<org.graalvm.compiler.nodes.ValueNode> loadArguments(jdk.vm.ci.meta.JavaType[] paramTypes)
public org.graalvm.compiler.nodes.java.LoadFieldNode createLoadField(org.graalvm.compiler.nodes.ValueNode object,
jdk.vm.ci.meta.ResolvedJavaField field)
public org.graalvm.compiler.nodes.ValueNode createLoadIndexed(org.graalvm.compiler.nodes.ValueNode array,
int index,
jdk.vm.ci.meta.JavaKind kind,
org.graalvm.compiler.nodes.extended.GuardingNode boundsCheck)
public org.graalvm.compiler.nodes.ValueNode createStoreIndexed(org.graalvm.compiler.nodes.ValueNode array,
int index,
jdk.vm.ci.meta.JavaKind kind,
org.graalvm.compiler.nodes.ValueNode value)
public org.graalvm.compiler.nodes.ValueNode createUnboxing(org.graalvm.compiler.nodes.ValueNode boxed,
jdk.vm.ci.meta.JavaKind targetKind)
public org.graalvm.compiler.nodes.ValueNode createInvokeWithExceptionAndUnwind(Class<?> declaringClass, String name, org.graalvm.compiler.nodes.CallTargetNode.InvokeKind invokeKind, org.graalvm.compiler.nodes.ValueNode... args)
public org.graalvm.compiler.nodes.InvokeWithExceptionNode createJavaCallWithException(org.graalvm.compiler.nodes.CallTargetNode.InvokeKind kind,
jdk.vm.ci.meta.ResolvedJavaMethod targetMethod,
org.graalvm.compiler.nodes.ValueNode... arguments)
public org.graalvm.compiler.nodes.ValueNode createJavaCallWithExceptionAndUnwind(org.graalvm.compiler.nodes.CallTargetNode.InvokeKind kind,
jdk.vm.ci.meta.ResolvedJavaMethod targetMethod,
org.graalvm.compiler.nodes.ValueNode... arguments)
public org.graalvm.compiler.nodes.ConstantNode createConstant(jdk.vm.ci.meta.Constant value,
jdk.vm.ci.meta.JavaKind kind)
public org.graalvm.compiler.nodes.ValueNode createCFunctionCall(org.graalvm.compiler.nodes.ValueNode targetAddress,
List<org.graalvm.compiler.nodes.ValueNode> arguments,
jdk.vm.ci.meta.Signature signature,
int newThreadStatus,
boolean emitDeoptTarget)
public org.graalvm.compiler.nodes.InvokeNode createIndirectCall(org.graalvm.compiler.nodes.ValueNode targetAddress,
List<org.graalvm.compiler.nodes.ValueNode> arguments,
jdk.vm.ci.meta.Signature signature,
SubstrateCallingConventionKind callKind)
public org.graalvm.compiler.nodes.ConstantNode createLong(long value)
public org.graalvm.compiler.nodes.ConstantNode createInt(int value)
public org.graalvm.compiler.nodes.ConstantNode createObject(Object value)
public org.graalvm.compiler.nodes.ValueNode createBoxing(org.graalvm.compiler.nodes.ValueNode value,
jdk.vm.ci.meta.JavaKind kind,
jdk.vm.ci.meta.ResolvedJavaType targetType)
public org.graalvm.compiler.nodes.ValueNode createReturn(org.graalvm.compiler.nodes.ValueNode retValue,
jdk.vm.ci.meta.JavaKind returnKind)
public org.graalvm.compiler.nodes.PiNode createPiNode(org.graalvm.compiler.nodes.ValueNode value,
org.graalvm.compiler.core.common.type.Stamp stamp)
public int bci()
public static boolean isWord(Class<?> klass)
public org.graalvm.compiler.nodes.StructuredGraph finalizeGraph()
protected <T extends org.graalvm.compiler.nodes.WithExceptionNode> T appendWithUnwind(T withExceptionNode,
int bci)
UnwindNode, i.e., the exception is not handled in this method.public void appendStateSplitProxy(org.graalvm.compiler.nodes.FrameState state)
public void appendStateSplitProxy(org.graalvm.compiler.java.FrameStateBuilder stateBuilder)