public final class HotSpotTruffleRuntime extends GraalTruffleRuntime
Modifier and Type | Field and Description |
---|---|
private Map<com.oracle.truffle.api.RootCallTarget,Void> |
callTargets |
private Map<OptimizedCallTarget,Future<?>> |
compilations |
private ThreadPoolExecutor |
compileQueue |
private static long |
THREAD_EETOP_OFFSET |
alternateRuntime, anyFrameMethod, callNodeMethod, callTargetMethod, loopNodeFactory, truffleCompiler
Modifier | Constructor and Description |
---|---|
private |
HotSpotTruffleRuntime() |
acceptForCompilation, addCompilationListener, createAssumption, createAssumption, createCompilerOptions, createDirectCallNode, createIndirectCallNode, createLoopNode, createMaterializedFrame, createMaterializedFrame, createVirtualFrame, doCompile, enableInfopoints, getCallerFrame, getCapability, getCompilationNotify, getCurrentFrame, getLoopNodeFactory, installDefaultListeners, iterateFrames, log, lookupCallMethods, parseCompileOnly, removeCompilationListener
private Map<OptimizedCallTarget,Future<?>> compilations
private final ThreadPoolExecutor compileQueue
private final Map<com.oracle.truffle.api.RootCallTarget,Void> callTargets
private static final long THREAD_EETOP_OFFSET
private HotSpotTruffleRuntime()
public static com.oracle.truffle.api.TruffleRuntime makeInstance()
public TruffleCompiler getTruffleCompiler()
getTruffleCompiler
in class GraalTruffleRuntime
public com.oracle.truffle.api.RootCallTarget createCallTarget(com.oracle.truffle.api.nodes.RootNode rootNode)
private com.oracle.truffle.api.RootCallTarget createCallTargetImpl(OptimizedCallTarget source, com.oracle.truffle.api.nodes.RootNode rootNode)
public com.oracle.truffle.api.RootCallTarget createClonedCallTarget(OptimizedCallTarget source, com.oracle.truffle.api.nodes.RootNode root)
createClonedCallTarget
in class GraalTruffleRuntime
public static void installOptimizedCallTargetCallMethod()
private static CompilationResultBuilderFactory getOptimizedCallTargetInstrumentationFactory(String arch, ResolvedJavaMethod method)
private static CompilationResult compileMethod(ResolvedJavaMethod javaMethod)
private static HotSpotProviders getGraalProviders()
private static PhaseSuite<HighTierContext> getGraphBuilderSuite(SuitesProvider suitesProvider)
private static void removeInliningPhase(Suites suites)
public void compile(OptimizedCallTarget optimizedCallTarget, boolean mayBeAsynchronous)
compile
in class GraalTruffleRuntime
public boolean cancelInstalledTask(OptimizedCallTarget optimizedCallTarget, Object source, CharSequence reason)
cancelInstalledTask
in class GraalTruffleRuntime
public void waitForCompilation(OptimizedCallTarget optimizedCallTarget, long timeout) throws ExecutionException, TimeoutException
waitForCompilation
in class GraalTruffleRuntime
ExecutionException
TimeoutException
public Collection<OptimizedCallTarget> getQueuedCallTargets()
getQueuedCallTargets
in class GraalTruffleRuntime
public boolean isCompiling(OptimizedCallTarget optimizedCallTarget)
isCompiling
in class GraalTruffleRuntime
public void invalidateInstalledCode(OptimizedCallTarget optimizedCallTarget, Object source, CharSequence reason)
invalidateInstalledCode
in class GraalTruffleRuntime
public void reinstallStubs()
reinstallStubs
in class GraalTruffleRuntime
public boolean platformEnableInfopoints()
platformEnableInfopoints
in class GraalTruffleRuntime
public Collection<com.oracle.truffle.api.RootCallTarget> getCallTargets()
public void notifyTransferToInterpreter()
private static void logTransferToInterpreter()
private static long eetopOffset()
private static RawNativeCallNodeFactory getRawNativeCallNodeFactory(String arch)
public static NativeFunctionInterface createNativeFunctionInterface()