public abstract static class SharedGraphBuilderPhase.SharedBytecodeParser
extends org.graalvm.compiler.java.BytecodeParser
org.graalvm.compiler.java.BytecodeParser.BytecodeParserError, org.graalvm.compiler.java.BytecodeParser.ExceptionEdgeAction, org.graalvm.compiler.java.BytecodeParser.IntrinsicGuard, org.graalvm.compiler.java.BytecodeParser.ReturnToCallerDatabytecodeProvider, 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) |
| 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 org.graalvm.compiler.word.WordTypes |
getWordTypes() |
protected org.graalvm.compiler.java.BytecodeParser.IntrinsicGuard |
guardIntrinsic(org.graalvm.compiler.nodes.ValueNode[] args,
jdk.vm.ci.meta.ResolvedJavaMethod targetMethod,
org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins.InvocationPluginReceiver pluginReceiver) |
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) |
protected void |
maybeEagerlyResolve(int cpi,
int bytecode) |
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) |
adjustProfileForInvocationPlugin, afterInvocationPluginExecution, 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, 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, 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, typeIsResolvedclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitprotected 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 RuntimeException throwParserError(Throwable e)
throwParserError in class org.graalvm.compiler.java.BytecodeParserprotected org.graalvm.compiler.word.WordTypes getWordTypes()
protected void maybeEagerlyResolve(int cpi,
int bytecode)
maybeEagerlyResolve in class org.graalvm.compiler.java.BytecodeParserprotected void handleUnresolvedNewInstance(jdk.vm.ci.meta.JavaType type)
handleUnresolvedNewInstance in class org.graalvm.compiler.java.BytecodeParserprotected void handleUnresolvedNewObjectArray(jdk.vm.ci.meta.JavaType type,
org.graalvm.compiler.nodes.ValueNode length)
handleUnresolvedNewObjectArray in class org.graalvm.compiler.java.BytecodeParserprotected void handleUnresolvedNewMultiArray(jdk.vm.ci.meta.JavaType type,
org.graalvm.compiler.nodes.ValueNode[] dims)
handleUnresolvedNewMultiArray in class org.graalvm.compiler.java.BytecodeParserprotected void handleUnresolvedInstanceOf(jdk.vm.ci.meta.JavaType type,
org.graalvm.compiler.nodes.ValueNode object)
handleUnresolvedInstanceOf in class org.graalvm.compiler.java.BytecodeParserprotected void handleUnresolvedCheckCast(jdk.vm.ci.meta.JavaType type,
org.graalvm.compiler.nodes.ValueNode object)
handleUnresolvedCheckCast in class org.graalvm.compiler.java.BytecodeParserprotected void handleUnresolvedLoadConstant(jdk.vm.ci.meta.JavaType type)
handleUnresolvedLoadConstant in class org.graalvm.compiler.java.BytecodeParserprotected void handleUnresolvedExceptionType(jdk.vm.ci.meta.JavaType type)
handleUnresolvedExceptionType in class org.graalvm.compiler.java.BytecodeParserprotected 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.BytecodeParserprotected void handleUnresolvedLoadField(jdk.vm.ci.meta.JavaField field,
org.graalvm.compiler.nodes.ValueNode receiver)
handleUnresolvedLoadField in class org.graalvm.compiler.java.BytecodeParserprotected void handleUnresolvedInvoke(jdk.vm.ci.meta.JavaMethod javaMethod,
org.graalvm.compiler.nodes.CallTargetNode.InvokeKind invokeKind)
handleUnresolvedInvoke in class org.graalvm.compiler.java.BytecodeParserprotected void emitCheckForInvokeSuperSpecial(org.graalvm.compiler.nodes.ValueNode[] args)
emitCheckForInvokeSuperSpecial in class org.graalvm.compiler.java.BytecodeParserprotected boolean canInlinePartialIntrinsicExit()
canInlinePartialIntrinsicExit in class org.graalvm.compiler.java.BytecodeParserprotected 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.BytecodeParserprotected boolean shouldComplementProbability()
shouldComplementProbability in class org.graalvm.compiler.java.BytecodeParserpublic 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.BytecodeParserprotected void genReturn(org.graalvm.compiler.nodes.ValueNode returnVal,
jdk.vm.ci.meta.JavaKind returnKind)
genReturn in class org.graalvm.compiler.java.BytecodeParserprotected boolean needsExplicitNullCheckException(org.graalvm.compiler.nodes.ValueNode object)
needsExplicitNullCheckException in class org.graalvm.compiler.java.BytecodeParserprotected boolean needsExplicitStoreCheckException(org.graalvm.compiler.nodes.ValueNode array,
org.graalvm.compiler.nodes.ValueNode value)
needsExplicitStoreCheckException in class org.graalvm.compiler.java.BytecodeParserpublic boolean needsExplicitException()
needsExplicitException in interface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContextneedsExplicitException in class org.graalvm.compiler.java.BytecodeParserprotected org.graalvm.compiler.java.BytecodeParser.IntrinsicGuard guardIntrinsic(org.graalvm.compiler.nodes.ValueNode[] args,
jdk.vm.ci.meta.ResolvedJavaMethod targetMethod,
org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins.InvocationPluginReceiver pluginReceiver)
guardIntrinsic in class org.graalvm.compiler.java.BytecodeParserpublic void notifyReplacedCall(jdk.vm.ci.meta.ResolvedJavaMethod targetMethod,
org.graalvm.compiler.nodes.ConstantNode node)