public final class CompilationStatisticsListener extends AbstractDebugCompilationListener
Modifier and Type | Class and Description |
---|---|
private static class |
CompilationStatisticsListener.CallTargetNodeStatistics |
private static class |
CompilationStatisticsListener.CompilationLocal |
private static class |
CompilationStatisticsListener.IdentityStatistics<T> |
Modifier | Constructor and Description |
---|---|
private |
CompilationStatisticsListener() |
addASTSizeProperty, log, notifyStartup
private long firstCompilation
private int compilations
private int invalidations
private int failures
private int success
private int queues
private int dequeues
private int splits
private final IntSummaryStatistics deferCompilations
private final LongSummaryStatistics timeToQueue
private final LongSummaryStatistics timeToCompilation
private final IntSummaryStatistics nodeCount
private final IntSummaryStatistics nodeCountTrivial
private final IntSummaryStatistics nodeCountNonTrivial
private final IntSummaryStatistics nodeCountMonomorphic
private final IntSummaryStatistics nodeCountPolymorphic
private final IntSummaryStatistics nodeCountMegamorphic
private final CompilationStatisticsListener.IdentityStatistics<Class<?>> nodeStatistics
private final IntSummaryStatistics callCount
private final IntSummaryStatistics callCountIndirect
private final IntSummaryStatistics callCountDirect
private final IntSummaryStatistics callCountDirectDispatched
private final IntSummaryStatistics callCountDirectInlined
private final IntSummaryStatistics callCountDirectCloned
private final IntSummaryStatistics callCountDirectNotCloned
private final IntSummaryStatistics loopCount
private final LongSummaryStatistics compilationTime
private final LongSummaryStatistics compilationTimeTruffleTier
private final LongSummaryStatistics compilationTimeGraalTier
private final LongSummaryStatistics compilationTimeCodeInstallation
private final IntSummaryStatistics truffleTierNodeCount
private final CompilationStatisticsListener.IdentityStatistics<Class<?>> truffleTierNodeStatistics
private final IntSummaryStatistics graalTierNodeCount
private final CompilationStatisticsListener.IdentityStatistics<Class<?>> graalTierNodeStatistics
private final IntSummaryStatistics compilationResultCodeSize
private final IntSummaryStatistics compilationResultExceptionHandlers
private final IntSummaryStatistics compilationResultInfopoints
private final CompilationStatisticsListener.IdentityStatistics<String> compilationResultInfopointStatistics
private final IntSummaryStatistics compilationResultMarks
private final IntSummaryStatistics compilationResultTotalFrameSize
private final IntSummaryStatistics compilationResultDataPatches
private final ThreadLocal<CompilationStatisticsListener.CompilationLocal> compilationLocal
private CompilationStatisticsListener()
public static void install(GraalTruffleRuntime runtime)
public void notifyCompilationSplit(OptimizedDirectCallNode callNode)
notifyCompilationSplit
in interface GraalTruffleCompilationListener
notifyCompilationSplit
in class AbstractDebugCompilationListener
public void notifyCompilationQueued(OptimizedCallTarget target)
GraalTruffleCompilationListener
notifyCompilationQueued
in interface GraalTruffleCompilationListener
notifyCompilationQueued
in class AbstractDebugCompilationListener
public void notifyCompilationDequeued(OptimizedCallTarget target, Object source, CharSequence reason)
GraalTruffleCompilationListener
notifyCompilationDequeued
in interface GraalTruffleCompilationListener
notifyCompilationDequeued
in class AbstractDebugCompilationListener
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
.public void notifyCompilationFailed(OptimizedCallTarget target, StructuredGraph graph, Throwable t)
notifyCompilationFailed
in interface GraalTruffleCompilationListener
notifyCompilationFailed
in class AbstractDebugCompilationListener
public void notifyCompilationInvalidated(OptimizedCallTarget target, Object source, CharSequence reason)
GraalTruffleCompilationListener
notifyCompilationInvalidated
in interface GraalTruffleCompilationListener
notifyCompilationInvalidated
in class AbstractDebugCompilationListener
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
.public void notifyCompilationStarted(OptimizedCallTarget target)
notifyCompilationStarted
in interface GraalTruffleCompilationListener
notifyCompilationStarted
in class AbstractDebugCompilationListener
public void notifyCompilationTruffleTierFinished(OptimizedCallTarget target, StructuredGraph graph)
notifyCompilationTruffleTierFinished
in interface GraalTruffleCompilationListener
notifyCompilationTruffleTierFinished
in class AbstractDebugCompilationListener
public void notifyCompilationGraalTierFinished(OptimizedCallTarget target, StructuredGraph graph)
notifyCompilationGraalTierFinished
in interface GraalTruffleCompilationListener
notifyCompilationGraalTierFinished
in class AbstractDebugCompilationListener
private static Stream<Class<?>> nodeClassStream(StructuredGraph graph)
public void notifyCompilationSuccess(OptimizedCallTarget target, StructuredGraph graph, CompilationResult result)
notifyCompilationSuccess
in interface GraalTruffleCompilationListener
notifyCompilationSuccess
in class AbstractDebugCompilationListener
public void notifyShutdown(GraalTruffleRuntime rt)
GraalTruffleCompilationListener
notifyShutdown
in interface GraalTruffleCompilationListener
notifyShutdown
in class AbstractDebugCompilationListener
public void printStatistics(GraalTruffleRuntime rt)
private static void printStatistic(GraalTruffleRuntime rt, String label)
private static void printStatistic(GraalTruffleRuntime rt, String label, int value)
private static void printStatistic(GraalTruffleRuntime rt, String label, double value)
private static void printStatistic(GraalTruffleRuntime rt, String label, IntSummaryStatistics value)
private static void printStatisticTime(GraalTruffleRuntime rt, String label, LongSummaryStatistics value)