public abstract class GraalTruffleRuntime extends Object implements com.oracle.truffle.api.TruffleRuntime
| Modifier and Type | Class and Description |
|---|---|
private class |
GraalTruffleRuntime.DispatchTruffleCompilationListener |
| Modifier and Type | Field and Description |
|---|---|
static com.oracle.truffle.api.TruffleRuntime |
alternateRuntime |
protected ResolvedJavaMethod[] |
anyFrameMethod |
protected ResolvedJavaMethod[] |
callNodeMethod |
protected ResolvedJavaMethod[] |
callTargetMethod |
private List<GraalTruffleCompilationListener> |
compilationListeners |
private GraalTruffleCompilationListener |
compilationNotify |
private ArrayList<String> |
excludes |
private ArrayList<String> |
includes |
protected LoopNodeFactory |
loopNodeFactory |
private StackIntrospection |
stackIntrospection |
protected TruffleCompiler |
truffleCompiler |
| Constructor and Description |
|---|
GraalTruffleRuntime() |
| Modifier and Type | Method and Description |
|---|---|
protected boolean |
acceptForCompilation(com.oracle.truffle.api.nodes.RootNode rootNode) |
void |
addCompilationListener(GraalTruffleCompilationListener listener) |
abstract boolean |
cancelInstalledTask(OptimizedCallTarget optimizedCallTarget,
Object source,
CharSequence reason) |
abstract void |
compile(OptimizedCallTarget optimizedCallTarget,
boolean mayBeAsynchronous) |
com.oracle.truffle.api.Assumption |
createAssumption() |
com.oracle.truffle.api.Assumption |
createAssumption(String name) |
abstract com.oracle.truffle.api.RootCallTarget |
createClonedCallTarget(OptimizedCallTarget sourceCallTarget,
com.oracle.truffle.api.nodes.RootNode root) |
com.oracle.truffle.api.CompilerOptions |
createCompilerOptions() |
com.oracle.truffle.api.nodes.DirectCallNode |
createDirectCallNode(com.oracle.truffle.api.CallTarget target) |
com.oracle.truffle.api.nodes.IndirectCallNode |
createIndirectCallNode() |
com.oracle.truffle.api.nodes.LoopNode |
createLoopNode(com.oracle.truffle.api.nodes.RepeatingNode repeatingNode) |
com.oracle.truffle.api.frame.MaterializedFrame |
createMaterializedFrame(Object[] arguments) |
com.oracle.truffle.api.frame.MaterializedFrame |
createMaterializedFrame(Object[] arguments,
com.oracle.truffle.api.frame.FrameDescriptor frameDescriptor) |
com.oracle.truffle.api.frame.VirtualFrame |
createVirtualFrame(Object[] arguments,
com.oracle.truffle.api.frame.FrameDescriptor frameDescriptor) |
protected void |
doCompile(OptimizedCallTarget optimizedCallTarget) |
boolean |
enableInfopoints() |
com.oracle.truffle.api.frame.FrameInstance |
getCallerFrame() |
<T> T |
getCapability(Class<T> capability) |
GraalTruffleCompilationListener |
getCompilationNotify() |
com.oracle.truffle.api.frame.FrameInstance |
getCurrentFrame() |
protected LoopNodeFactory |
getLoopNodeFactory() |
abstract Collection<OptimizedCallTarget> |
getQueuedCallTargets() |
abstract TruffleCompiler |
getTruffleCompiler() |
private void |
initStackIntrospection() |
protected void |
installDefaultListeners() |
abstract void |
invalidateInstalledCode(OptimizedCallTarget optimizedCallTarget,
Object source,
CharSequence reason) |
abstract boolean |
isCompiling(OptimizedCallTarget optimizedCallTarget) |
<T> T |
iterateFrames(com.oracle.truffle.api.frame.FrameInstanceVisitor<T> visitor) |
private static <T extends PrioritizedServiceProvider> |
loadPrioritizedServiceProvider(Class<T> clazz) |
void |
log(String message) |
protected void |
lookupCallMethods(MetaAccessProvider metaAccess) |
protected void |
parseCompileOnly() |
protected abstract boolean |
platformEnableInfopoints() |
abstract void |
reinstallStubs() |
void |
removeCompilationListener(GraalTruffleCompilationListener listener) |
private void |
shutdown() |
abstract void |
waitForCompilation(OptimizedCallTarget optimizedCallTarget,
long timeout) |
public static com.oracle.truffle.api.TruffleRuntime alternateRuntime
private StackIntrospection stackIntrospection
protected ResolvedJavaMethod[] callNodeMethod
protected ResolvedJavaMethod[] callTargetMethod
protected ResolvedJavaMethod[] anyFrameMethod
private final List<GraalTruffleCompilationListener> compilationListeners
private final GraalTruffleCompilationListener compilationNotify
protected TruffleCompiler truffleCompiler
protected LoopNodeFactory loopNodeFactory
public GraalTruffleRuntime()
public abstract TruffleCompiler getTruffleCompiler()
private static <T extends PrioritizedServiceProvider> T loadPrioritizedServiceProvider(Class<T> clazz)
protected void installDefaultListeners()
protected void lookupCallMethods(MetaAccessProvider metaAccess)
public com.oracle.truffle.api.nodes.LoopNode createLoopNode(com.oracle.truffle.api.nodes.RepeatingNode repeatingNode)
createLoopNode in interface com.oracle.truffle.api.TruffleRuntimeprotected LoopNodeFactory getLoopNodeFactory()
public com.oracle.truffle.api.nodes.DirectCallNode createDirectCallNode(com.oracle.truffle.api.CallTarget target)
createDirectCallNode in interface com.oracle.truffle.api.TruffleRuntimepublic com.oracle.truffle.api.nodes.IndirectCallNode createIndirectCallNode()
createIndirectCallNode in interface com.oracle.truffle.api.TruffleRuntimepublic com.oracle.truffle.api.frame.VirtualFrame createVirtualFrame(Object[] arguments, com.oracle.truffle.api.frame.FrameDescriptor frameDescriptor)
createVirtualFrame in interface com.oracle.truffle.api.TruffleRuntimepublic com.oracle.truffle.api.frame.MaterializedFrame createMaterializedFrame(Object[] arguments)
createMaterializedFrame in interface com.oracle.truffle.api.TruffleRuntimepublic com.oracle.truffle.api.frame.MaterializedFrame createMaterializedFrame(Object[] arguments, com.oracle.truffle.api.frame.FrameDescriptor frameDescriptor)
createMaterializedFrame in interface com.oracle.truffle.api.TruffleRuntimepublic com.oracle.truffle.api.CompilerOptions createCompilerOptions()
createCompilerOptions in interface com.oracle.truffle.api.TruffleRuntimepublic com.oracle.truffle.api.Assumption createAssumption()
createAssumption in interface com.oracle.truffle.api.TruffleRuntimepublic com.oracle.truffle.api.Assumption createAssumption(String name)
createAssumption in interface com.oracle.truffle.api.TruffleRuntimepublic GraalTruffleCompilationListener getCompilationNotify()
public <T> T iterateFrames(com.oracle.truffle.api.frame.FrameInstanceVisitor<T> visitor)
iterateFrames in interface com.oracle.truffle.api.TruffleRuntimeprivate void initStackIntrospection()
public com.oracle.truffle.api.frame.FrameInstance getCallerFrame()
getCallerFrame in interface com.oracle.truffle.api.TruffleRuntimepublic com.oracle.truffle.api.frame.FrameInstance getCurrentFrame()
getCurrentFrame in interface com.oracle.truffle.api.TruffleRuntimepublic <T> T getCapability(Class<T> capability)
getCapability in interface com.oracle.truffle.api.TruffleRuntimeprotected boolean acceptForCompilation(com.oracle.truffle.api.nodes.RootNode rootNode)
protected void parseCompileOnly()
public abstract com.oracle.truffle.api.RootCallTarget createClonedCallTarget(OptimizedCallTarget sourceCallTarget, com.oracle.truffle.api.nodes.RootNode root)
public void addCompilationListener(GraalTruffleCompilationListener listener)
public void removeCompilationListener(GraalTruffleCompilationListener listener)
private void shutdown()
public abstract Collection<OptimizedCallTarget> getQueuedCallTargets()
public abstract void compile(OptimizedCallTarget optimizedCallTarget, boolean mayBeAsynchronous)
protected void doCompile(OptimizedCallTarget optimizedCallTarget)
public abstract boolean cancelInstalledTask(OptimizedCallTarget optimizedCallTarget, Object source, CharSequence reason)
public abstract void waitForCompilation(OptimizedCallTarget optimizedCallTarget, long timeout) throws ExecutionException, TimeoutException
ExecutionExceptionTimeoutExceptionpublic abstract boolean isCompiling(OptimizedCallTarget optimizedCallTarget)
public abstract void invalidateInstalledCode(OptimizedCallTarget optimizedCallTarget, Object source, CharSequence reason)
public abstract void reinstallStubs()
public final boolean enableInfopoints()
protected abstract boolean platformEnableInfopoints()