public class org.openjdk.jmh.profile.DTraceAsmProfiler extends org.openjdk.jmh.profile.AbstractPerfAsmProfiler
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.openjdk.jmh.profile.DTraceAsmProfiler
super_class: org.openjdk.jmh.profile.AbstractPerfAsmProfiler
{
private final long sampleFrequency;
descriptor: J
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private volatile java.lang.String pid;
descriptor: Ljava/lang/String;
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private volatile java.lang.Process dtraceProcess;
descriptor: Ljava/lang/Process;
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private joptsimple.OptionSpec<java.lang.Long> optFrequency;
descriptor: Ljoptsimple/OptionSpec;
flags: (0x0002) ACC_PRIVATE
Signature: Ljoptsimple/OptionSpec<Ljava/lang/Long;>;
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=1, locals=0, args_size=0
0: ldc Lorg/openjdk/jmh/profile/DTraceAsmProfiler;
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.openjdk.jmh.profile.DTraceAsmProfiler.$assertionsDisabled:Z
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=4, args_size=2
start local 0 start local 1 0: aload 0
aload 1
iconst_1
anewarray java.lang.String
dup
iconst_0
ldc "sampled_pc"
aastore
invokespecial org.openjdk.jmh.profile.AbstractPerfAsmProfiler.<init>:(Ljava/lang/String;[Ljava/lang/String;)V
1: iconst_3
anewarray java.lang.String
dup
iconst_0
ldc "sudo"
aastore
dup
iconst_1
ldc "dtrace"
aastore
dup
iconst_2
ldc "-V"
aastore
invokestatic org.openjdk.jmh.util.Utils.tryWith:([Ljava/lang/String;)Ljava/util/Collection;
astore 2
start local 2 2: aload 2
invokeinterface java.util.Collection.isEmpty:()Z
ifne 4
3: new org.openjdk.jmh.profile.ProfilerException
dup
aload 2
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
invokespecial org.openjdk.jmh.profile.ProfilerException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals: org.openjdk.jmh.profile.DTraceAsmProfiler java.lang.String java.util.Collection
StackMap stack:
aload 0
aload 0
getfield org.openjdk.jmh.profile.DTraceAsmProfiler.set:Ljoptsimple/OptionSet;
aload 0
getfield org.openjdk.jmh.profile.DTraceAsmProfiler.optFrequency:Ljoptsimple/OptionSpec;
invokevirtual joptsimple.OptionSet.valueOf:(Ljoptsimple/OptionSpec;)Ljava/lang/Object;
checkcast java.lang.Long
invokevirtual java.lang.Long.longValue:()J
putfield org.openjdk.jmh.profile.DTraceAsmProfiler.sampleFrequency:J
5: goto 8
StackMap locals:
StackMap stack: joptsimple.OptionException
6: astore 3
start local 3 7: new org.openjdk.jmh.profile.ProfilerException
dup
aload 3
invokevirtual joptsimple.OptionException.getMessage:()Ljava/lang/String;
invokespecial org.openjdk.jmh.profile.ProfilerException.<init>:(Ljava/lang/String;)V
athrow
end local 3 8: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/openjdk/jmh/profile/DTraceAsmProfiler;
0 9 1 initLine Ljava/lang/String;
2 9 2 messages Ljava/util/Collection<Ljava/lang/String;>;
7 8 3 e Ljoptsimple/OptionException;
Exception table:
from to target type
4 5 6 Class joptsimple.OptionException
Exceptions:
throws org.openjdk.jmh.profile.ProfilerException
MethodParameters:
Name Flags
initLine
public void beforeTrial(org.openjdk.jmh.infra.BenchmarkParams);
descriptor: (Lorg/openjdk/jmh/infra/BenchmarkParams;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokespecial org.openjdk.jmh.profile.AbstractPerfAsmProfiler.beforeTrial:(Lorg/openjdk/jmh/infra/BenchmarkParams;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/openjdk/jmh/profile/DTraceAsmProfiler;
0 2 1 params Lorg/openjdk/jmh/infra/BenchmarkParams;
MethodParameters:
Name Flags
params
public java.util.Collection<? extends org.openjdk.jmh.results.Result> afterTrial(org.openjdk.jmh.results.BenchmarkResult, long, java.io.File, java.io.File);
descriptor: (Lorg/openjdk/jmh/results/BenchmarkResult;JLjava/io/File;Ljava/io/File;)Ljava/util/Collection;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=7, args_size=5
start local 0 start local 1 start local 2 start local 4 start local 5 0: lload 2
lconst_0
lcmp
ifne 2
1: new java.lang.IllegalStateException
dup
ldc "DTrace needs the forked VM PID, but it is not initialized"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
getfield org.openjdk.jmh.profile.DTraceAsmProfiler.dtraceProcess:Ljava/lang/Process;
invokestatic org.openjdk.jmh.util.Utils.destroy:(Ljava/lang/Process;)Ljava/util/Collection;
astore 6
start local 6 3: aload 6
invokeinterface java.util.Collection.isEmpty:()Z
ifne 5
4: new java.lang.IllegalStateException
dup
aload 6
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals: java.util.Collection
StackMap stack:
aload 0
lload 2
invokestatic java.lang.String.valueOf:(J)Ljava/lang/String;
putfield org.openjdk.jmh.profile.DTraceAsmProfiler.pid:Ljava/lang/String;
6: aload 0
aload 1
lload 2
aload 4
aload 5
invokespecial org.openjdk.jmh.profile.AbstractPerfAsmProfiler.afterTrial:(Lorg/openjdk/jmh/results/BenchmarkResult;JLjava/io/File;Ljava/io/File;)Ljava/util/Collection;
areturn
end local 6 end local 5 end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/openjdk/jmh/profile/DTraceAsmProfiler;
0 7 1 br Lorg/openjdk/jmh/results/BenchmarkResult;
0 7 2 pid J
0 7 4 stdOut Ljava/io/File;
0 7 5 stdErr Ljava/io/File;
3 7 6 messages Ljava/util/Collection<Ljava/lang/String;>;
Signature: (Lorg/openjdk/jmh/results/BenchmarkResult;JLjava/io/File;Ljava/io/File;)Ljava/util/Collection<+Lorg/openjdk/jmh/results/Result;>;
MethodParameters:
Name Flags
br
pid
stdOut
stdErr
public java.util.Collection<java.lang.String> addJVMInvokeOptions(org.openjdk.jmh.infra.BenchmarkParams);
descriptor: (Lorg/openjdk/jmh/infra/BenchmarkParams;)Ljava/util/Collection;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=2, args_size=2
start local 0 start local 1 0: aload 0
bipush 6
anewarray java.lang.String
dup
iconst_0
ldc "sudo"
aastore
dup
iconst_1
ldc "dtrace"
aastore
dup
iconst_2
ldc "-n"
aastore
dup
iconst_3
new java.lang.StringBuilder
dup
ldc "profile-"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield org.openjdk.jmh.profile.DTraceAsmProfiler.sampleFrequency:J
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
1: ldc " /arg1/ { printf(\"%d 0x%lx %d\", pid, arg1, timestamp); ufunc(arg1)}"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aastore
dup
iconst_4
ldc "-o"
aastore
dup
iconst_5
2: aload 0
getfield org.openjdk.jmh.profile.DTraceAsmProfiler.perfBinData:Lorg/openjdk/jmh/util/TempFile;
invokevirtual org.openjdk.jmh.util.TempFile.getAbsolutePath:()Ljava/lang/String;
aastore
3: invokestatic org.openjdk.jmh.util.Utils.runAsync:([Ljava/lang/String;)Ljava/lang/Process;
putfield org.openjdk.jmh.profile.DTraceAsmProfiler.dtraceProcess:Ljava/lang/Process;
4: invokestatic java.util.Collections.emptyList:()Ljava/util/List;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/openjdk/jmh/profile/DTraceAsmProfiler;
0 5 1 params Lorg/openjdk/jmh/infra/BenchmarkParams;
Signature: (Lorg/openjdk/jmh/infra/BenchmarkParams;)Ljava/util/Collection<Ljava/lang/String;>;
MethodParameters:
Name Flags
params
public java.lang.String getDescription();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: ldc "DTrace profile provider + PrintAssembly Profiler"
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/openjdk/jmh/profile/DTraceAsmProfiler;
protected void addMyOptions(joptsimple.OptionParser);
descriptor: (Ljoptsimple/OptionParser;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
ldc "frequency"
1: ldc "Sampling frequency. This is synonymous to profile-#"
2: invokevirtual joptsimple.OptionParser.accepts:(Ljava/lang/String;Ljava/lang/String;)Ljoptsimple/OptionSpecBuilder;
3: invokevirtual joptsimple.OptionSpecBuilder.withRequiredArg:()Ljoptsimple/ArgumentAcceptingOptionSpec;
ldc Ljava/lang/Long;
invokevirtual joptsimple.ArgumentAcceptingOptionSpec.ofType:(Ljava/lang/Class;)Ljoptsimple/ArgumentAcceptingOptionSpec;
ldc "freq"
invokevirtual joptsimple.ArgumentAcceptingOptionSpec.describedAs:(Ljava/lang/String;)Ljoptsimple/ArgumentAcceptingOptionSpec;
ldc 1001
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
iconst_0
anewarray java.lang.Long
invokevirtual joptsimple.ArgumentAcceptingOptionSpec.defaultsTo:(Ljava/lang/Object;[Ljava/lang/Object;)Ljoptsimple/ArgumentAcceptingOptionSpec;
4: putfield org.openjdk.jmh.profile.DTraceAsmProfiler.optFrequency:Ljoptsimple/OptionSpec;
5: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/openjdk/jmh/profile/DTraceAsmProfiler;
0 6 1 parser Ljoptsimple/OptionParser;
MethodParameters:
Name Flags
parser
protected void parseEvents();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=0, locals=1, args_size=1
start local 0 0: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/openjdk/jmh/profile/DTraceAsmProfiler;
protected org.openjdk.jmh.profile.AbstractPerfAsmProfiler$PerfEvents readEvents(double, double);
descriptor: (DD)Lorg/openjdk/jmh/profile/AbstractPerfAsmProfiler$PerfEvents;
flags: (0x0004) ACC_PROTECTED
Code:
stack=6, locals=33, args_size=3
start local 0 start local 1 start local 3 0: dload 1
d2l
lstore 5
start local 5 1: dload 1
dload 3
dadd
d2l
lstore 7
start local 7 2: aconst_null
astore 9
aconst_null
astore 10
3: new java.io.FileReader
dup
aload 0
getfield org.openjdk.jmh.profile.DTraceAsmProfiler.perfBinData:Lorg/openjdk/jmh/util/TempFile;
invokevirtual org.openjdk.jmh.util.TempFile.file:()Ljava/io/File;
invokespecial java.io.FileReader.<init>:(Ljava/io/File;)V
astore 11
start local 11 4: new java.io.BufferedReader
dup
aload 11
invokespecial java.io.BufferedReader.<init>:(Ljava/io/Reader;)V
astore 12
start local 12 5: new org.openjdk.jmh.util.Deduplicator
dup
invokespecial org.openjdk.jmh.util.Deduplicator.<init>:()V
astore 13
start local 13 6: new org.openjdk.jmh.util.HashMultimap
dup
invokespecial org.openjdk.jmh.util.HashMultimap.<init>:()V
astore 14
start local 14 7: new org.openjdk.jmh.util.TreeMultiset
dup
invokespecial org.openjdk.jmh.util.TreeMultiset.<init>:()V
astore 15
start local 15 8: lconst_0
lstore 16
start local 16 9: goto 41
start local 18 10: StackMap locals: org.openjdk.jmh.profile.DTraceAsmProfiler double double long long java.lang.Throwable java.lang.Throwable java.io.FileReader java.io.BufferedReader org.openjdk.jmh.util.Deduplicator org.openjdk.jmh.util.Multimap org.openjdk.jmh.util.Multiset long java.lang.String
StackMap stack:
aload 18
ldc ":profile"
invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
ifne 12
11: goto 41
12: StackMap locals:
StackMap stack:
aload 18
invokevirtual java.lang.String.trim:()Ljava/lang/String;
astore 18
13: aload 18
aload 18
ldc ":profile"
invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
astore 18
14: aload 18
ldc " "
iconst_5
invokevirtual java.lang.String.split:(Ljava/lang/String;I)[Ljava/lang/String;
astore 19
start local 19 15: aload 19
iconst_1
aaload
astore 20
start local 20 16: aload 20
aload 0
getfield org.openjdk.jmh.profile.DTraceAsmProfiler.pid:Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 18
17: goto 41
18: StackMap locals: java.lang.String[] java.lang.String
StackMap stack:
aload 19
arraylength
iconst_4
if_icmpge 20
19: goto 41
20: StackMap locals:
StackMap stack:
aload 19
iconst_3
aaload
invokestatic java.lang.Long.valueOf:(Ljava/lang/String;)Ljava/lang/Long;
invokevirtual java.lang.Long.longValue:()J
lstore 21
start local 21 21: lload 16
lconst_0
lcmp
ifne 24
22: lload 21
lstore 16
23: goto 41
24: StackMap locals: long
StackMap stack:
lload 21
lload 16
lsub
lstore 23
start local 23 25: getstatic java.util.concurrent.TimeUnit.NANOSECONDS:Ljava/util/concurrent/TimeUnit;
lload 23
invokevirtual java.util.concurrent.TimeUnit.toMillis:(J)J
lstore 25
start local 25 26: lload 25
lload 5
lcmp
iflt 41
lload 25
lload 7
lcmp
ifle 28
27: goto 41
28: StackMap locals: long long
StackMap stack:
aload 19
iconst_2
aaload
invokestatic java.lang.Long.decode:(Ljava/lang/String;)Ljava/lang/Long;
invokevirtual java.lang.Long.longValue:()J
lstore 27
start local 27 29: aload 15
lload 27
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
invokeinterface org.openjdk.jmh.util.Multiset.add:(Ljava/lang/Object;)V
30: aload 19
iconst_4
aaload
astore 29
start local 29 31: aload 29
ldc "0x"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 33
32: goto 41
33: StackMap locals: long java.lang.String
StackMap stack:
ldc "[unknown]"
astore 30
start local 30 34: aload 29
ldc "`"
invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
astore 31
start local 31 35: aload 31
iconst_0
aaload
astore 32
start local 32 36: ldc ""
aload 32
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 38
37: ldc "[unknown]"
astore 32
38: StackMap locals: java.lang.String java.lang.String[] java.lang.String
StackMap stack:
aload 31
arraylength
iconst_2
if_icmpne 40
39: aload 31
iconst_1
aaload
astore 30
40: StackMap locals:
StackMap stack:
aload 14
aload 13
aload 30
aload 32
invokestatic org.openjdk.jmh.profile.AbstractPerfAsmProfiler$MethodDesc.nativeMethod:(Ljava/lang/String;Ljava/lang/String;)Lorg/openjdk/jmh/profile/AbstractPerfAsmProfiler$MethodDesc;
invokevirtual org.openjdk.jmh.util.Deduplicator.dedup:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.openjdk.jmh.profile.AbstractPerfAsmProfiler$MethodDesc
lload 27
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
invokeinterface org.openjdk.jmh.util.Multimap.put:(Ljava/lang/Object;Ljava/lang/Object;)V
end local 32 end local 31 end local 30 end local 29 end local 27 end local 25 end local 23 end local 21 end local 20 end local 19 end local 18 41: StackMap locals: org.openjdk.jmh.profile.DTraceAsmProfiler double double long long java.lang.Throwable java.lang.Throwable java.io.FileReader java.io.BufferedReader org.openjdk.jmh.util.Deduplicator org.openjdk.jmh.util.Multimap org.openjdk.jmh.util.Multiset long
StackMap stack:
aload 12
invokevirtual java.io.BufferedReader.readLine:()Ljava/lang/String;
dup
astore 18
start local 18 42: ifnonnull 10
43: new org.openjdk.jmh.util.IntervalMap
dup
invokespecial org.openjdk.jmh.util.IntervalMap.<init>:()V
astore 19
start local 19 44: aload 14
invokeinterface org.openjdk.jmh.util.Multimap.keys:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 21
goto 48
StackMap locals: org.openjdk.jmh.profile.DTraceAsmProfiler double double long long java.lang.Throwable java.lang.Throwable java.io.FileReader java.io.BufferedReader org.openjdk.jmh.util.Deduplicator org.openjdk.jmh.util.Multimap org.openjdk.jmh.util.Multiset long java.lang.String org.openjdk.jmh.util.IntervalMap top java.util.Iterator
StackMap stack:
45: aload 21
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.openjdk.jmh.profile.AbstractPerfAsmProfiler$MethodDesc
astore 20
start local 20 46: aload 14
aload 20
invokeinterface org.openjdk.jmh.util.Multimap.get:(Ljava/lang/Object;)Ljava/util/Collection;
astore 22
start local 22 47: aload 19
aload 20
aload 22
invokestatic org.openjdk.jmh.util.Utils.min:(Ljava/util/Collection;)Ljava/lang/Comparable;
checkcast java.lang.Long
invokevirtual java.lang.Long.longValue:()J
aload 22
invokestatic org.openjdk.jmh.util.Utils.max:(Ljava/util/Collection;)Ljava/lang/Comparable;
checkcast java.lang.Long
invokevirtual java.lang.Long.longValue:()J
invokevirtual org.openjdk.jmh.util.IntervalMap.add:(Ljava/lang/Object;JJ)V
end local 22 end local 20 48: StackMap locals:
StackMap stack:
aload 21
invokeinterface java.util.Iterator.hasNext:()Z
ifne 45
49: new java.util.TreeMap
dup
invokespecial java.util.TreeMap.<init>:()V
astore 20
start local 20 50: getstatic org.openjdk.jmh.profile.DTraceAsmProfiler.$assertionsDisabled:Z
ifne 51
aload 0
getfield org.openjdk.jmh.profile.DTraceAsmProfiler.events:Ljava/util/List;
invokeinterface java.util.List.size:()I
iconst_1
if_icmpeq 51
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
51: StackMap locals: org.openjdk.jmh.profile.DTraceAsmProfiler double double long long java.lang.Throwable java.lang.Throwable java.io.FileReader java.io.BufferedReader org.openjdk.jmh.util.Deduplicator org.openjdk.jmh.util.Multimap org.openjdk.jmh.util.Multiset long java.lang.String org.openjdk.jmh.util.IntervalMap java.util.Map
StackMap stack:
aload 20
aload 0
getfield org.openjdk.jmh.profile.DTraceAsmProfiler.events:Ljava/util/List;
iconst_0
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast java.lang.String
aload 15
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
52: new org.openjdk.jmh.profile.AbstractPerfAsmProfiler$PerfEvents
dup
aload 0
getfield org.openjdk.jmh.profile.DTraceAsmProfiler.events:Ljava/util/List;
aload 20
aload 19
invokespecial org.openjdk.jmh.profile.AbstractPerfAsmProfiler$PerfEvents.<init>:(Ljava/util/Collection;Ljava/util/Map;Lorg/openjdk/jmh/util/IntervalMap;)V
53: aload 12
ifnull 54
aload 12
invokevirtual java.io.BufferedReader.close:()V
StackMap locals:
StackMap stack: org.openjdk.jmh.profile.AbstractPerfAsmProfiler$PerfEvents
54: aload 11
ifnull 55
aload 11
invokevirtual java.io.FileReader.close:()V
55: StackMap locals:
StackMap stack: org.openjdk.jmh.profile.AbstractPerfAsmProfiler$PerfEvents
areturn
end local 20 end local 19 end local 18 end local 16 end local 15 end local 14 end local 13 StackMap locals: org.openjdk.jmh.profile.DTraceAsmProfiler double double long long java.lang.Throwable java.lang.Throwable java.io.FileReader java.io.BufferedReader
StackMap stack: java.lang.Throwable
56: astore 9
57: aload 12
ifnull 58
aload 12
invokevirtual java.io.BufferedReader.close:()V
end local 12 StackMap locals:
StackMap stack:
58: aload 9
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
59: astore 10
aload 9
ifnonnull 60
aload 10
astore 9
goto 61
StackMap locals:
StackMap stack:
60: aload 9
aload 10
if_acmpeq 61
aload 9
aload 10
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
61: aload 11
ifnull 62
aload 11
invokevirtual java.io.FileReader.close:()V
end local 11 StackMap locals:
StackMap stack:
62: aload 9
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
63: astore 10
aload 9
ifnonnull 64
aload 10
astore 9
goto 65
StackMap locals:
StackMap stack:
64: aload 9
aload 10
if_acmpeq 65
aload 9
aload 10
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
65: aload 9
athrow
StackMap locals: org.openjdk.jmh.profile.DTraceAsmProfiler double double long long
StackMap stack: java.io.IOException
66: pop
67: new org.openjdk.jmh.profile.AbstractPerfAsmProfiler$PerfEvents
dup
aload 0
getfield org.openjdk.jmh.profile.DTraceAsmProfiler.events:Ljava/util/List;
invokespecial org.openjdk.jmh.profile.AbstractPerfAsmProfiler$PerfEvents.<init>:(Ljava/util/Collection;)V
areturn
end local 7 end local 5 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 68 0 this Lorg/openjdk/jmh/profile/DTraceAsmProfiler;
0 68 1 skipMs D
0 68 3 lenMs D
1 68 5 start J
2 68 7 end J
4 62 11 fr Ljava/io/FileReader;
5 58 12 reader Ljava/io/BufferedReader;
6 56 13 dedup Lorg/openjdk/jmh/util/Deduplicator<Lorg/openjdk/jmh/profile/AbstractPerfAsmProfiler$MethodDesc;>;
7 56 14 methods Lorg/openjdk/jmh/util/Multimap<Lorg/openjdk/jmh/profile/AbstractPerfAsmProfiler$MethodDesc;Ljava/lang/Long;>;
8 56 15 events Lorg/openjdk/jmh/util/Multiset<Ljava/lang/Long;>;
9 56 16 dtraceTimestampBase J
10 41 18 line Ljava/lang/String;
42 56 18 line Ljava/lang/String;
15 41 19 splits [Ljava/lang/String;
16 41 20 sampledPid Ljava/lang/String;
21 41 21 timestamp J
25 41 23 elapsed J
26 41 25 elapsedMs J
29 41 27 address J
31 41 29 methodLine Ljava/lang/String;
34 41 30 symbol Ljava/lang/String;
35 41 31 methodSplit [Ljava/lang/String;
36 41 32 library Ljava/lang/String;
44 56 19 methodMap Lorg/openjdk/jmh/util/IntervalMap<Lorg/openjdk/jmh/profile/AbstractPerfAsmProfiler$MethodDesc;>;
46 48 20 md Lorg/openjdk/jmh/profile/AbstractPerfAsmProfiler$MethodDesc;
47 48 22 longs Ljava/util/Collection<Ljava/lang/Long;>;
50 56 20 allEvents Ljava/util/Map<Ljava/lang/String;Lorg/openjdk/jmh/util/Multiset<Ljava/lang/Long;>;>;
Exception table:
from to target type
5 53 56 any
4 54 59 any
56 59 59 any
3 55 63 any
56 63 63 any
2 55 66 Class java.io.IOException
56 66 66 Class java.io.IOException
MethodParameters:
Name Flags
skipMs
lenMs
protected java.lang.String perfBinaryExtension();
descriptor: ()Ljava/lang/String;
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: ldc ".txt"
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/openjdk/jmh/profile/DTraceAsmProfiler;
}
SourceFile: "DTraceAsmProfiler.java"
InnerClasses:
MethodDesc = org.openjdk.jmh.profile.AbstractPerfAsmProfiler$MethodDesc of org.openjdk.jmh.profile.AbstractPerfAsmProfiler
protected PerfEvents = org.openjdk.jmh.profile.AbstractPerfAsmProfiler$PerfEvents of org.openjdk.jmh.profile.AbstractPerfAsmProfiler