# HG changeset patch # User Lukas Stadler # Date 1380719836 -7200 # Node ID e0041af765c555f757b1dfe9d8765674ec78b02b # Parent 8a201c64cd18dc2d8d2828af5d0a88b66ac34fd0 some more javadoc for benchmark counters diff -r 8a201c64cd18 -r e0041af765c5 graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/debug/BenchmarkCounters.java --- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/debug/BenchmarkCounters.java Wed Oct 02 15:05:04 2013 +0200 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/debug/BenchmarkCounters.java Wed Oct 02 15:17:16 2013 +0200 @@ -44,6 +44,19 @@ import com.oracle.graal.options.*; import com.oracle.graal.replacements.nodes.*; +/** + * This class contains infrastructure to maintain counters based on {@link DynamicCounterNode}s. The + * infrastructure is enabled by specifying either the GenericDynamicCounters or + * BenchmarkDynamicCounters option.
+ * + * The counters are kept in a special area in the native JavaThread object, and the number of + * counters is configured in {@code thread.hpp (GRAAL_COUNTERS_SIZE)}. This file also contains an + * option to exclude compiler threads ({@code GRAAL_COUNTERS_EXCLUDE_COMPILER_THREADS}, which + * defaults to true). + * + * The subsystems that use the logging need to have their own options to turn on the counters, and + * insert DynamicCounterNodes when they're enabled. + */ public class BenchmarkCounters { static class Options {