public class org.graalvm.compiler.hotspot.debug.BenchmarkCounters
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.graalvm.compiler.hotspot.debug.BenchmarkCounters
super_class: java.lang.Object
{
public static boolean enabled;
descriptor: Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
public static final java.util.concurrent.ConcurrentHashMap<java.lang.String, org.graalvm.compiler.hotspot.debug.BenchmarkCounters$Counter> counterMap;
descriptor: Ljava/util/concurrent/ConcurrentHashMap;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/concurrent/ConcurrentHashMap<Ljava/lang/String;Lorg/graalvm/compiler/hotspot/debug/BenchmarkCounters$Counter;>;
public static long[] delta;
descriptor: [J
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
private static final java.lang.String CSV_FMT;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=0, args_size=0
0: ldc Lorg/graalvm/compiler/hotspot/debug/BenchmarkCounters;
invokevirtual java.lang.Class.desiredAssertionStatus:()Z
ifne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: putstatic org.graalvm.compiler.hotspot.debug.BenchmarkCounters.$assertionsDisabled:Z
3: iconst_0
putstatic org.graalvm.compiler.hotspot.debug.BenchmarkCounters.enabled:Z
4: new java.util.concurrent.ConcurrentHashMap
dup
invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
putstatic org.graalvm.compiler.hotspot.debug.BenchmarkCounters.counterMap:Ljava/util/concurrent/ConcurrentHashMap;
5: iconst_4
anewarray java.lang.String
dup
iconst_0
ldc "%s"
aastore
dup
iconst_1
ldc "%s"
aastore
dup
iconst_2
ldc "%s"
aastore
dup
iconst_3
ldc "%d"
aastore
invokestatic org.graalvm.compiler.debug.CSVUtil.buildFormatString:([Ljava/lang/String;)Ljava/lang/String;
putstatic org.graalvm.compiler.hotspot.debug.BenchmarkCounters.CSV_FMT:Ljava/lang/String;
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/hotspot/debug/BenchmarkCounters;
public static int getIndexConstantIncrement(java.lang.String, java.lang.String, org.graalvm.compiler.hotspot.GraalHotSpotVMConfig, long);
descriptor: (Ljava/lang/String;Ljava/lang/String;Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;J)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 2
invokestatic org.graalvm.compiler.hotspot.debug.BenchmarkCounters.getCounter:(Ljava/lang/String;Ljava/lang/String;Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;)Lorg/graalvm/compiler/hotspot/debug/BenchmarkCounters$Counter;
astore 5
start local 5 1: aload 5
getfield org.graalvm.compiler.hotspot.debug.BenchmarkCounters$Counter.staticCounters:Ljava/util/concurrent/atomic/AtomicLong;
lload 3
invokevirtual java.util.concurrent.atomic.AtomicLong.addAndGet:(J)J
pop2
2: aload 5
getfield org.graalvm.compiler.hotspot.debug.BenchmarkCounters$Counter.index:I
ireturn
end local 5 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 name Ljava/lang/String;
0 3 1 group Ljava/lang/String;
0 3 2 config Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
0 3 3 increment J
1 3 5 counter Lorg/graalvm/compiler/hotspot/debug/BenchmarkCounters$Counter;
MethodParameters:
Name Flags
name
group
config
increment
public static int getIndex(java.lang.String, java.lang.String, org.graalvm.compiler.hotspot.GraalHotSpotVMConfig);
descriptor: (Ljava/lang/String;Ljava/lang/String;Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
invokestatic org.graalvm.compiler.hotspot.debug.BenchmarkCounters.getCounter:(Ljava/lang/String;Ljava/lang/String;Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;)Lorg/graalvm/compiler/hotspot/debug/BenchmarkCounters$Counter;
astore 3
start local 3 1: aload 3
getfield org.graalvm.compiler.hotspot.debug.BenchmarkCounters$Counter.index:I
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 name Ljava/lang/String;
0 2 1 group Ljava/lang/String;
0 2 2 config Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
1 2 3 counter Lorg/graalvm/compiler/hotspot/debug/BenchmarkCounters$Counter;
MethodParameters:
Name Flags
name
group
config
private static org.graalvm.compiler.hotspot.debug.BenchmarkCounters$Counter getCounter(java.lang.String, java.lang.String, org.graalvm.compiler.hotspot.GraalHotSpotVMConfig);
descriptor: (Ljava/lang/String;Ljava/lang/String;Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;)Lorg/graalvm/compiler/hotspot/debug/BenchmarkCounters$Counter;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=6, args_size=3
start local 0 start local 1 start local 2 0: getstatic org.graalvm.compiler.hotspot.debug.BenchmarkCounters.enabled:Z
ifne 2
1: new org.graalvm.compiler.debug.GraalError
dup
new java.lang.StringBuilder
dup
ldc "cannot access count index when counters are not enabled: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ", "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial org.graalvm.compiler.debug.GraalError.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
aload 0
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "#"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 3
start local 3 3: getstatic org.graalvm.compiler.hotspot.debug.BenchmarkCounters.counterMap:Ljava/util/concurrent/ConcurrentHashMap;
aload 3
invokevirtual java.util.concurrent.ConcurrentHashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.graalvm.compiler.hotspot.debug.BenchmarkCounters$Counter
astore 4
start local 4 4: aload 4
ifnonnull 14
5: ldc Lorg/graalvm/compiler/hotspot/debug/BenchmarkCounters;
dup
astore 5
monitorenter
6: getstatic org.graalvm.compiler.hotspot.debug.BenchmarkCounters.counterMap:Ljava/util/concurrent/ConcurrentHashMap;
aload 3
invokevirtual java.util.concurrent.ConcurrentHashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.graalvm.compiler.hotspot.debug.BenchmarkCounters$Counter
astore 4
7: aload 4
ifnonnull 10
8: new org.graalvm.compiler.hotspot.debug.BenchmarkCounters$Counter
dup
getstatic org.graalvm.compiler.hotspot.debug.BenchmarkCounters.counterMap:Ljava/util/concurrent/ConcurrentHashMap;
invokevirtual java.util.concurrent.ConcurrentHashMap.size:()I
aload 1
new java.util.concurrent.atomic.AtomicLong
dup
invokespecial java.util.concurrent.atomic.AtomicLong.<init>:()V
invokespecial org.graalvm.compiler.hotspot.debug.BenchmarkCounters$Counter.<init>:(ILjava/lang/String;Ljava/util/concurrent/atomic/AtomicLong;)V
astore 4
9: getstatic org.graalvm.compiler.hotspot.debug.BenchmarkCounters.counterMap:Ljava/util/concurrent/ConcurrentHashMap;
aload 3
aload 4
invokevirtual java.util.concurrent.ConcurrentHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
10: StackMap locals: java.lang.String org.graalvm.compiler.hotspot.debug.BenchmarkCounters$Counter java.lang.Class
StackMap stack:
aload 5
monitorexit
11: goto 14
StackMap locals:
StackMap stack: java.lang.Throwable
12: aload 5
monitorexit
13: athrow
14: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.hotspot.debug.BenchmarkCounters.$assertionsDisabled:Z
ifne 15
aload 4
getfield org.graalvm.compiler.hotspot.debug.BenchmarkCounters$Counter.group:Ljava/lang/String;
aload 1
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 15
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
ldc "mismatching groups: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
getfield org.graalvm.compiler.hotspot.debug.BenchmarkCounters$Counter.group:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " vs. "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
15: StackMap locals:
StackMap stack:
aload 2
getfield org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.jvmciCountersSize:I
istore 5
start local 5 16: aload 4
getfield org.graalvm.compiler.hotspot.debug.BenchmarkCounters$Counter.index:I
iload 5
if_icmplt 18
17: new org.graalvm.compiler.debug.GraalError
dup
new java.lang.StringBuilder
dup
ldc "too many counters, reduce number of counters or increase -XX:JVMCICounterSize=... (current value: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 5
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ")"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial org.graalvm.compiler.debug.GraalError.<init>:(Ljava/lang/String;)V
athrow
18: StackMap locals: int
StackMap stack:
aload 4
areturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 name Ljava/lang/String;
0 19 1 group Ljava/lang/String;
0 19 2 config Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
3 19 3 nameGroup Ljava/lang/String;
4 19 4 counter Lorg/graalvm/compiler/hotspot/debug/BenchmarkCounters$Counter;
16 19 5 countersSize I
Exception table:
from to target type
6 11 12 any
12 13 12 any
Exceptions:
throws org.graalvm.compiler.debug.GraalError
RuntimeInvisibleAnnotations:
org.graalvm.compiler.core.common.SuppressFBWarnings(value = {"AT_OPERATION_SEQUENCE_ON_CONCURRENT_ABSTRACTION"}, justification = "concurrent abstraction calls are in synchronized block")
RuntimeInvisibleTypeAnnotations:
METHOD_RETURN
org.graalvm.compiler.core.common.SuppressFBWarnings(value = {"AT_OPERATION_SEQUENCE_ON_CONCURRENT_ABSTRACTION"}, justification = "concurrent abstraction calls are in synchronized block")
MethodParameters:
Name Flags
name
group
config
private static synchronized void dump(java.io.PrintStream, double, long[], int);
descriptor: (Ljava/io/PrintStream;D[JI)V
flags: (0x002a) ACC_PRIVATE, ACC_STATIC, ACC_SYNCHRONIZED
Code:
stack=7, locals=8, args_size=4
start local 0 start local 1 start local 3 start local 4 0: getstatic org.graalvm.compiler.hotspot.debug.BenchmarkCounters.counterMap:Ljava/util/concurrent/ConcurrentHashMap;
invokevirtual java.util.concurrent.ConcurrentHashMap.isEmpty:()Z
ifne 16
1: getstatic org.graalvm.compiler.hotspot.debug.BenchmarkCounters$Options.DynamicCountersHumanReadable:Lorg/graalvm/compiler/options/OptionValue;
invokevirtual org.graalvm.compiler.options.OptionValue.getValue:()Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
ifeq 3
2: aload 0
new java.lang.StringBuilder
dup
ldc "====== dynamic counters ("
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
getstatic org.graalvm.compiler.hotspot.debug.BenchmarkCounters.counterMap:Ljava/util/concurrent/ConcurrentHashMap;
invokevirtual java.util.concurrent.ConcurrentHashMap.size:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " in total) ======"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
3: StackMap locals:
StackMap stack:
new java.util.TreeSet
dup
invokespecial java.util.TreeSet.<init>:()V
astore 5
start local 5 4: getstatic org.graalvm.compiler.hotspot.debug.BenchmarkCounters.counterMap:Ljava/util/concurrent/ConcurrentHashMap;
aload 5
invokedynamic accept(Ljava/util/TreeSet;)Ljava/util/function/BiConsumer;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;Ljava/lang/Object;)V
org/graalvm/compiler/hotspot/debug/BenchmarkCounters.lambda$0(Ljava/util/TreeSet;Ljava/lang/String;Lorg/graalvm/compiler/hotspot/debug/BenchmarkCounters$Counter;)V (6)
(Ljava/lang/String;Lorg/graalvm/compiler/hotspot/debug/BenchmarkCounters$Counter;)V
invokevirtual java.util.concurrent.ConcurrentHashMap.forEach:(Ljava/util/function/BiConsumer;)V
5: aload 5
invokevirtual java.util.TreeSet.iterator:()Ljava/util/Iterator;
astore 7
goto 12
StackMap locals: java.io.PrintStream double long[] int java.util.TreeSet top java.util.Iterator
StackMap stack:
6: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 6
start local 6 7: aload 6
ifnull 12
8: getstatic org.graalvm.compiler.hotspot.debug.BenchmarkCounters$Options.BenchmarkCountersDumpStatic:Lorg/graalvm/compiler/options/StableOptionValue;
invokevirtual org.graalvm.compiler.options.StableOptionValue.getValue:()Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
ifeq 10
9: aload 0
dload 1
aload 3
iconst_1
aload 6
iload 4
invokestatic org.graalvm.compiler.hotspot.debug.BenchmarkCounters.dumpCounters:(Ljava/io/PrintStream;D[JZLjava/lang/String;I)V
10: StackMap locals: java.io.PrintStream double long[] int java.util.TreeSet java.lang.String java.util.Iterator
StackMap stack:
getstatic org.graalvm.compiler.hotspot.debug.BenchmarkCounters$Options.BenchmarkCountersDumpDynamic:Lorg/graalvm/compiler/options/StableOptionValue;
invokevirtual org.graalvm.compiler.options.StableOptionValue.getValue:()Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
ifeq 12
11: aload 0
dload 1
aload 3
iconst_0
aload 6
iload 4
invokestatic org.graalvm.compiler.hotspot.debug.BenchmarkCounters.dumpCounters:(Ljava/io/PrintStream;D[JZLjava/lang/String;I)V
end local 6 12: StackMap locals: java.io.PrintStream double long[] int java.util.TreeSet top java.util.Iterator
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 6
13: getstatic org.graalvm.compiler.hotspot.debug.BenchmarkCounters$Options.DynamicCountersHumanReadable:Lorg/graalvm/compiler/options/OptionValue;
invokevirtual org.graalvm.compiler.options.OptionValue.getValue:()Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
ifeq 15
14: aload 0
ldc "============================"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
15: StackMap locals: java.io.PrintStream double long[] int java.util.TreeSet
StackMap stack:
aload 3
invokestatic org.graalvm.compiler.hotspot.debug.BenchmarkCounters.clear:([J)V
end local 5 16: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 out Ljava/io/PrintStream;
0 17 1 seconds D
0 17 3 counters [J
0 17 4 maxRows I
4 16 5 set Ljava/util/TreeSet<Ljava/lang/String;>;
7 12 6 group Ljava/lang/String;
MethodParameters:
Name Flags
out
seconds
counters
maxRows
private static synchronized void clear(long[]);
descriptor: ([J)V
flags: (0x002a) ACC_PRIVATE, ACC_STATIC, ACC_SYNCHRONIZED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
putstatic org.graalvm.compiler.hotspot.debug.BenchmarkCounters.delta:[J
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 counters [J
MethodParameters:
Name Flags
counters
private static synchronized void dumpCounters(java.io.PrintStream, double, long[], boolean, java.lang.String, int);
descriptor: (Ljava/io/PrintStream;D[JZLjava/lang/String;I)V
flags: (0x002a) ACC_PRIVATE, ACC_STATIC, ACC_SYNCHRONIZED
Code:
stack=8, locals=10, args_size=6
start local 0 start local 1 start local 3 start local 4 start local 5 start local 6 0: iload 4
ifeq 7
1: getstatic org.graalvm.compiler.hotspot.debug.BenchmarkCounters.counterMap:Ljava/util/concurrent/ConcurrentHashMap;
invokevirtual java.util.concurrent.ConcurrentHashMap.size:()I
newarray 11
astore 7
start local 7 2: getstatic org.graalvm.compiler.hotspot.debug.BenchmarkCounters.counterMap:Ljava/util/concurrent/ConcurrentHashMap;
invokevirtual java.util.concurrent.ConcurrentHashMap.values:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 9
goto 5
StackMap locals: java.io.PrintStream double long[] int java.lang.String int long[] top java.util.Iterator
StackMap stack:
3: aload 9
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.hotspot.debug.BenchmarkCounters$Counter
astore 8
start local 8 4: aload 7
aload 8
getfield org.graalvm.compiler.hotspot.debug.BenchmarkCounters$Counter.index:I
aload 8
getfield org.graalvm.compiler.hotspot.debug.BenchmarkCounters$Counter.staticCounters:Ljava/util/concurrent/atomic/AtomicLong;
invokevirtual java.util.concurrent.atomic.AtomicLong.get:()J
lastore
end local 8 5: StackMap locals:
StackMap stack:
aload 9
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
6: goto 13
end local 7 7: StackMap locals: java.io.PrintStream double long[] int java.lang.String int
StackMap stack:
aload 3
invokevirtual long[].clone:()Ljava/lang/Object;
checkcast long[]
astore 7
start local 7 8: iconst_0
istore 8
start local 8 9: goto 12
10: StackMap locals: long[] int
StackMap stack:
aload 7
iload 8
dup2
laload
getstatic org.graalvm.compiler.hotspot.debug.BenchmarkCounters.delta:[J
iload 8
laload
lsub
lastore
11: iinc 8 1
StackMap locals:
StackMap stack:
12: iload 8
aload 7
arraylength
if_icmplt 10
end local 8 13: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.hotspot.debug.BenchmarkCounters.counterMap:Ljava/util/concurrent/ConcurrentHashMap;
invokevirtual java.util.concurrent.ConcurrentHashMap.entrySet:()Ljava/util/Set;
astore 8
start local 8 14: getstatic org.graalvm.compiler.hotspot.debug.BenchmarkCounters$Options.DynamicCountersHumanReadable:Lorg/graalvm/compiler/options/OptionValue;
invokevirtual org.graalvm.compiler.options.OptionValue.getValue:()Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
ifeq 17
15: aload 0
dload 1
iload 4
aload 5
iload 6
aload 7
aload 8
invokestatic org.graalvm.compiler.hotspot.debug.BenchmarkCounters.dumpHumanReadable:(Ljava/io/PrintStream;DZLjava/lang/String;I[JLjava/util/Set;)V
16: goto 18
17: StackMap locals: java.util.Set
StackMap stack:
aload 0
iload 4
aload 5
aload 7
aload 8
invokestatic org.graalvm.compiler.hotspot.debug.BenchmarkCounters.dumpComputerReadable:(Ljava/io/PrintStream;ZLjava/lang/String;[JLjava/util/Set;)V
18: StackMap locals:
StackMap stack:
return
end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 out Ljava/io/PrintStream;
0 19 1 seconds D
0 19 3 counters [J
0 19 4 staticCounter Z
0 19 5 group Ljava/lang/String;
0 19 6 maxRows I
2 7 7 array [J
8 19 7 array [J
4 5 8 counter Lorg/graalvm/compiler/hotspot/debug/BenchmarkCounters$Counter;
9 13 8 i I
14 19 8 counterEntrySet Ljava/util/Set<Ljava/util/Map$Entry<Ljava/lang/String;Lorg/graalvm/compiler/hotspot/debug/BenchmarkCounters$Counter;>;>;
MethodParameters:
Name Flags
out
seconds
counters
staticCounter
group
maxRows
private static java.lang.String getName(java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iconst_0
aload 0
invokevirtual java.lang.String.length:()I
aload 1
invokevirtual java.lang.String.length:()I
isub
iconst_1
isub
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 nameGroup Ljava/lang/String;
0 1 1 group Ljava/lang/String;
MethodParameters:
Name Flags
nameGroup
group
private static void dumpHumanReadable(java.io.PrintStream, double, boolean, java.lang.String, int, long[], java.util.Set<java.util.Map$Entry<java.lang.String, org.graalvm.compiler.hotspot.debug.BenchmarkCounters$Counter>>);
descriptor: (Ljava/io/PrintStream;DZLjava/lang/String;I[JLjava/util/Set;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=10, locals=20, args_size=7
start local 0 start local 1 start local 3 start local 4 start local 5 start local 6 start local 7 0: new java.util.TreeMap
dup
invokespecial java.util.TreeMap.<init>:()V
astore 8
start local 8 1: lconst_0
lstore 9
start local 9 2: aload 7
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 12
goto 9
StackMap locals: java.io.PrintStream double int java.lang.String int long[] java.util.Set java.util.TreeMap long top java.util.Iterator
StackMap stack:
3: aload 12
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 11
start local 11 4: aload 11
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast org.graalvm.compiler.hotspot.debug.BenchmarkCounters$Counter
astore 13
start local 13 5: aload 13
getfield org.graalvm.compiler.hotspot.debug.BenchmarkCounters$Counter.index:I
istore 14
start local 14 6: aload 13
getfield org.graalvm.compiler.hotspot.debug.BenchmarkCounters$Counter.group:Ljava/lang/String;
aload 4
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 9
7: lload 9
aload 6
iload 14
laload
ladd
lstore 9
8: aload 8
aload 6
iload 14
laload
aload 6
arraylength
i2l
lmul
iload 14
i2l
ladd
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aload 11
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast java.lang.String
aload 4
invokestatic org.graalvm.compiler.hotspot.debug.BenchmarkCounters.getName:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.util.TreeMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 14 end local 13 end local 11 9: StackMap locals:
StackMap stack:
aload 12
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
10: lload 9
lconst_0
lcmp
ifle 51
11: aload 8
invokevirtual java.util.TreeMap.size:()I
bipush 10
if_icmpge 12
lconst_1
goto 13
StackMap locals: java.io.PrintStream double int java.lang.String int long[] java.util.Set java.util.TreeMap long
StackMap stack:
12: lconst_1
lload 9
ldc 100
ldiv
invokestatic java.lang.Math.max:(JJ)J
StackMap locals:
StackMap stack: long
13: lstore 11
start local 11 14: aload 8
invokevirtual java.util.TreeMap.size:()I
istore 13
start local 13 15: aload 8
invokevirtual java.util.TreeMap.entrySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 14
start local 14 16: goto 22
17: StackMap locals: long int java.util.Iterator
StackMap stack:
aload 14
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 15
start local 15 18: aload 15
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast java.lang.Long
invokevirtual java.lang.Long.longValue:()J
aload 6
arraylength
i2l
ldiv
lstore 16
start local 16 19: lload 16
lload 11
lcmp
iflt 20
iload 13
iload 5
if_icmple 21
20: StackMap locals: java.util.Map$Entry long
StackMap stack:
aload 14
invokeinterface java.util.Iterator.remove:()V
21: StackMap locals:
StackMap stack:
iinc 13 -1
end local 16 end local 15 22: StackMap locals:
StackMap stack:
aload 14
invokeinterface java.util.Iterator.hasNext:()Z
ifne 17
23: getstatic org.graalvm.compiler.hotspot.debug.BenchmarkCounters$Options.DynamicCountersPrintGroupSeparator:Lorg/graalvm/compiler/options/OptionValue;
invokevirtual org.graalvm.compiler.options.OptionValue.getValue:()Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
ifeq 24
ldc "%,19d"
goto 25
StackMap locals:
StackMap stack:
24: ldc "%19d"
StackMap locals:
StackMap stack: java.lang.String
25: astore 15
start local 15 26: iload 3
ifeq 35
27: aload 0
new java.lang.StringBuilder
dup
ldc "=========== "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " (static counters):"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
28: aload 8
invokevirtual java.util.TreeMap.entrySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 17
goto 32
StackMap locals: java.io.PrintStream double int java.lang.String int long[] java.util.Set java.util.TreeMap long long int java.util.Iterator java.lang.String top java.util.Iterator
StackMap stack:
29: aload 17
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 16
start local 16 30: aload 16
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast java.lang.Long
invokevirtual java.lang.Long.longValue:()J
aload 6
arraylength
i2l
ldiv
lstore 18
start local 18 31: aload 0
getstatic java.util.Locale.US:Ljava/util/Locale;
new java.lang.StringBuilder
dup
aload 15
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " %3d%% %s\n"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
iconst_3
anewarray java.lang.Object
dup
iconst_0
lload 18
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
dup
iconst_1
lload 18
lload 9
invokestatic org.graalvm.compiler.hotspot.debug.BenchmarkCounters.percentage:(JJ)J
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
dup
iconst_2
aload 16
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
aastore
invokevirtual java.io.PrintStream.format:(Ljava/util/Locale;Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintStream;
pop
end local 18 end local 16 32: StackMap locals:
StackMap stack:
aload 17
invokeinterface java.util.Iterator.hasNext:()Z
ifne 29
33: aload 0
getstatic java.util.Locale.US:Ljava/util/Locale;
new java.lang.StringBuilder
dup
aload 15
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " total\n"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
iconst_1
anewarray java.lang.Object
dup
iconst_0
lload 9
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
invokevirtual java.io.PrintStream.format:(Ljava/util/Locale;Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintStream;
pop
34: goto 51
35: StackMap locals: java.io.PrintStream double int java.lang.String int long[] java.util.Set java.util.TreeMap long long int java.util.Iterator java.lang.String
StackMap stack:
aload 4
ldc "~"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 44
36: aload 0
new java.lang.StringBuilder
dup
ldc "=========== "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " (dynamic counters), time = "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
dload 1
invokevirtual java.lang.StringBuilder.append:(D)Ljava/lang/StringBuilder;
ldc " s:"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
37: aload 8
invokevirtual java.util.TreeMap.entrySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 17
goto 41
StackMap locals: java.io.PrintStream double int java.lang.String int long[] java.util.Set java.util.TreeMap long long int java.util.Iterator java.lang.String top java.util.Iterator
StackMap stack:
38: aload 17
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 16
start local 16 39: aload 16
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast java.lang.Long
invokevirtual java.lang.Long.longValue:()J
aload 6
arraylength
i2l
ldiv
lstore 18
start local 18 40: aload 0
getstatic java.util.Locale.US:Ljava/util/Locale;
new java.lang.StringBuilder
dup
aload 15
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "/s %3d%% %s\n"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
iconst_3
anewarray java.lang.Object
dup
iconst_0
lload 18
l2d
dload 1
ddiv
d2l
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
dup
iconst_1
lload 18
lload 9
invokestatic org.graalvm.compiler.hotspot.debug.BenchmarkCounters.percentage:(JJ)J
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
dup
iconst_2
aload 16
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
aastore
invokevirtual java.io.PrintStream.format:(Ljava/util/Locale;Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintStream;
pop
end local 18 end local 16 41: StackMap locals:
StackMap stack:
aload 17
invokeinterface java.util.Iterator.hasNext:()Z
ifne 38
42: aload 0
getstatic java.util.Locale.US:Ljava/util/Locale;
new java.lang.StringBuilder
dup
aload 15
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "/s total\n"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
iconst_1
anewarray java.lang.Object
dup
iconst_0
lload 9
l2d
dload 1
ddiv
d2l
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
invokevirtual java.io.PrintStream.format:(Ljava/util/Locale;Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintStream;
pop
43: goto 51
44: StackMap locals: java.io.PrintStream double int java.lang.String int long[] java.util.Set java.util.TreeMap long long int java.util.Iterator java.lang.String
StackMap stack:
aload 0
new java.lang.StringBuilder
dup
ldc "=========== "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " (dynamic counters):"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
45: aload 8
invokevirtual java.util.TreeMap.entrySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 17
goto 49
StackMap locals: java.io.PrintStream double int java.lang.String int long[] java.util.Set java.util.TreeMap long long int java.util.Iterator java.lang.String top java.util.Iterator
StackMap stack:
46: aload 17
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 16
start local 16 47: aload 16
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast java.lang.Long
invokevirtual java.lang.Long.longValue:()J
aload 6
arraylength
i2l
ldiv
lstore 18
start local 18 48: aload 0
getstatic java.util.Locale.US:Ljava/util/Locale;
new java.lang.StringBuilder
dup
aload 15
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " %3d%% %s\n"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
iconst_3
anewarray java.lang.Object
dup
iconst_0
lload 18
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
dup
iconst_1
lload 18
lload 9
invokestatic org.graalvm.compiler.hotspot.debug.BenchmarkCounters.percentage:(JJ)J
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
dup
iconst_2
aload 16
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
aastore
invokevirtual java.io.PrintStream.format:(Ljava/util/Locale;Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintStream;
pop
end local 18 end local 16 49: StackMap locals:
StackMap stack:
aload 17
invokeinterface java.util.Iterator.hasNext:()Z
ifne 46
50: aload 0
getstatic java.util.Locale.US:Ljava/util/Locale;
new java.lang.StringBuilder
dup
aload 15
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " total\n"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
iconst_1
anewarray java.lang.Object
dup
iconst_0
lload 9
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
invokevirtual java.io.PrintStream.format:(Ljava/util/Locale;Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintStream;
pop
end local 15 end local 14 end local 13 end local 11 51: StackMap locals: java.io.PrintStream double int java.lang.String int long[] java.util.Set java.util.TreeMap long
StackMap stack:
return
end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 52 0 out Ljava/io/PrintStream;
0 52 1 seconds D
0 52 3 staticCounter Z
0 52 4 group Ljava/lang/String;
0 52 5 maxRows I
0 52 6 array [J
0 52 7 counterEntrySet Ljava/util/Set<Ljava/util/Map$Entry<Ljava/lang/String;Lorg/graalvm/compiler/hotspot/debug/BenchmarkCounters$Counter;>;>;
1 52 8 sorted Ljava/util/TreeMap<Ljava/lang/Long;Ljava/lang/String;>;
2 52 9 sum J
4 9 11 entry Ljava/util/Map$Entry<Ljava/lang/String;Lorg/graalvm/compiler/hotspot/debug/BenchmarkCounters$Counter;>;
5 9 13 counter Lorg/graalvm/compiler/hotspot/debug/BenchmarkCounters$Counter;
6 9 14 index I
14 51 11 cutoff J
15 51 13 cnt I
16 51 14 iter Ljava/util/Iterator<Ljava/util/Map$Entry<Ljava/lang/Long;Ljava/lang/String;>;>;
18 22 15 entry Ljava/util/Map$Entry<Ljava/lang/Long;Ljava/lang/String;>;
19 22 16 counter J
26 51 15 numFmt Ljava/lang/String;
30 32 16 entry Ljava/util/Map$Entry<Ljava/lang/Long;Ljava/lang/String;>;
31 32 18 counter J
39 41 16 entry Ljava/util/Map$Entry<Ljava/lang/Long;Ljava/lang/String;>;
40 41 18 counter J
47 49 16 entry Ljava/util/Map$Entry<Ljava/lang/Long;Ljava/lang/String;>;
48 49 18 counter J
Signature: (Ljava/io/PrintStream;DZLjava/lang/String;I[JLjava/util/Set<Ljava/util/Map$Entry<Ljava/lang/String;Lorg/graalvm/compiler/hotspot/debug/BenchmarkCounters$Counter;>;>;)V
MethodParameters:
Name Flags
out
seconds
staticCounter
group
maxRows
array
counterEntrySet
private static void dumpComputerReadable(java.io.PrintStream, boolean, java.lang.String, long[], java.util.Set<java.util.Map$Entry<java.lang.String, org.graalvm.compiler.hotspot.debug.BenchmarkCounters$Counter>>);
descriptor: (Ljava/io/PrintStream;ZLjava/lang/String;[JLjava/util/Set;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=7, locals=13, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: iload 1
ifeq 1
ldc "static counters"
goto 2
StackMap locals:
StackMap stack:
1: ldc "dynamic counters"
StackMap locals:
StackMap stack: java.lang.String
2: astore 5
start local 5 3: aload 4
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 7
goto 11
StackMap locals: java.io.PrintStream int java.lang.String long[] java.util.Set java.lang.String top java.util.Iterator
StackMap stack:
4: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 6
start local 6 5: aload 6
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast org.graalvm.compiler.hotspot.debug.BenchmarkCounters$Counter
astore 8
start local 8 6: aload 8
getfield org.graalvm.compiler.hotspot.debug.BenchmarkCounters$Counter.group:Ljava/lang/String;
aload 2
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 11
7: aload 6
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast java.lang.String
aload 2
invokestatic org.graalvm.compiler.hotspot.debug.BenchmarkCounters.getName:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
astore 9
start local 9 8: aload 8
getfield org.graalvm.compiler.hotspot.debug.BenchmarkCounters$Counter.index:I
istore 10
start local 10 9: aload 3
iload 10
laload
lstore 11
start local 11 10: aload 0
getstatic org.graalvm.compiler.hotspot.debug.BenchmarkCounters.CSV_FMT:Ljava/lang/String;
iconst_4
anewarray java.lang.Object
dup
iconst_0
aload 5
aastore
dup
iconst_1
aload 2
aastore
dup
iconst_2
aload 9
aastore
dup
iconst_3
lload 11
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
invokestatic org.graalvm.compiler.debug.CSVUtil$Escape.println:(Ljava/io/PrintStream;Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintStream;
pop
end local 11 end local 10 end local 9 end local 8 end local 6 11: StackMap locals:
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 4
12: return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 out Ljava/io/PrintStream;
0 13 1 staticCounter Z
0 13 2 group Ljava/lang/String;
0 13 3 array [J
0 13 4 counterEntrySet Ljava/util/Set<Ljava/util/Map$Entry<Ljava/lang/String;Lorg/graalvm/compiler/hotspot/debug/BenchmarkCounters$Counter;>;>;
3 13 5 category Ljava/lang/String;
5 11 6 entry Ljava/util/Map$Entry<Ljava/lang/String;Lorg/graalvm/compiler/hotspot/debug/BenchmarkCounters$Counter;>;
6 11 8 counter Lorg/graalvm/compiler/hotspot/debug/BenchmarkCounters$Counter;
8 11 9 name Ljava/lang/String;
9 11 10 index I
10 11 11 value J
Signature: (Ljava/io/PrintStream;ZLjava/lang/String;[JLjava/util/Set<Ljava/util/Map$Entry<Ljava/lang/String;Lorg/graalvm/compiler/hotspot/debug/BenchmarkCounters$Counter;>;>;)V
MethodParameters:
Name Flags
out
staticCounter
group
array
counterEntrySet
private static long percentage(long, long);
descriptor: (JJ)J
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=4, args_size=2
start local 0 start local 2 0: lload 0
ldc 200
lmul
lconst_1
ladd
lload 2
ldiv
ldc 2
ldiv
lreturn
end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 counter J
0 1 2 sum J
MethodParameters:
Name Flags
counter
sum
public static void initialize(jdk.vm.ci.hotspot.HotSpotJVMCIRuntime);
descriptor: (Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=9, locals=3, args_size=1
start local 0 0: getstatic org.graalvm.compiler.hotspot.debug.BenchmarkCounters$Options.BenchmarkDynamicCounters:Lorg/graalvm/compiler/options/OptionValue;
invokevirtual org.graalvm.compiler.options.OptionValue.getValue:()Ljava/lang/Object;
ifnull 16
1: getstatic org.graalvm.compiler.hotspot.debug.BenchmarkCounters$Options.BenchmarkDynamicCounters:Lorg/graalvm/compiler/options/OptionValue;
invokevirtual org.graalvm.compiler.options.OptionValue.getValue:()Ljava/lang/Object;
checkcast java.lang.String
ldc ","
invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
astore 1
start local 1 2: aload 1
arraylength
ifeq 3
aload 1
arraylength
iconst_3
irem
ifeq 4
3: StackMap locals: java.lang.String[]
StackMap stack:
new org.graalvm.compiler.debug.GraalError
dup
ldc "invalid arguments to BenchmarkDynamicCounters: (err|out),start,end,(err|out),start,end,... (~ matches multiple digits)"
invokespecial org.graalvm.compiler.debug.GraalError.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
iconst_0
istore 2
start local 2 5: goto 14
6: StackMap locals: int
StackMap stack:
aload 1
iload 2
aaload
ldc "err"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 9
7: new java.io.PrintStream
dup
new org.graalvm.compiler.hotspot.debug.BenchmarkCounters$1BenchmarkCountersOutputStream
dup
getstatic java.lang.System.err:Ljava/io/PrintStream;
aload 1
iload 2
iconst_1
iadd
aaload
aload 1
iload 2
iconst_2
iadd
aaload
aload 0
invokespecial org.graalvm.compiler.hotspot.debug.BenchmarkCounters$1BenchmarkCountersOutputStream.<init>:(Ljava/io/PrintStream;Ljava/lang/String;Ljava/lang/String;Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;)V
invokespecial java.io.PrintStream.<init>:(Ljava/io/OutputStream;)V
invokestatic java.lang.System.setErr:(Ljava/io/PrintStream;)V
8: goto 13
StackMap locals:
StackMap stack:
9: aload 1
iload 2
aaload
ldc "out"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 12
10: new java.io.PrintStream
dup
new org.graalvm.compiler.hotspot.debug.BenchmarkCounters$1BenchmarkCountersOutputStream
dup
getstatic java.lang.System.out:Ljava/io/PrintStream;
aload 1
iload 2
iconst_1
iadd
aaload
aload 1
iload 2
iconst_2
iadd
aaload
aload 0
invokespecial org.graalvm.compiler.hotspot.debug.BenchmarkCounters$1BenchmarkCountersOutputStream.<init>:(Ljava/io/PrintStream;Ljava/lang/String;Ljava/lang/String;Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;)V
invokespecial java.io.PrintStream.<init>:(Ljava/io/OutputStream;)V
invokestatic java.lang.System.setOut:(Ljava/io/PrintStream;)V
11: goto 13
12: StackMap locals:
StackMap stack:
new org.graalvm.compiler.debug.GraalError
dup
ldc "invalid arguments to BenchmarkDynamicCounters: err|out"
invokespecial org.graalvm.compiler.debug.GraalError.<init>:(Ljava/lang/String;)V
athrow
13: StackMap locals:
StackMap stack:
iinc 2 3
StackMap locals:
StackMap stack:
14: iload 2
aload 1
arraylength
if_icmplt 6
end local 2 15: iconst_1
putstatic org.graalvm.compiler.hotspot.debug.BenchmarkCounters.enabled:Z
end local 1 16: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.hotspot.debug.BenchmarkCounters$Options.GenericDynamicCounters:Lorg/graalvm/compiler/options/OptionValue;
invokevirtual org.graalvm.compiler.options.OptionValue.getValue:()Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
ifeq 18
17: iconst_1
putstatic org.graalvm.compiler.hotspot.debug.BenchmarkCounters.enabled:Z
18: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.hotspot.debug.BenchmarkCounters$Options.TimedDynamicCounters:Lorg/graalvm/compiler/options/OptionValue;
invokevirtual org.graalvm.compiler.options.OptionValue.getValue:()Ljava/lang/Object;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
ifle 24
19: new org.graalvm.compiler.hotspot.debug.BenchmarkCounters$1
dup
aload 0
invokespecial org.graalvm.compiler.hotspot.debug.BenchmarkCounters$1.<init>:(Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;)V
astore 1
start local 1 20: aload 1
iconst_1
invokevirtual java.lang.Thread.setDaemon:(Z)V
21: aload 1
bipush 10
invokevirtual java.lang.Thread.setPriority:(I)V
22: aload 1
invokevirtual java.lang.Thread.start:()V
23: iconst_1
putstatic org.graalvm.compiler.hotspot.debug.BenchmarkCounters.enabled:Z
end local 1 24: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.hotspot.debug.BenchmarkCounters.enabled:Z
ifeq 26
25: aload 0
invokevirtual jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.collectCounters:()[J
invokestatic org.graalvm.compiler.hotspot.debug.BenchmarkCounters.clear:([J)V
26: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 27 0 jvmciRuntime Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;
2 16 1 arguments [Ljava/lang/String;
5 15 2 i I
20 24 1 thread Ljava/lang/Thread;
MethodParameters:
Name Flags
jvmciRuntime final
public static void shutdown(jdk.vm.ci.hotspot.HotSpotJVMCIRuntime, long);
descriptor: (Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;J)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: getstatic org.graalvm.compiler.hotspot.debug.BenchmarkCounters$Options.GenericDynamicCounters:Lorg/graalvm/compiler/options/OptionValue;
invokevirtual org.graalvm.compiler.options.OptionValue.getValue:()Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
ifeq 2
1: invokestatic org.graalvm.compiler.hotspot.debug.BenchmarkCounters.getPrintStream:()Ljava/io/PrintStream;
invokestatic java.lang.System.nanoTime:()J
lload 1
lsub
l2d
ldc 1.0E9
ddiv
aload 0
invokevirtual jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.collectCounters:()[J
bipush 100
invokestatic org.graalvm.compiler.hotspot.debug.BenchmarkCounters.dump:(Ljava/io/PrintStream;D[JI)V
2: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 jvmciRuntime Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;
0 3 1 compilerStartTime J
MethodParameters:
Name Flags
jvmciRuntime
compilerStartTime
private static java.io.PrintStream getPrintStream();
descriptor: ()Ljava/io/PrintStream;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=1, args_size=0
0: getstatic org.graalvm.compiler.hotspot.debug.BenchmarkCounters$Options.BenchmarkCountersFile:Lorg/graalvm/compiler/options/OptionValue;
invokevirtual org.graalvm.compiler.options.OptionValue.getValue:()Ljava/lang/Object;
ifnull 8
1: getstatic org.graalvm.compiler.hotspot.debug.BenchmarkCounters$Options.BenchmarkCountersFile:Lorg/graalvm/compiler/options/OptionValue;
getstatic org.graalvm.compiler.debug.GraalDebugConfig$Options.DumpPath:Lorg/graalvm/compiler/options/OptionValue;
ldc "csv"
invokestatic org.graalvm.compiler.options.UniquePathUtilities.getPathGlobal:(Lorg/graalvm/compiler/options/OptionValue;Lorg/graalvm/compiler/options/OptionValue;Ljava/lang/String;)Ljava/nio/file/Path;
astore 0
start local 0 2: ldc "Writing benchmark counters to '%s'"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 0
aastore
invokestatic org.graalvm.compiler.debug.TTY.println:(Ljava/lang/String;[Ljava/lang/Object;)V
3: new java.io.PrintStream
dup
aload 0
invokeinterface java.nio.file.Path.toFile:()Ljava/io/File;
invokespecial java.io.PrintStream.<init>:(Ljava/io/File;)V
4: areturn
end local 0 5: StackMap locals:
StackMap stack: java.io.FileNotFoundException
astore 0
start local 0 6: invokestatic org.graalvm.compiler.debug.TTY.out:()Lorg/graalvm/compiler/debug/LogStream;
aload 0
invokevirtual java.io.FileNotFoundException.getMessage:()Ljava/lang/String;
invokevirtual org.graalvm.compiler.debug.LogStream.println:(Ljava/lang/String;)Lorg/graalvm/compiler/debug/LogStream;
pop
7: invokestatic org.graalvm.compiler.debug.TTY.out:()Lorg/graalvm/compiler/debug/LogStream;
ldc "Fallback to default"
invokevirtual org.graalvm.compiler.debug.LogStream.println:(Ljava/lang/String;)Lorg/graalvm/compiler/debug/LogStream;
pop
end local 0 8: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.debug.TTY.out:Ljava/io/PrintStream;
areturn
LocalVariableTable:
Start End Slot Name Signature
2 5 0 path Ljava/nio/file/Path;
6 8 0 e Ljava/io/FileNotFoundException;
Exception table:
from to target type
1 4 5 Class java.io.FileNotFoundException
private static void lambda$0(java.util.TreeSet, java.lang.String, org.graalvm.compiler.hotspot.debug.BenchmarkCounters$Counter);
descriptor: (Ljava/util/TreeSet;Ljava/lang/String;Lorg/graalvm/compiler/hotspot/debug/BenchmarkCounters$Counter;)V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=3, args_size=3
start local 1 start local 2 0: aload 0
aload 2
getfield org.graalvm.compiler.hotspot.debug.BenchmarkCounters$Counter.group:Ljava/lang/String;
invokevirtual java.util.TreeSet.add:(Ljava/lang/Object;)Z
return
end local 2 end local 1 LocalVariableTable:
Start End Slot Name Signature
0 1 1 nameGroup Ljava/lang/String;
0 1 2 counter Lorg/graalvm/compiler/hotspot/debug/BenchmarkCounters$Counter;
}
SourceFile: "BenchmarkCounters.java"
NestMembers:
org.graalvm.compiler.hotspot.debug.BenchmarkCounters$1 org.graalvm.compiler.hotspot.debug.BenchmarkCounters$1BenchmarkCountersOutputStream org.graalvm.compiler.hotspot.debug.BenchmarkCounters$CallbackOutputStream org.graalvm.compiler.hotspot.debug.BenchmarkCounters$Counter org.graalvm.compiler.hotspot.debug.BenchmarkCounters$Options
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
public abstract Entry = java.util.Map$Entry of java.util.Map
public final Escape = org.graalvm.compiler.debug.CSVUtil$Escape of org.graalvm.compiler.debug.CSVUtil
public Options = org.graalvm.compiler.debug.GraalDebugConfig$Options of org.graalvm.compiler.debug.GraalDebugConfig
org.graalvm.compiler.hotspot.debug.BenchmarkCounters$1
final BenchmarkCountersOutputStream = org.graalvm.compiler.hotspot.debug.BenchmarkCounters$1BenchmarkCountersOutputStream
private abstract CallbackOutputStream = org.graalvm.compiler.hotspot.debug.BenchmarkCounters$CallbackOutputStream of org.graalvm.compiler.hotspot.debug.BenchmarkCounters
private Counter = org.graalvm.compiler.hotspot.debug.BenchmarkCounters$Counter of org.graalvm.compiler.hotspot.debug.BenchmarkCounters
Options = org.graalvm.compiler.hotspot.debug.BenchmarkCounters$Options of org.graalvm.compiler.hotspot.debug.BenchmarkCounters