Class BackgroundCompileQueue
java.lang.Object
com.oracle.truffle.runtime.BackgroundCompileQueue
The compilation queue accepts compilation requests, and schedules compilations.
The current queuing policy is to first schedule all the first tier compilation requests, and only
handle second tier compilation requests when there are no first tier compilations left. Between
the compilation requests of the same optimization tier, the queuing policy is FIFO
(first-in-first-out).
Note that all the compilation requests are second tier when the multi-tier option is turned off.
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptiongetQueuedTargets(EngineData engine) Return call targets waiting in queue.intprotected ThreadFactorynewThreadFactory(String threadNamePrefix, OptimizedCallTarget callTarget) protected voidCalled when a compiler thread becomes idle for more thandelayMillis.voidshutdownAndAwaitTermination(long timeout) submitCompilation(com.oracle.truffle.runtime.BackgroundCompileQueue.Priority priority, OptimizedCallTarget target) submitInitialization(OptimizedCallTarget target, Consumer<CompilationTask> action)
-
Field Details
-
runtime
-
-
Constructor Details
-
BackgroundCompileQueue
-
-
Method Details
-
newThreadFactory
-
submitCompilation
public CompilationTask submitCompilation(com.oracle.truffle.runtime.BackgroundCompileQueue.Priority priority, OptimizedCallTarget target) -
submitInitialization
public CompilationTask submitInitialization(OptimizedCallTarget target, Consumer<CompilationTask> action) -
getQueueSize
public int getQueueSize() -
getQueuedTargets
Return call targets waiting in queue. This does not include call targets currently being compiled. -
shutdownAndAwaitTermination
public void shutdownAndAwaitTermination(long timeout) -
notifyIdleCompilerThread
protected void notifyIdleCompilerThread()Called when a compiler thread becomes idle for more thandelayMillis.
-