public class org.openjdk.jmh.profile.SafepointsProfiler implements org.openjdk.jmh.profile.ExternalProfiler
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.openjdk.jmh.profile.SafepointsProfiler
super_class: java.lang.Object
{
private static final long NO_LONG_VALUE;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: -9223372036854775808
private static final java.util.regex.Pattern JDK_7_LINE;
descriptor: Ljava/util/regex/Pattern;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.util.regex.Pattern JDK_8_LINE;
descriptor: Ljava/util/regex/Pattern;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.util.regex.Pattern JDK_9_LINE;
descriptor: Ljava/util/regex/Pattern;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc "([0-9\\.,]*): (.*) stopped: ([0-9\\.,]*) seconds"
invokestatic java.util.regex.Pattern.compile:(Ljava/lang/String;)Ljava/util/regex/Pattern;
1: putstatic org.openjdk.jmh.profile.SafepointsProfiler.JDK_7_LINE:Ljava/util/regex/Pattern;
2: ldc "([0-9\\.,]*): (.*) stopped: ([0-9\\.,]*) seconds, (.*) took: ([0-9\\.,]*) seconds"
invokestatic java.util.regex.Pattern.compile:(Ljava/lang/String;)Ljava/util/regex/Pattern;
3: putstatic org.openjdk.jmh.profile.SafepointsProfiler.JDK_8_LINE:Ljava/util/regex/Pattern;
4: ldc "\\[([0-9\\.,]*)s\\]\\[info\\]\\[safepoint( *)\\] (.*) stopped: ([0-9\\.,]*) seconds, (.*) took: ([0-9\\.,]*) seconds"
invokestatic java.util.regex.Pattern.compile:(Ljava/lang/String;)Ljava/util/regex/Pattern;
5: putstatic org.openjdk.jmh.profile.SafepointsProfiler.JDK_9_LINE:Ljava/util/regex/Pattern;
6: 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/openjdk/jmh/profile/SafepointsProfiler;
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 "Safepoints profiler"
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/openjdk/jmh/profile/SafepointsProfiler;
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=1, locals=2, args_size=2
start local 0 start local 1 0: invokestatic java.util.Collections.emptyList:()Ljava/util/List;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/openjdk/jmh/profile/SafepointsProfiler;
0 1 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.util.Collection<java.lang.String> addJVMOptions(org.openjdk.jmh.infra.BenchmarkParams);
descriptor: (Lorg/openjdk/jmh/infra/BenchmarkParams;)Ljava/util/Collection;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: iconst_4
anewarray java.lang.String
dup
iconst_0
1: ldc "-XX:+IgnoreUnrecognizedVMOptions"
aastore
dup
iconst_1
2: ldc "-Xlog:safepoint=info"
aastore
dup
iconst_2
3: ldc "-XX:+PrintGCApplicationStoppedTime"
aastore
dup
iconst_3
ldc "-XX:+PrintGCTimeStamps"
aastore
4: invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/openjdk/jmh/profile/SafepointsProfiler;
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 void beforeTrial(org.openjdk.jmh.infra.BenchmarkParams);
descriptor: (Lorg/openjdk/jmh/infra/BenchmarkParams;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=0, locals=2, args_size=2
start local 0 start local 1 0: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/openjdk/jmh/profile/SafepointsProfiler;
0 1 1 benchmarkParams Lorg/openjdk/jmh/infra/BenchmarkParams;
MethodParameters:
Name Flags
benchmarkParams
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=8, locals=21, args_size=5
start local 0 start local 1 start local 2 start local 4 start local 5 0: aload 1
invokestatic org.openjdk.jmh.profile.ProfilerUtils.measuredTimeMs:(Lorg/openjdk/jmh/results/BenchmarkResult;)J
lstore 6
start local 6 1: getstatic java.util.concurrent.TimeUnit.MILLISECONDS:Ljava/util/concurrent/TimeUnit;
lload 6
invokevirtual java.util.concurrent.TimeUnit.toNanos:(J)J
lstore 8
start local 8 2: getstatic java.util.concurrent.TimeUnit.MILLISECONDS:Ljava/util/concurrent/TimeUnit;
aload 1
invokestatic org.openjdk.jmh.profile.ProfilerUtils.measurementDelayMs:(Lorg/openjdk/jmh/results/BenchmarkResult;)J
invokevirtual java.util.concurrent.TimeUnit.toNanos:(J)J
lstore 10
start local 10 3: lload 10
lload 8
ladd
lstore 12
start local 12 4: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 14
start local 14 5: aconst_null
astore 15
aconst_null
astore 16
6: aload 4
invokevirtual java.io.File.toPath:()Ljava/nio/file/Path;
invokestatic java.nio.charset.Charset.defaultCharset:()Ljava/nio/charset/Charset;
invokestatic java.nio.file.Files.newBufferedReader:(Ljava/nio/file/Path;Ljava/nio/charset/Charset;)Ljava/io/BufferedReader;
7: astore 17
start local 17 8: goto 12
start local 18 9: StackMap locals: org.openjdk.jmh.profile.SafepointsProfiler org.openjdk.jmh.results.BenchmarkResult long java.io.File java.io.File long long long long java.util.List java.lang.Throwable java.lang.Throwable java.io.BufferedReader java.lang.String
StackMap stack:
aload 18
invokestatic org.openjdk.jmh.profile.SafepointsProfiler.parse:(Ljava/lang/String;)Lorg/openjdk/jmh/profile/SafepointsProfiler$ParsedData;
astore 19
start local 19 10: aload 19
ifnull 12
11: aload 14
aload 19
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 19 end local 18 12: StackMap locals:
StackMap stack:
aload 17
invokevirtual java.io.BufferedReader.readLine:()Ljava/lang/String;
dup
astore 18
start local 18 13: ifnonnull 9
end local 18 14: aload 17
ifnull 22
aload 17
invokevirtual java.io.BufferedReader.close:()V
goto 22
StackMap locals:
StackMap stack: java.lang.Throwable
15: astore 15
aload 17
ifnull 16
aload 17
invokevirtual java.io.BufferedReader.close:()V
end local 17 StackMap locals:
StackMap stack:
16: aload 15
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
17: astore 16
aload 15
ifnonnull 18
aload 16
astore 15
goto 19
StackMap locals:
StackMap stack:
18: aload 15
aload 16
if_acmpeq 19
aload 15
aload 16
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
19: aload 15
athrow
StackMap locals: org.openjdk.jmh.profile.SafepointsProfiler org.openjdk.jmh.results.BenchmarkResult long java.io.File java.io.File long long long long java.util.List
StackMap stack: java.io.IOException
20: astore 15
start local 15 21: new java.lang.IllegalStateException
dup
aload 15
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 15 22: StackMap locals:
StackMap stack:
ldc -9223372036854775808
lstore 15
start local 15 23: aload 14
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 18
goto 26
StackMap locals: org.openjdk.jmh.profile.SafepointsProfiler org.openjdk.jmh.results.BenchmarkResult long java.io.File java.io.File long long long long java.util.List long top java.util.Iterator
StackMap stack:
24: aload 18
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.openjdk.jmh.profile.SafepointsProfiler$ParsedData
astore 17
start local 17 25: lload 15
aload 17
getfield org.openjdk.jmh.profile.SafepointsProfiler$ParsedData.ver:I
i2l
invokestatic java.lang.Math.max:(JJ)J
lstore 15
end local 17 26: StackMap locals:
StackMap stack:
aload 18
invokeinterface java.util.Iterator.hasNext:()Z
ifne 24
27: new org.openjdk.jmh.util.SampleBuffer
dup
invokespecial org.openjdk.jmh.util.SampleBuffer.<init>:()V
astore 17
start local 17 28: new org.openjdk.jmh.util.SampleBuffer
dup
invokespecial org.openjdk.jmh.util.SampleBuffer.<init>:()V
astore 18
start local 18 29: aload 14
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 20
goto 36
StackMap locals: org.openjdk.jmh.profile.SafepointsProfiler org.openjdk.jmh.results.BenchmarkResult long java.io.File java.io.File long long long long java.util.List long org.openjdk.jmh.util.SampleBuffer org.openjdk.jmh.util.SampleBuffer top java.util.Iterator
StackMap stack:
30: aload 20
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.openjdk.jmh.profile.SafepointsProfiler$ParsedData
astore 19
start local 19 31: aload 19
getfield org.openjdk.jmh.profile.SafepointsProfiler$ParsedData.ver:I
i2l
lload 15
lcmp
ifne 36
32: aload 19
getfield org.openjdk.jmh.profile.SafepointsProfiler$ParsedData.timestamp:J
lload 10
lcmp
ifle 36
aload 19
getfield org.openjdk.jmh.profile.SafepointsProfiler$ParsedData.timestamp:J
lload 12
lcmp
ifge 36
33: aload 17
aload 19
getfield org.openjdk.jmh.profile.SafepointsProfiler$ParsedData.stopTime:J
invokevirtual org.openjdk.jmh.util.SampleBuffer.add:(J)V
34: aload 19
getfield org.openjdk.jmh.profile.SafepointsProfiler$ParsedData.ttspTime:J
ldc -9223372036854775808
lcmp
ifeq 36
35: aload 18
aload 19
getfield org.openjdk.jmh.profile.SafepointsProfiler$ParsedData.ttspTime:J
invokevirtual org.openjdk.jmh.util.SampleBuffer.add:(J)V
end local 19 36: StackMap locals:
StackMap stack:
aload 20
invokeinterface java.util.Iterator.hasNext:()Z
ifne 30
37: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 19
start local 19 38: aload 19
new org.openjdk.jmh.results.ScalarResult
dup
ldc "\u00B7safepoints.interval"
39: lload 6
l2d
ldc "ms"
getstatic org.openjdk.jmh.results.AggregationPolicy.SUM:Lorg/openjdk/jmh/results/AggregationPolicy;
invokespecial org.openjdk.jmh.results.ScalarResult.<init>:(Ljava/lang/String;DLjava/lang/String;Lorg/openjdk/jmh/results/AggregationPolicy;)V
40: invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
pop
41: aload 19
new org.openjdk.jmh.profile.SafepointsProfiler$SafepointProfilerResult
dup
ldc "pause"
aload 17
invokespecial org.openjdk.jmh.profile.SafepointsProfiler$SafepointProfilerResult.<init>:(Ljava/lang/String;Lorg/openjdk/jmh/util/SampleBuffer;)V
invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
pop
42: lload 15
ldc 7
lcmp
ifle 44
43: aload 19
new org.openjdk.jmh.profile.SafepointsProfiler$SafepointProfilerResult
dup
ldc "ttsp"
aload 18
invokespecial org.openjdk.jmh.profile.SafepointsProfiler$SafepointProfilerResult.<init>:(Ljava/lang/String;Lorg/openjdk/jmh/util/SampleBuffer;)V
invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
pop
44: StackMap locals: org.openjdk.jmh.profile.SafepointsProfiler org.openjdk.jmh.results.BenchmarkResult long java.io.File java.io.File long long long long java.util.List long org.openjdk.jmh.util.SampleBuffer org.openjdk.jmh.util.SampleBuffer java.util.Collection
StackMap stack:
aload 19
areturn
end local 19 end local 18 end local 17 end local 15 end local 14 end local 12 end local 10 end local 8 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 45 0 this Lorg/openjdk/jmh/profile/SafepointsProfiler;
0 45 1 br Lorg/openjdk/jmh/results/BenchmarkResult;
0 45 2 pid J
0 45 4 stdOut Ljava/io/File;
0 45 5 stdErr Ljava/io/File;
1 45 6 measuredTimeMs J
2 45 8 measuredTimeNs J
3 45 10 measureFrom J
4 45 12 measureTo J
5 45 14 ds Ljava/util/List<Lorg/openjdk/jmh/profile/SafepointsProfiler$ParsedData;>;
8 16 17 reader Ljava/io/BufferedReader;
9 12 18 line Ljava/lang/String;
13 14 18 line Ljava/lang/String;
10 12 19 data Lorg/openjdk/jmh/profile/SafepointsProfiler$ParsedData;
21 22 15 e Ljava/io/IOException;
23 45 15 maxVer J
25 26 17 d Lorg/openjdk/jmh/profile/SafepointsProfiler$ParsedData;
28 45 17 pauseBuff Lorg/openjdk/jmh/util/SampleBuffer;
29 45 18 ttspBuff Lorg/openjdk/jmh/util/SampleBuffer;
31 36 19 d Lorg/openjdk/jmh/profile/SafepointsProfiler$ParsedData;
38 45 19 results Ljava/util/Collection<Lorg/openjdk/jmh/results/Result;>;
Exception table:
from to target type
8 14 15 any
6 17 17 any
5 20 20 Class java.io.IOException
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
static long parseNs(java.lang.String);
descriptor: (Ljava/lang/String;)J
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=1, args_size=1
start local 0 0: aload 0
bipush 44
bipush 46
invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
invokestatic java.lang.Double.parseDouble:(Ljava/lang/String;)D
getstatic java.util.concurrent.TimeUnit.SECONDS:Ljava/util/concurrent/TimeUnit;
lconst_1
invokevirtual java.util.concurrent.TimeUnit.toNanos:(J)J
l2d
dmul
d2l
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 str Ljava/lang/String;
MethodParameters:
Name Flags
str
public boolean allowPrintOut();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/openjdk/jmh/profile/SafepointsProfiler;
public boolean allowPrintErr();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/openjdk/jmh/profile/SafepointsProfiler;
static org.openjdk.jmh.profile.SafepointsProfiler$ParsedData parse(java.lang.String);
descriptor: (Ljava/lang/String;)Lorg/openjdk/jmh/profile/SafepointsProfiler$ParsedData;
flags: (0x0008) ACC_STATIC
Code:
stack=9, locals=2, args_size=1
start local 0 0: getstatic org.openjdk.jmh.profile.SafepointsProfiler.JDK_7_LINE:Ljava/util/regex/Pattern;
aload 0
invokevirtual java.util.regex.Pattern.matcher:(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
astore 1
start local 1 1: aload 1
invokevirtual java.util.regex.Matcher.matches:()Z
ifeq 8
2: new org.openjdk.jmh.profile.SafepointsProfiler$ParsedData
dup
3: bipush 7
4: aload 1
iconst_1
invokevirtual java.util.regex.Matcher.group:(I)Ljava/lang/String;
invokestatic org.openjdk.jmh.profile.SafepointsProfiler.parseNs:(Ljava/lang/String;)J
5: aload 1
iconst_3
invokevirtual java.util.regex.Matcher.group:(I)Ljava/lang/String;
invokestatic org.openjdk.jmh.profile.SafepointsProfiler.parseNs:(Ljava/lang/String;)J
6: ldc -9223372036854775808
7: invokespecial org.openjdk.jmh.profile.SafepointsProfiler$ParsedData.<init>:(IJJJ)V
areturn
end local 1 8: StackMap locals:
StackMap stack:
getstatic org.openjdk.jmh.profile.SafepointsProfiler.JDK_8_LINE:Ljava/util/regex/Pattern;
aload 0
invokevirtual java.util.regex.Pattern.matcher:(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
astore 1
start local 1 9: aload 1
invokevirtual java.util.regex.Matcher.matches:()Z
ifeq 16
10: new org.openjdk.jmh.profile.SafepointsProfiler$ParsedData
dup
11: bipush 8
12: aload 1
iconst_1
invokevirtual java.util.regex.Matcher.group:(I)Ljava/lang/String;
invokestatic org.openjdk.jmh.profile.SafepointsProfiler.parseNs:(Ljava/lang/String;)J
13: aload 1
iconst_3
invokevirtual java.util.regex.Matcher.group:(I)Ljava/lang/String;
invokestatic org.openjdk.jmh.profile.SafepointsProfiler.parseNs:(Ljava/lang/String;)J
14: aload 1
iconst_5
invokevirtual java.util.regex.Matcher.group:(I)Ljava/lang/String;
invokestatic org.openjdk.jmh.profile.SafepointsProfiler.parseNs:(Ljava/lang/String;)J
15: invokespecial org.openjdk.jmh.profile.SafepointsProfiler$ParsedData.<init>:(IJJJ)V
areturn
end local 1 16: StackMap locals:
StackMap stack:
getstatic org.openjdk.jmh.profile.SafepointsProfiler.JDK_9_LINE:Ljava/util/regex/Pattern;
aload 0
invokevirtual java.util.regex.Pattern.matcher:(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
astore 1
start local 1 17: aload 1
invokevirtual java.util.regex.Matcher.matches:()Z
ifeq 24
18: new org.openjdk.jmh.profile.SafepointsProfiler$ParsedData
dup
19: bipush 9
20: aload 1
iconst_1
invokevirtual java.util.regex.Matcher.group:(I)Ljava/lang/String;
invokestatic org.openjdk.jmh.profile.SafepointsProfiler.parseNs:(Ljava/lang/String;)J
21: aload 1
iconst_4
invokevirtual java.util.regex.Matcher.group:(I)Ljava/lang/String;
invokestatic org.openjdk.jmh.profile.SafepointsProfiler.parseNs:(Ljava/lang/String;)J
22: aload 1
bipush 6
invokevirtual java.util.regex.Matcher.group:(I)Ljava/lang/String;
invokestatic org.openjdk.jmh.profile.SafepointsProfiler.parseNs:(Ljava/lang/String;)J
23: invokespecial org.openjdk.jmh.profile.SafepointsProfiler$ParsedData.<init>:(IJJJ)V
areturn
end local 1 24: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 25 0 line Ljava/lang/String;
1 8 1 m Ljava/util/regex/Matcher;
9 16 1 m Ljava/util/regex/Matcher;
17 24 1 m Ljava/util/regex/Matcher;
MethodParameters:
Name Flags
line
}
SourceFile: "SafepointsProfiler.java"
NestMembers:
org.openjdk.jmh.profile.SafepointsProfiler$ParsedData org.openjdk.jmh.profile.SafepointsProfiler$SafepointProfilerResult org.openjdk.jmh.profile.SafepointsProfiler$SafepointProfilerResult$JoiningAggregator
InnerClasses:
ParsedData = org.openjdk.jmh.profile.SafepointsProfiler$ParsedData of org.openjdk.jmh.profile.SafepointsProfiler
SafepointProfilerResult = org.openjdk.jmh.profile.SafepointsProfiler$SafepointProfilerResult of org.openjdk.jmh.profile.SafepointsProfiler