public interface GraalTruffleCompilationListener
OptimizedCallTarget
that is compiled using
the Graal Truffle system can be described using the following deterministic automata: *
( (split | (queue . unqueue))*
. queue . started
. (truffleTierFinished . graalTierFinished . success)
| ([truffleTierFinished] . [graalTierFinished] . failed)
. invalidate )*
Note: |
is the 'or' and .
is the sequential operator. The
*
represents the Kleene Closure.
void notifyCompilationSplit(OptimizedDirectCallNode callNode)
void notifyCompilationQueued(OptimizedCallTarget target)
void notifyCompilationDequeued(OptimizedCallTarget target, Object source, CharSequence reason)
source
- the source object that caused the compilation to be unqueued. For example the
source Node
object. May be null
.reason
- a textual description of the reason why the compilation was unqueued. May be
null
.void notifyCompilationFailed(OptimizedCallTarget target, StructuredGraph graph, Throwable t)
void notifyCompilationStarted(OptimizedCallTarget target)
void notifyCompilationTruffleTierFinished(OptimizedCallTarget target, StructuredGraph graph)
void notifyCompilationGraalTierFinished(OptimizedCallTarget target, StructuredGraph graph)
void notifyCompilationSuccess(OptimizedCallTarget target, StructuredGraph graph, CompilationResult result)
void notifyCompilationInvalidated(OptimizedCallTarget target, Object source, CharSequence reason)
source
- the source object that caused the compilation to be invalidated. For example
the source Node
object. May be null
.reason
- a textual description of the reason why the compilation was invalidated. May be
null
.void notifyShutdown(GraalTruffleRuntime runtime)
void notifyStartup(GraalTruffleRuntime runtime)