public abstract static class SharedGraphBuilderPhase.SharedBytecodeParser
extends org.graalvm.compiler.java.BytecodeParser
bytecodeProvider, BytecodesParsed, code, constantPool, currentBlock, debug, entryBCI, EXPLICIT_EXCEPTIONS, frameState, graph, graphBuilderConfig, intrinsicContext, lastInstr, method, optimisticOpts, options, profilingInfo, providers, stream, TRACELEVEL_BLOCKMAP, TRACELEVEL_INSTRUCTIONS, TRACELEVEL_STATE
Modifier | Constructor and Description |
---|---|
protected |
SharedBytecodeParser(org.graalvm.compiler.java.GraphBuilderPhase.Instance graphBuilderInstance,
org.graalvm.compiler.nodes.StructuredGraph graph,
org.graalvm.compiler.java.BytecodeParser parent,
jdk.vm.ci.meta.ResolvedJavaMethod method,
int entryBCI,
org.graalvm.compiler.nodes.graphbuilderconf.IntrinsicContext intrinsicContext,
boolean explicitExceptionEdges) |
protected |
SharedBytecodeParser(org.graalvm.compiler.java.GraphBuilderPhase.Instance graphBuilderInstance,
org.graalvm.compiler.nodes.StructuredGraph graph,
org.graalvm.compiler.java.BytecodeParser parent,
jdk.vm.ci.meta.ResolvedJavaMethod method,
int entryBCI,
org.graalvm.compiler.nodes.graphbuilderconf.IntrinsicContext intrinsicContext,
boolean explicitExceptionEdges,
boolean allowIncompleteClasspath) |
Modifier and Type | Method and Description |
---|---|
protected boolean |
canInlinePartialIntrinsicExit() |
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,
jdk.vm.ci.meta.JavaTypeProfile profile) |
protected void |
emitCheckForInvokeSuperSpecial(org.graalvm.compiler.nodes.ValueNode[] args) |
protected void |
genIf(org.graalvm.compiler.nodes.ValueNode x,
org.graalvm.compiler.core.common.calc.Condition cond,
org.graalvm.compiler.nodes.ValueNode y) |
protected void |
genReturn(org.graalvm.compiler.nodes.ValueNode returnVal,
jdk.vm.ci.meta.JavaKind returnKind) |
protected void |
handleUnresolvedCheckCast(jdk.vm.ci.meta.JavaType type,
org.graalvm.compiler.nodes.ValueNode object) |
protected void |
handleUnresolvedExceptionType(jdk.vm.ci.meta.JavaType type) |
protected void |
handleUnresolvedInstanceOf(jdk.vm.ci.meta.JavaType type,
org.graalvm.compiler.nodes.ValueNode object) |
protected void |
handleUnresolvedInvoke(jdk.vm.ci.meta.JavaMethod javaMethod,
org.graalvm.compiler.nodes.CallTargetNode.InvokeKind invokeKind) |
protected void |
handleUnresolvedLoadConstant(jdk.vm.ci.meta.JavaType type) |
protected void |
handleUnresolvedLoadField(jdk.vm.ci.meta.JavaField field,
org.graalvm.compiler.nodes.ValueNode receiver) |
protected void |
handleUnresolvedNewInstance(jdk.vm.ci.meta.JavaType type) |
protected void |
handleUnresolvedNewMultiArray(jdk.vm.ci.meta.JavaType type,
org.graalvm.compiler.nodes.ValueNode[] dims) |
protected void |
handleUnresolvedNewObjectArray(jdk.vm.ci.meta.JavaType type,
org.graalvm.compiler.nodes.ValueNode length) |
protected void |
handleUnresolvedStoreField(jdk.vm.ci.meta.JavaField field,
org.graalvm.compiler.nodes.ValueNode value,
org.graalvm.compiler.nodes.ValueNode receiver) |
boolean |
isPluginEnabled(org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderPlugin plugin) |
protected void |
maybeEagerlyResolve(int cpi,
int bytecode) |
protected jdk.vm.ci.meta.JavaType |
maybeEagerlyResolve(jdk.vm.ci.meta.JavaType type,
jdk.vm.ci.meta.ResolvedJavaType accessingClass) |
boolean |
needsExplicitException() |
protected boolean |
needsExplicitNullCheckException(org.graalvm.compiler.nodes.ValueNode object) |
protected boolean |
needsExplicitStoreCheckException(org.graalvm.compiler.nodes.ValueNode array,
org.graalvm.compiler.nodes.ValueNode value) |
void |
notifyReplacedCall(jdk.vm.ci.meta.ResolvedJavaMethod targetMethod,
org.graalvm.compiler.nodes.ConstantNode node) |
protected boolean |
shouldComplementProbability() |
protected RuntimeException |
throwParserError(Throwable e) |
append, appendConstant, appendInvoke, bailout, bci, build, buildRootMethod, checkLastInstruction, cleanupFinalGraph, createAnchor, createBytecodePosition, createHandleExceptionTarget, createInstanceOf, createInstanceOf, createInstanceOfAllowNull, createInvoke, createInvokeWithException, createMonitorEnterNode, createNewArray, createNewInstance, createNewMultiArray, createNonInlinedInvoke, createNonInlinedInvoke, disableLoopSafepoint, finishInstruction, finishPrepare, forceLoopPhis, genAnd, genArrayLength, genCheckCast, genCheckCast, genConditional, genExplicitExceptionEdge, genFloatAdd, genFloatConvert, genFloatDiv, genFloatMul, genFloatRem, genFloatSub, genGetField, genGetField, genGetStatic, genGoto, genIf, genIfNode, genInstanceOf, genInstanceOf, genIntegerAdd, genIntegerDiv, genIntegerEquals, genIntegerLessThan, genIntegerMul, genIntegerNormalizeCompare, genIntegerRem, genIntegerSub, genIntegerSwitch, genInvokeDynamic, genInvokeInterface, genInvokeInterface, genInvokeSpecial, genInvokeStatic, genInvokeVirtual, genInvokeVirtual, genJsr, genLeftShift, genLoadConstant, genLoadField, genLoadIndexed, genMonitorEnter, genMonitorExit, genNarrow, genNegateOp, genNewInstance, genNewInstance, genNewInstance, genNormalizeCompare, genObjectEquals, genOr, genPutField, genPutField, genPutStatic, genPutStatic, genRet, genRightShift, genSignExtend, genStoreField, genStoreIndexed, genThrow, genUnique, genUnique, genUnsignedRightShift, genVolatileFieldReadProxy, genXor, genZeroExtend, getActionForInvokeExceptionEdge, getBeforeUnwindNode, getCode, getConstantFieldProvider, getConstantReflection, getFrameStateBuilder, getGraph, getGraphBuilderInstance, getIntrinsic, getInvokeKind, getInvokeReturnType, getMetaAccess, getMethod, getNonIntrinsicAncestor, getParent, getProfileForInvoke, getProfileProbability, getReplacements, getStampProvider, getStream, getUnwindValue, handleIllegalNewInstance, handleReplacedInvoke, handleReplacedInvoke, intrinsify, intrinsify, isNeverExecutedCode, isPotentialCountedLoopExit, iterateBytecodesForBlock, loadLocal, loadLocalObject, lookupField, lookupField, lookupMethodInPool, lookupReferencedTypeInPool, lookupType, maybeEagerlyInitialize, maybeEmitExplicitBoundsCheck, maybeEmitExplicitDivisionByZeroCheck, maybeEmitExplicitNullCheck, maybeEmitExplicitStoreCheck, needsExplicitBoundsCheckException, needsExplicitClassCastException, needsExplicitDivisionByZeroException, notifyAfterInline, notifyBeforeInline, parseAndInlineCallee, parsingIntrinsic, pop, postProcessIfNode, processBlock, processBytecode, push, setCurrentFrameState, setStateAfter, stampFromValueForForcedPhis, storeLocal, toString, traceInstruction, traceWithContext, tryInvocationPlugin, typeIsResolved
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
protected SharedBytecodeParser(org.graalvm.compiler.java.GraphBuilderPhase.Instance graphBuilderInstance, org.graalvm.compiler.nodes.StructuredGraph graph, org.graalvm.compiler.java.BytecodeParser parent, jdk.vm.ci.meta.ResolvedJavaMethod method, int entryBCI, org.graalvm.compiler.nodes.graphbuilderconf.IntrinsicContext intrinsicContext, boolean explicitExceptionEdges)
protected SharedBytecodeParser(org.graalvm.compiler.java.GraphBuilderPhase.Instance graphBuilderInstance, org.graalvm.compiler.nodes.StructuredGraph graph, org.graalvm.compiler.java.BytecodeParser parent, jdk.vm.ci.meta.ResolvedJavaMethod method, int entryBCI, org.graalvm.compiler.nodes.graphbuilderconf.IntrinsicContext intrinsicContext, boolean explicitExceptionEdges, boolean allowIncompleteClasspath)
protected RuntimeException throwParserError(Throwable e)
throwParserError
in class org.graalvm.compiler.java.BytecodeParser
protected void maybeEagerlyResolve(int cpi, int bytecode)
maybeEagerlyResolve
in class org.graalvm.compiler.java.BytecodeParser
protected jdk.vm.ci.meta.JavaType maybeEagerlyResolve(jdk.vm.ci.meta.JavaType type, jdk.vm.ci.meta.ResolvedJavaType accessingClass)
maybeEagerlyResolve
in class org.graalvm.compiler.java.BytecodeParser
protected void handleUnresolvedNewInstance(jdk.vm.ci.meta.JavaType type)
handleUnresolvedNewInstance
in class org.graalvm.compiler.java.BytecodeParser
protected void handleUnresolvedNewObjectArray(jdk.vm.ci.meta.JavaType type, org.graalvm.compiler.nodes.ValueNode length)
handleUnresolvedNewObjectArray
in class org.graalvm.compiler.java.BytecodeParser
protected void handleUnresolvedNewMultiArray(jdk.vm.ci.meta.JavaType type, org.graalvm.compiler.nodes.ValueNode[] dims)
handleUnresolvedNewMultiArray
in class org.graalvm.compiler.java.BytecodeParser
protected void handleUnresolvedInstanceOf(jdk.vm.ci.meta.JavaType type, org.graalvm.compiler.nodes.ValueNode object)
handleUnresolvedInstanceOf
in class org.graalvm.compiler.java.BytecodeParser
protected void handleUnresolvedCheckCast(jdk.vm.ci.meta.JavaType type, org.graalvm.compiler.nodes.ValueNode object)
handleUnresolvedCheckCast
in class org.graalvm.compiler.java.BytecodeParser
protected void handleUnresolvedLoadConstant(jdk.vm.ci.meta.JavaType type)
handleUnresolvedLoadConstant
in class org.graalvm.compiler.java.BytecodeParser
protected void handleUnresolvedExceptionType(jdk.vm.ci.meta.JavaType type)
handleUnresolvedExceptionType
in class org.graalvm.compiler.java.BytecodeParser
protected void handleUnresolvedStoreField(jdk.vm.ci.meta.JavaField field, org.graalvm.compiler.nodes.ValueNode value, org.graalvm.compiler.nodes.ValueNode receiver)
handleUnresolvedStoreField
in class org.graalvm.compiler.java.BytecodeParser
protected void handleUnresolvedLoadField(jdk.vm.ci.meta.JavaField field, org.graalvm.compiler.nodes.ValueNode receiver)
handleUnresolvedLoadField
in class org.graalvm.compiler.java.BytecodeParser
protected void handleUnresolvedInvoke(jdk.vm.ci.meta.JavaMethod javaMethod, org.graalvm.compiler.nodes.CallTargetNode.InvokeKind invokeKind)
handleUnresolvedInvoke
in class org.graalvm.compiler.java.BytecodeParser
protected void emitCheckForInvokeSuperSpecial(org.graalvm.compiler.nodes.ValueNode[] args)
emitCheckForInvokeSuperSpecial
in class org.graalvm.compiler.java.BytecodeParser
protected boolean canInlinePartialIntrinsicExit()
canInlinePartialIntrinsicExit
in class org.graalvm.compiler.java.BytecodeParser
protected void genIf(org.graalvm.compiler.nodes.ValueNode x, org.graalvm.compiler.core.common.calc.Condition cond, org.graalvm.compiler.nodes.ValueNode y)
genIf
in class org.graalvm.compiler.java.BytecodeParser
protected boolean shouldComplementProbability()
shouldComplementProbability
in class org.graalvm.compiler.java.BytecodeParser
public 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, jdk.vm.ci.meta.JavaTypeProfile profile)
createMethodCallTarget
in class org.graalvm.compiler.java.BytecodeParser
protected void genReturn(org.graalvm.compiler.nodes.ValueNode returnVal, jdk.vm.ci.meta.JavaKind returnKind)
genReturn
in class org.graalvm.compiler.java.BytecodeParser
protected boolean needsExplicitNullCheckException(org.graalvm.compiler.nodes.ValueNode object)
needsExplicitNullCheckException
in class org.graalvm.compiler.java.BytecodeParser
protected boolean needsExplicitStoreCheckException(org.graalvm.compiler.nodes.ValueNode array, org.graalvm.compiler.nodes.ValueNode value)
needsExplicitStoreCheckException
in class org.graalvm.compiler.java.BytecodeParser
public boolean needsExplicitException()
needsExplicitException
in interface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext
needsExplicitException
in class org.graalvm.compiler.java.BytecodeParser
public void notifyReplacedCall(jdk.vm.ci.meta.ResolvedJavaMethod targetMethod, org.graalvm.compiler.nodes.ConstantNode node)
public boolean isPluginEnabled(org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderPlugin plugin)