public class org.graalvm.compiler.debug.GlobalMetrics
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.graalvm.compiler.debug.GlobalMetrics
super_class: java.lang.Object
{
long[] values;
descriptor: [J
flags: (0x0000)
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/debug/GlobalMetrics;
public synchronized void add(org.graalvm.compiler.debug.DebugContext);
descriptor: (Lorg/graalvm/compiler/debug/DebugContext;)V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
aload 0
getfield org.graalvm.compiler.debug.GlobalMetrics.values:[J
invokevirtual org.graalvm.compiler.debug.DebugContext.addValuesTo:([J)[J
putfield org.graalvm.compiler.debug.GlobalMetrics.values:[J
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/graalvm/compiler/debug/GlobalMetrics;
0 2 1 debug Lorg/graalvm/compiler/debug/DebugContext;
MethodParameters:
Name Flags
debug
public void clear();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
aconst_null
putfield org.graalvm.compiler.debug.GlobalMetrics.values:[J
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/graalvm/compiler/debug/GlobalMetrics;
public jdk.internal.vm.compiler.collections.EconomicMap<org.graalvm.compiler.debug.MetricKey, java.lang.Long> asKeyValueMap();
descriptor: ()Ljdk/internal/vm/compiler/collections/EconomicMap;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=7, args_size=1
start local 0 0: invokestatic org.graalvm.compiler.debug.KeyRegistry.getKeys:()Ljava/util/List;
astore 1
start local 1 1: aload 1
getstatic org.graalvm.compiler.debug.MetricKey.NAME_COMPARATOR:Ljava/util/Comparator;
invokestatic java.util.Collections.sort:(Ljava/util/List;Ljava/util/Comparator;)V
2: aload 1
invokeinterface java.util.List.size:()I
invokestatic jdk.internal.vm.compiler.collections.EconomicMap.create:(I)Ljdk/internal/vm/compiler/collections/EconomicMap;
astore 2
start local 2 3: aload 0
getfield org.graalvm.compiler.debug.GlobalMetrics.values:[J
astore 3
start local 3 4: aload 1
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 5
goto 11
StackMap locals: org.graalvm.compiler.debug.GlobalMetrics java.util.List jdk.internal.vm.compiler.collections.EconomicMap long[] top java.util.Iterator
StackMap stack:
5: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.debug.MetricKey
astore 4
start local 4 6: aload 4
checkcast org.graalvm.compiler.debug.AbstractKey
invokevirtual org.graalvm.compiler.debug.AbstractKey.getIndex:()I
istore 6
start local 6 7: aload 3
ifnull 8
iload 6
aload 3
arraylength
if_icmplt 10
8: StackMap locals: org.graalvm.compiler.debug.GlobalMetrics java.util.List jdk.internal.vm.compiler.collections.EconomicMap long[] org.graalvm.compiler.debug.MetricKey java.util.Iterator int
StackMap stack:
aload 2
aload 4
lconst_0
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
invokeinterface jdk.internal.vm.compiler.collections.EconomicMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
9: goto 11
10: StackMap locals:
StackMap stack:
aload 2
aload 4
aload 3
iload 6
laload
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
invokeinterface jdk.internal.vm.compiler.collections.EconomicMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 6 end local 4 11: StackMap locals: org.graalvm.compiler.debug.GlobalMetrics java.util.List jdk.internal.vm.compiler.collections.EconomicMap long[] top java.util.Iterator
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 5
12: aload 2
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lorg/graalvm/compiler/debug/GlobalMetrics;
1 13 1 keys Ljava/util/List<Lorg/graalvm/compiler/debug/MetricKey;>;
3 13 2 res Ljdk/internal/vm/compiler/collections/EconomicMap<Lorg/graalvm/compiler/debug/MetricKey;Ljava/lang/Long;>;
4 13 3 vals [J
6 11 4 key Lorg/graalvm/compiler/debug/MetricKey;
7 11 6 index I
Signature: ()Ljdk/internal/vm/compiler/collections/EconomicMap<Lorg/graalvm/compiler/debug/MetricKey;Ljava/lang/Long;>;
private static java.io.PrintStream openPrintStream(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/io/PrintStream;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=5, args_size=1
start local 0 0: aload 0
ifnonnull 2
1: invokestatic org.graalvm.compiler.debug.DebugContext.getDefaultLogStream:()Ljava/io/PrintStream;
areturn
2: StackMap locals:
StackMap stack:
invokestatic org.graalvm.compiler.serviceprovider.IsolateUtil.getIsolateID:()J
lstore 1
start local 1 3: lload 1
lconst_0
lcmp
ifeq 10
4: aload 0
bipush 46
invokevirtual java.lang.String.lastIndexOf:(I)I
istore 4
start local 4 5: iload 4
iconst_m1
if_icmpeq 8
6: new java.lang.StringBuilder
dup
aload 0
iconst_0
iload 4
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
bipush 64
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
lload 1
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
aload 0
iload 4
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
iconst_0
anewarray java.lang.String
invokestatic java.nio.file.Paths.get:(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;
astore 3
start local 3 7: goto 11
end local 3 8: StackMap locals: java.lang.String long top int
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
lload 1
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
iconst_0
anewarray java.lang.String
invokestatic java.nio.file.Paths.get:(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;
astore 3
end local 4 start local 3 9: goto 11
end local 3 10: StackMap locals: java.lang.String long
StackMap stack:
aload 0
iconst_0
anewarray java.lang.String
invokestatic java.nio.file.Paths.get:(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;
astore 3
start local 3 11: StackMap locals: java.nio.file.Path
StackMap stack:
new java.io.PrintStream
dup
aload 3
iconst_0
anewarray java.nio.file.OpenOption
invokestatic java.nio.file.Files.newOutputStream:(Ljava/nio/file/Path;[Ljava/nio/file/OpenOption;)Ljava/io/OutputStream;
invokespecial java.io.PrintStream.<init>:(Ljava/io/OutputStream;)V
areturn
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 metricsFile Ljava/lang/String;
3 12 1 isolateID J
7 8 3 path Ljava/nio/file/Path;
9 10 3 path Ljava/nio/file/Path;
11 12 3 path Ljava/nio/file/Path;
5 9 4 lastDot I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
metricsFile
public void print(org.graalvm.compiler.options.OptionValues);
descriptor: (Lorg/graalvm/compiler/options/OptionValues;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=13, args_size=2
start local 0 start local 1 0: aload 0
getfield org.graalvm.compiler.debug.GlobalMetrics.values:[J
astore 2
start local 2 1: aload 2
ifnull 38
2: aload 0
invokevirtual org.graalvm.compiler.debug.GlobalMetrics.asKeyValueMap:()Ljdk/internal/vm/compiler/collections/EconomicMap;
astore 3
start local 3 3: getstatic org.graalvm.compiler.debug.DebugOptions.AggregatedMetricsFile:Lorg/graalvm/compiler/options/OptionKey;
aload 1
invokevirtual org.graalvm.compiler.options.OptionKey.getValue:(Lorg/graalvm/compiler/options/OptionValues;)Ljava/lang/Object;
checkcast java.lang.String
astore 4
start local 4 4: aload 4
ifnull 6
aload 4
ldc ".csv"
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifne 5
aload 4
ldc ".CSV"
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifeq 6
StackMap locals: long[] jdk.internal.vm.compiler.collections.EconomicMap java.lang.String
StackMap stack:
5: iconst_1
goto 7
StackMap locals:
StackMap stack:
6: iconst_0
StackMap locals:
StackMap stack: int
7: istore 5
start local 5 8: aconst_null
astore 6
start local 6 9: aload 4
invokestatic org.graalvm.compiler.debug.GlobalMetrics.openPrintStream:(Ljava/lang/String;)Ljava/io/PrintStream;
astore 6
10: iconst_0
invokestatic org.graalvm.compiler.serviceprovider.IsolateUtil.getIsolateID:(Z)Ljava/lang/String;
astore 7
start local 7 11: iload 5
ifne 14
12: aload 3
invokeinterface jdk.internal.vm.compiler.collections.EconomicMap.isEmpty:()Z
ifne 14
13: aload 6
ldc "++ Aggregated Metrics %s ++%n"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 7
aastore
invokevirtual java.io.PrintStream.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintStream;
pop
14: StackMap locals: int java.io.PrintStream java.lang.String
StackMap stack:
iconst_3
anewarray java.lang.String
dup
iconst_0
ldc "%s"
aastore
dup
iconst_1
ldc "%s"
aastore
dup
iconst_2
ldc "%s"
aastore
invokestatic org.graalvm.compiler.debug.CSVUtil.buildFormatString:([Ljava/lang/String;)Ljava/lang/String;
astore 8
start local 8 15: aload 3
invokeinterface jdk.internal.vm.compiler.collections.EconomicMap.getEntries:()Ljdk/internal/vm/compiler/collections/MapCursor;
astore 9
start local 9 16: goto 23
17: StackMap locals: java.lang.String jdk.internal.vm.compiler.collections.MapCursor
StackMap stack:
aload 9
invokeinterface jdk.internal.vm.compiler.collections.MapCursor.getKey:()Ljava/lang/Object;
checkcast org.graalvm.compiler.debug.MetricKey
astore 10
start local 10 18: iload 5
ifeq 22
19: aload 10
aload 9
invokeinterface jdk.internal.vm.compiler.collections.MapCursor.getValue:()Ljava/lang/Object;
checkcast java.lang.Long
invokevirtual java.lang.Long.longValue:()J
invokeinterface org.graalvm.compiler.debug.MetricKey.toCSVFormat:(J)Ljdk/internal/vm/compiler/collections/Pair;
astore 11
start local 11 20: aload 6
aload 8
iconst_3
anewarray java.lang.Object
dup
iconst_0
aload 10
invokeinterface org.graalvm.compiler.debug.MetricKey.getName:()Ljava/lang/String;
aastore
dup
iconst_1
aload 11
invokevirtual jdk.internal.vm.compiler.collections.Pair.getLeft:()Ljava/lang/Object;
aastore
dup
iconst_2
aload 11
invokevirtual jdk.internal.vm.compiler.collections.Pair.getRight:()Ljava/lang/Object;
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 21: goto 23
22: StackMap locals: org.graalvm.compiler.debug.MetricKey
StackMap stack:
aload 6
new java.lang.StringBuilder
dup
aload 10
invokeinterface org.graalvm.compiler.debug.MetricKey.getName:()Ljava/lang/String;
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 10
aload 9
invokeinterface jdk.internal.vm.compiler.collections.MapCursor.getValue:()Ljava/lang/Object;
checkcast java.lang.Long
invokevirtual java.lang.Long.longValue:()J
invokeinterface org.graalvm.compiler.debug.MetricKey.toHumanReadableFormat:(J)Ljava/lang/String;
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
end local 10 23: StackMap locals:
StackMap stack:
aload 9
invokeinterface jdk.internal.vm.compiler.collections.MapCursor.advance:()Z
ifne 17
24: iload 5
ifne 36
25: aload 3
invokeinterface jdk.internal.vm.compiler.collections.EconomicMap.isEmpty:()Z
ifne 36
26: aload 6
ldc "-- Aggregated Metrics %s --%n"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 7
aastore
invokevirtual java.io.PrintStream.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintStream;
pop
end local 9 end local 8 end local 7 27: goto 36
StackMap locals: org.graalvm.compiler.debug.GlobalMetrics org.graalvm.compiler.options.OptionValues long[] jdk.internal.vm.compiler.collections.EconomicMap java.lang.String int java.io.PrintStream
StackMap stack: java.io.IOException
28: astore 7
start local 7 29: aload 7
invokevirtual java.io.IOException.printStackTrace:()V
end local 7 30: aload 4
ifnull 38
aload 6
ifnull 38
31: aload 6
invokevirtual java.io.PrintStream.close:()V
goto 38
32: StackMap locals:
StackMap stack: java.lang.Throwable
astore 12
33: aload 4
ifnull 35
aload 6
ifnull 35
34: aload 6
invokevirtual java.io.PrintStream.close:()V
35: StackMap locals: org.graalvm.compiler.debug.GlobalMetrics org.graalvm.compiler.options.OptionValues long[] jdk.internal.vm.compiler.collections.EconomicMap java.lang.String int java.io.PrintStream top top top top top java.lang.Throwable
StackMap stack:
aload 12
athrow
36: StackMap locals: org.graalvm.compiler.debug.GlobalMetrics org.graalvm.compiler.options.OptionValues long[] jdk.internal.vm.compiler.collections.EconomicMap java.lang.String int java.io.PrintStream
StackMap stack:
aload 4
ifnull 38
aload 6
ifnull 38
37: aload 6
invokevirtual java.io.PrintStream.close:()V
end local 6 end local 5 end local 4 end local 3 38: StackMap locals: org.graalvm.compiler.debug.GlobalMetrics org.graalvm.compiler.options.OptionValues long[]
StackMap stack:
getstatic org.graalvm.compiler.debug.DebugOptions.ListMetrics:Lorg/graalvm/compiler/options/OptionKey;
aload 1
invokevirtual org.graalvm.compiler.options.OptionKey.getValue:(Lorg/graalvm/compiler/options/OptionValues;)Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
ifeq 54
39: getstatic java.lang.System.out:Ljava/io/PrintStream;
astore 3
start local 3 40: aload 3
ldc "++ Metric Keys ++"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
41: invokestatic org.graalvm.compiler.debug.KeyRegistry.getKeys:()Ljava/util/List;
astore 4
start local 4 42: aload 4
getstatic org.graalvm.compiler.debug.MetricKey.NAME_COMPARATOR:Ljava/util/Comparator;
invokestatic java.util.Collections.sort:(Ljava/util/List;Ljava/util/Comparator;)V
43: aload 4
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 6
goto 52
StackMap locals: org.graalvm.compiler.debug.GlobalMetrics org.graalvm.compiler.options.OptionValues long[] java.io.PrintStream java.util.List top java.util.Iterator
StackMap stack:
44: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.debug.MetricKey
astore 5
start local 5 45: aload 5
invokeinterface org.graalvm.compiler.debug.MetricKey.getDocName:()Ljava/lang/String;
astore 7
start local 7 46: aload 7
ifnull 52
47: aload 5
invokeinterface org.graalvm.compiler.debug.MetricKey.getDoc:()Ljava/lang/String;
astore 8
start local 8 48: aload 8
ifnull 51
49: aload 3
new java.lang.StringBuilder
dup
aload 7
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 8
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
50: goto 52
51: StackMap locals: org.graalvm.compiler.debug.GlobalMetrics org.graalvm.compiler.options.OptionValues long[] java.io.PrintStream java.util.List org.graalvm.compiler.debug.MetricKey java.util.Iterator java.lang.String java.lang.String
StackMap stack:
aload 3
aload 7
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
end local 8 end local 7 end local 5 52: StackMap locals: org.graalvm.compiler.debug.GlobalMetrics org.graalvm.compiler.options.OptionValues long[] java.io.PrintStream java.util.List top java.util.Iterator
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 44
53: aload 3
ldc "-- Metric Keys --"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
end local 4 end local 3 54: StackMap locals: org.graalvm.compiler.debug.GlobalMetrics org.graalvm.compiler.options.OptionValues long[]
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 55 0 this Lorg/graalvm/compiler/debug/GlobalMetrics;
0 55 1 options Lorg/graalvm/compiler/options/OptionValues;
1 55 2 vals [J
3 38 3 map Ljdk/internal/vm/compiler/collections/EconomicMap<Lorg/graalvm/compiler/debug/MetricKey;Ljava/lang/Long;>;
4 38 4 metricsFile Ljava/lang/String;
8 38 5 csv Z
9 38 6 p Ljava/io/PrintStream;
11 27 7 isolateID Ljava/lang/String;
15 27 8 csvFormat Ljava/lang/String;
16 27 9 e Ljdk/internal/vm/compiler/collections/MapCursor<Lorg/graalvm/compiler/debug/MetricKey;Ljava/lang/Long;>;
18 23 10 key Lorg/graalvm/compiler/debug/MetricKey;
20 21 11 valueAndUnit Ljdk/internal/vm/compiler/collections/Pair<Ljava/lang/String;Ljava/lang/String;>;
29 30 7 e Ljava/io/IOException;
40 54 3 p Ljava/io/PrintStream;
42 54 4 keys Ljava/util/List<Lorg/graalvm/compiler/debug/MetricKey;>;
45 52 5 key Lorg/graalvm/compiler/debug/MetricKey;
46 52 7 name Ljava/lang/String;
48 52 8 doc Ljava/lang/String;
Exception table:
from to target type
9 27 28 Class java.io.IOException
9 30 32 any
MethodParameters:
Name Flags
options
}
SourceFile: "GlobalMetrics.java"
InnerClasses:
public final Escape = org.graalvm.compiler.debug.CSVUtil$Escape of org.graalvm.compiler.debug.CSVUtil