public class SubstrateOptimizedCallTarget extends org.graalvm.compiler.truffle.runtime.OptimizedCallTarget implements SubstrateCompilableTruffleAST, SubstrateInstalledCode, org.graalvm.compiler.truffle.common.OptimizedAssumptionDependency
org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.ArgumentsProfile, org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.ReturnProfile
SubstrateInstalledCode.Access
Modifier and Type | Field and Description |
---|---|
protected long |
address |
Constructor and Description |
---|
SubstrateOptimizedCallTarget(org.graalvm.compiler.truffle.runtime.OptimizedCallTarget sourceCallTarget,
com.oracle.truffle.api.nodes.RootNode rootNode) |
Modifier and Type | Method and Description |
---|---|
boolean |
cancelCompilation(CharSequence reason) |
void |
clearAddress() |
jdk.vm.ci.code.InstalledCode |
createInstalledCode() |
Object |
doInvoke(Object[] args) |
long |
getAddress() |
long |
getCodeAddress() |
org.graalvm.compiler.truffle.common.CompilableTruffleAST |
getCompilable() |
jdk.vm.ci.meta.SpeculationLog |
getCompilationSpeculationLog() |
org.graalvm.compiler.truffle.common.OptimizedAssumptionDependency |
getDependency() |
jdk.vm.ci.meta.ResolvedJavaMethod |
getMethod()
Returns the last method object passed to
SubstrateInstalledCode.setAddress(long, jdk.vm.ci.meta.ResolvedJavaMethod) . |
SubstrateSpeculationLog |
getSpeculationLog() |
SubstrateInstalledCode |
getSubstrateInstalledCode() |
void |
invalidate() |
void |
invalidateCode() |
boolean |
isAlive()
When SVM invalidates code, it immediately deoptimizes all frames.
|
boolean |
isValid() |
boolean |
isValidLastTier() |
void |
setAddress(long address,
jdk.vm.ci.meta.ResolvedJavaMethod method) |
accept, asJavaConstant, calculateNonTrivialNodes, call, callBoundary, callDirect, callIndirect, callInlined, callOSR, compile, computeBlockCompilations, createFrame, dequeueInlined, ensureInitialized, equals, firstTierCall, getCallAndLoopCount, getCallCount, getCallNodes, getCallSiteForSplit, getCompilerOptions, getDebugProperties, getInitializedArgumentsProfile, getInitializedReturnProfile, getInitializedTimestamp, getKnownCallSiteCount, getName, getNodeRewritingAssumptionConstant, getNonTrivialNodeCount, getOptionValue, getOptionValues, getRootNode, getSingleCallNode, getSourceCallTarget, hashCode, injectArgumentsProfile, invalidate, isInitialized, isSameOrSplit, isSingleCaller, isSplit, isSubmittedForCompilation, isTrivial, log, maybeWaitForTask, needsCompile, nodeIterable, nodeIterator, nodeReplaced, onCompilationFailed, prepareForAOT, profileArguments, profiledPERoot, resetCompilationProfile, resetNeedsSplit, shouldCompile, stopProfilingArguments, toString, waitForCompilation
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
asJavaConstant, dequeueInlined, getCallCount, getCallNodes, getKnownCallSiteCount, getName, getNodeRewritingAssumptionConstant, getNonTrivialNodeCount, isSameOrSplit, isTrivial, onCompilationFailed, serializeException
getName
public SubstrateOptimizedCallTarget(org.graalvm.compiler.truffle.runtime.OptimizedCallTarget sourceCallTarget, com.oracle.truffle.api.nodes.RootNode rootNode)
public SubstrateSpeculationLog getSpeculationLog()
getSpeculationLog
in interface SubstrateInstalledCode
getSpeculationLog
in class org.graalvm.compiler.truffle.runtime.OptimizedCallTarget
public jdk.vm.ci.meta.SpeculationLog getCompilationSpeculationLog()
getCompilationSpeculationLog
in interface org.graalvm.compiler.truffle.common.CompilableTruffleAST
public void invalidate()
invalidate
in interface SubstrateInstalledCode
invalidate
in interface org.graalvm.compiler.truffle.common.OptimizedAssumptionDependency
public org.graalvm.compiler.truffle.common.CompilableTruffleAST getCompilable()
getCompilable
in interface org.graalvm.compiler.truffle.common.OptimizedAssumptionDependency
public SubstrateInstalledCode getSubstrateInstalledCode()
getSubstrateInstalledCode
in interface SubstrateInstalledCode.Access
public org.graalvm.compiler.truffle.common.OptimizedAssumptionDependency getDependency()
getDependency
in interface org.graalvm.compiler.truffle.common.OptimizedAssumptionDependency.Access
public void invalidateCode()
invalidateCode
in interface org.graalvm.compiler.truffle.common.CompilableTruffleAST
public boolean isValid()
isValid
in interface SubstrateInstalledCode
isValid
in interface org.graalvm.compiler.truffle.common.OptimizedAssumptionDependency
isValid
in class org.graalvm.compiler.truffle.runtime.OptimizedCallTarget
public boolean isAlive()
isAlive
in class org.graalvm.compiler.truffle.runtime.OptimizedCallTarget
public boolean isValidLastTier()
isValidLastTier
in class org.graalvm.compiler.truffle.runtime.OptimizedCallTarget
public long getAddress()
getAddress
in interface SubstrateInstalledCode
public long getCodeAddress()
getCodeAddress
in class org.graalvm.compiler.truffle.runtime.OptimizedCallTarget
public jdk.vm.ci.meta.ResolvedJavaMethod getMethod()
SubstrateInstalledCode
SubstrateInstalledCode.setAddress(long, jdk.vm.ci.meta.ResolvedJavaMethod)
. The return value might be
passed as the argument to future calls to SubstrateInstalledCode.setAddress(long, jdk.vm.ci.meta.ResolvedJavaMethod)
.
May return null
if the subclass does not have a use for the method object (also not
in SubstrateInstalledCode.setAddress(long, jdk.vm.ci.meta.ResolvedJavaMethod)
) and therefore no need to retain it. Expected to return null
if SubstrateInstalledCode.setAddress(long, jdk.vm.ci.meta.ResolvedJavaMethod)
has never been called, or after SubstrateInstalledCode.clearAddress()
has been called.
getMethod
in interface SubstrateInstalledCode
public void setAddress(long address, jdk.vm.ci.meta.ResolvedJavaMethod method)
setAddress
in interface SubstrateInstalledCode
public void clearAddress()
clearAddress
in interface SubstrateInstalledCode
public Object doInvoke(Object[] args)
doInvoke
in class org.graalvm.compiler.truffle.runtime.OptimizedCallTarget
public boolean cancelCompilation(CharSequence reason)
cancelCompilation
in interface org.graalvm.compiler.truffle.common.CompilableTruffleAST
cancelCompilation
in class org.graalvm.compiler.truffle.runtime.OptimizedCallTarget
public jdk.vm.ci.code.InstalledCode createInstalledCode()
createInstalledCode
in interface SubstrateCompilableTruffleAST