public class org.openjdk.jmh.profile.LinuxPerfNormProfiler extends java.lang.Object implements org.openjdk.jmh.profile.ExternalProfiler
{
private static final java.lang.String[] interestingEvents;
private final int delayMs;
private final int lengthMs;
private final boolean useDefaultStats;
private final long highPassFilter;
private final int incrementInterval;
private final boolean isIncrementable;
private final java.util.Collection supportedEvents;
public void <init>(java.lang.String) throws org.openjdk.jmh.profile.ProfilerException
{
java.lang.Integer v, v, v;
java.lang.Long v;
org.openjdk.jmh.profile.LinuxPerfNormProfiler v;
java.lang.Boolean[] v;
joptsimple.ArgumentAcceptingOptionSpec v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
joptsimple.OptionSpecBuilder v, v, v, v, v, v;
java.lang.Integer[] v, v, v;
long v;
java.util.ArrayList v;
java.lang.String v, v, v, v, v, v, v, v, v;
org.openjdk.jmh.profile.ProfilerOptionFormatter v;
joptsimple.OptionParser v;
boolean v, v, v, v, v, v, v;
joptsimple.OptionSet v;
java.util.Collection v, v, v, v, v, v;
java.util.List v;
java.lang.String[] v, v, v, v;
joptsimple.OptionException v;
int v, v, v, v, v, v, v, v;
java.lang.Boolean v;
java.lang.Long[] v;
org.openjdk.jmh.profile.ProfilerException v, v;
java.util.Iterator v;
java.lang.Object v, v, v, v, v, v;
v := @this: org.openjdk.jmh.profile.LinuxPerfNormProfiler;
v := @parameter: java.lang.String;
specialinvoke v.<java.lang.Object: void <init>()>();
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>()>();
v.<org.openjdk.jmh.profile.LinuxPerfNormProfiler: java.util.Collection supportedEvents> = v;
v = new joptsimple.OptionParser;
specialinvoke v.<joptsimple.OptionParser: void <init>()>();
v = new org.openjdk.jmh.profile.ProfilerOptionFormatter;
specialinvoke v.<org.openjdk.jmh.profile.ProfilerOptionFormatter: void <init>(java.lang.String)>("perfnorm");
virtualinvoke v.<joptsimple.OptionParser: void formatHelpWith(joptsimple.HelpFormatter)>(v);
v = virtualinvoke v.<joptsimple.OptionParser: joptsimple.OptionSpecBuilder accepts(java.lang.String,java.lang.String)>("events", "Events to gather.");
v = virtualinvoke v.<joptsimple.OptionSpecBuilder: joptsimple.ArgumentAcceptingOptionSpec withRequiredArg()>();
v = virtualinvoke v.<joptsimple.ArgumentAcceptingOptionSpec: joptsimple.ArgumentAcceptingOptionSpec ofType(java.lang.Class)>(class "Ljava/lang/String;");
v = virtualinvoke v.<joptsimple.ArgumentAcceptingOptionSpec: joptsimple.ArgumentAcceptingOptionSpec withValuesSeparatedBy(java.lang.String)>(",");
v = virtualinvoke v.<joptsimple.ArgumentAcceptingOptionSpec: joptsimple.ArgumentAcceptingOptionSpec describedAs(java.lang.String)>("event+");
v = virtualinvoke v.<joptsimple.OptionParser: joptsimple.OptionSpecBuilder accepts(java.lang.String,java.lang.String)>("delay", "Delay collection for a given time, in milliseconds; -1 to detect automatically.");
v = virtualinvoke v.<joptsimple.OptionSpecBuilder: joptsimple.ArgumentAcceptingOptionSpec withRequiredArg()>();
v = virtualinvoke v.<joptsimple.ArgumentAcceptingOptionSpec: joptsimple.ArgumentAcceptingOptionSpec ofType(java.lang.Class)>(class "Ljava/lang/Integer;");
v = virtualinvoke v.<joptsimple.ArgumentAcceptingOptionSpec: joptsimple.ArgumentAcceptingOptionSpec describedAs(java.lang.String)>("ms");
v = (int) -1;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
v = newarray (java.lang.Integer)[0];
v = virtualinvoke v.<joptsimple.ArgumentAcceptingOptionSpec: joptsimple.ArgumentAcceptingOptionSpec defaultsTo(java.lang.Object,java.lang.Object[])>(v, v);
v = virtualinvoke v.<joptsimple.OptionParser: joptsimple.OptionSpecBuilder accepts(java.lang.String,java.lang.String)>("length", "Do the collection for a given time, in milliseconds; -1 to detect automatically.");
v = virtualinvoke v.<joptsimple.OptionSpecBuilder: joptsimple.ArgumentAcceptingOptionSpec withRequiredArg()>();
v = virtualinvoke v.<joptsimple.ArgumentAcceptingOptionSpec: joptsimple.ArgumentAcceptingOptionSpec ofType(java.lang.Class)>(class "Ljava/lang/Integer;");
v = virtualinvoke v.<joptsimple.ArgumentAcceptingOptionSpec: joptsimple.ArgumentAcceptingOptionSpec describedAs(java.lang.String)>("ms");
v = (int) -1;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
v = newarray (java.lang.Integer)[0];
v = virtualinvoke v.<joptsimple.ArgumentAcceptingOptionSpec: joptsimple.ArgumentAcceptingOptionSpec defaultsTo(java.lang.Object,java.lang.Object[])>(v, v);
v = virtualinvoke v.<joptsimple.OptionParser: joptsimple.OptionSpecBuilder accepts(java.lang.String,java.lang.String)>("interval", "The interval between incremental updates from a concurrently running perf. Lower values may improve accuracy, while increasing the profiling overhead.");
v = virtualinvoke v.<joptsimple.OptionSpecBuilder: joptsimple.ArgumentAcceptingOptionSpec withRequiredArg()>();
v = virtualinvoke v.<joptsimple.ArgumentAcceptingOptionSpec: joptsimple.ArgumentAcceptingOptionSpec ofType(java.lang.Class)>(class "Ljava/lang/Integer;");
v = virtualinvoke v.<joptsimple.ArgumentAcceptingOptionSpec: joptsimple.ArgumentAcceptingOptionSpec describedAs(java.lang.String)>("ms");
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(100);
v = newarray (java.lang.Integer)[0];
v = virtualinvoke v.<joptsimple.ArgumentAcceptingOptionSpec: joptsimple.ArgumentAcceptingOptionSpec defaultsTo(java.lang.Object,java.lang.Object[])>(v, v);
v = virtualinvoke v.<joptsimple.OptionParser: joptsimple.OptionSpecBuilder accepts(java.lang.String,java.lang.String)>("highPassFilter", "Ignore event increments larger that this.");
v = virtualinvoke v.<joptsimple.OptionSpecBuilder: joptsimple.ArgumentAcceptingOptionSpec withRequiredArg()>();
v = virtualinvoke v.<joptsimple.ArgumentAcceptingOptionSpec: joptsimple.ArgumentAcceptingOptionSpec ofType(java.lang.Class)>(class "Ljava/lang/Long;");
v = virtualinvoke v.<joptsimple.ArgumentAcceptingOptionSpec: joptsimple.ArgumentAcceptingOptionSpec describedAs(java.lang.String)>("#");
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(100000000000L);
v = newarray (java.lang.Long)[0];
v = virtualinvoke v.<joptsimple.ArgumentAcceptingOptionSpec: joptsimple.ArgumentAcceptingOptionSpec defaultsTo(java.lang.Object,java.lang.Object[])>(v, v);
v = virtualinvoke v.<joptsimple.OptionParser: joptsimple.OptionSpecBuilder accepts(java.lang.String,java.lang.String)>("useDefaultStat", "Use \"perf stat -d -d -d\" instead of explicit counter list.");
v = virtualinvoke v.<joptsimple.OptionSpecBuilder: joptsimple.ArgumentAcceptingOptionSpec withRequiredArg()>();
v = virtualinvoke v.<joptsimple.ArgumentAcceptingOptionSpec: joptsimple.ArgumentAcceptingOptionSpec ofType(java.lang.Class)>(class "Ljava/lang/Boolean;");
v = virtualinvoke v.<joptsimple.ArgumentAcceptingOptionSpec: joptsimple.ArgumentAcceptingOptionSpec describedAs(java.lang.String)>("bool");
v = staticinvoke <java.lang.Boolean: java.lang.Boolean valueOf(boolean)>(0);
v = newarray (java.lang.Boolean)[0];
v = virtualinvoke v.<joptsimple.ArgumentAcceptingOptionSpec: joptsimple.ArgumentAcceptingOptionSpec defaultsTo(java.lang.Object,java.lang.Object[])>(v, v);
v = staticinvoke <org.openjdk.jmh.profile.ProfilerUtils: joptsimple.OptionSet parseInitLine(java.lang.String,joptsimple.OptionParser)>(v, v);
label:
v = virtualinvoke v.<joptsimple.OptionSet: java.lang.Object valueOf(joptsimple.OptionSpec)>(v);
v = virtualinvoke v.<java.lang.Integer: int intValue()>();
v.<org.openjdk.jmh.profile.LinuxPerfNormProfiler: int delayMs> = v;
v = virtualinvoke v.<joptsimple.OptionSet: java.lang.Object valueOf(joptsimple.OptionSpec)>(v);
v = virtualinvoke v.<java.lang.Integer: int intValue()>();
v.<org.openjdk.jmh.profile.LinuxPerfNormProfiler: int lengthMs> = v;
v = virtualinvoke v.<joptsimple.OptionSet: java.lang.Object valueOf(joptsimple.OptionSpec)>(v);
v = virtualinvoke v.<java.lang.Integer: int intValue()>();
v.<org.openjdk.jmh.profile.LinuxPerfNormProfiler: int incrementInterval> = v;
v = virtualinvoke v.<joptsimple.OptionSet: java.lang.Object valueOf(joptsimple.OptionSpec)>(v);
v = virtualinvoke v.<java.lang.Long: long longValue()>();
v.<org.openjdk.jmh.profile.LinuxPerfNormProfiler: long highPassFilter> = v;
v = virtualinvoke v.<joptsimple.OptionSet: java.lang.Object valueOf(joptsimple.OptionSpec)>(v);
v = virtualinvoke v.<java.lang.Boolean: boolean booleanValue()>();
v.<org.openjdk.jmh.profile.LinuxPerfNormProfiler: boolean useDefaultStats> = v;
v = virtualinvoke v.<joptsimple.OptionSet: java.util.List valuesOf(joptsimple.OptionSpec)>(v);
label:
goto label;
label:
v := @caughtexception;
v = new org.openjdk.jmh.profile.ProfilerException;
v = virtualinvoke v.<joptsimple.OptionException: java.lang.String getMessage()>();
specialinvoke v.<org.openjdk.jmh.profile.ProfilerException: void <init>(java.lang.String)>(v);
throw v;
label:
v = newarray (java.lang.String)[8];
v = <org.openjdk.jmh.profile.PerfSupport: java.lang.String PERF_EXEC>;
v[0] = v;
v[1] = "stat";
v[2] = "--log-fd";
v[3] = "2";
v[4] = "--field-separator";
v[5] = ",";
v[6] = "echo";
v[7] = "1";
v = staticinvoke <org.openjdk.jmh.util.Utils: java.util.Collection tryWith(java.lang.String[])>(v);
v = interfaceinvoke v.<java.util.Collection: boolean isEmpty()>();
if v != 0 goto label;
v = new org.openjdk.jmh.profile.ProfilerException;
v = virtualinvoke v.<java.lang.Object: java.lang.String toString()>();
specialinvoke v.<org.openjdk.jmh.profile.ProfilerException: void <init>(java.lang.String)>(v);
throw v;
label:
v = newarray (java.lang.String)[10];
v = <org.openjdk.jmh.profile.PerfSupport: java.lang.String PERF_EXEC>;
v[0] = v;
v[1] = "stat";
v[2] = "--log-fd";
v[3] = "2";
v[4] = "--field-separator";
v[5] = ",";
v[6] = "--interval-print";
v = v.<org.openjdk.jmh.profile.LinuxPerfNormProfiler: int incrementInterval>;
v = staticinvoke <java.lang.String: java.lang.String valueOf(int)>(v);
v[7] = v;
v[8] = "echo";
v[9] = "1";
v = staticinvoke <org.openjdk.jmh.util.Utils: java.util.Collection tryWith(java.lang.String[])>(v);
v = interfaceinvoke v.<java.util.Collection: boolean isEmpty()>();
v.<org.openjdk.jmh.profile.LinuxPerfNormProfiler: boolean isIncrementable> = v;
if v == null goto label;
v = interfaceinvoke v.<java.util.Collection: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = virtualinvoke v.<java.lang.String: java.lang.String trim()>();
v = virtualinvoke v.<java.lang.String: boolean isEmpty()>();
if v != 0 goto label;
v = v.<org.openjdk.jmh.profile.LinuxPerfNormProfiler: java.util.Collection supportedEvents>;
interfaceinvoke v.<java.util.Collection: boolean add(java.lang.Object)>(v);
goto label;
label:
v = v.<org.openjdk.jmh.profile.LinuxPerfNormProfiler: java.util.Collection supportedEvents>;
v = interfaceinvoke v.<java.util.Collection: boolean isEmpty()>();
if v == 0 goto label;
v = <org.openjdk.jmh.profile.LinuxPerfNormProfiler: java.lang.String[] interestingEvents>;
v = lengthof v;
v = 0;
label:
if v >= v goto label;
v = v[v];
v = newarray (java.lang.String)[10];
v = <org.openjdk.jmh.profile.PerfSupport: java.lang.String PERF_EXEC>;
v[0] = v;
v[1] = "stat";
v[2] = "--log-fd";
v[3] = "2";
v[4] = "--field-separator";
v[5] = ",";
v[6] = "--event";
v[7] = v;
v[8] = "echo";
v[9] = "1";
v = staticinvoke <org.openjdk.jmh.util.Utils: java.util.Collection tryWith(java.lang.String[])>(v);
v = interfaceinvoke v.<java.util.Collection: boolean isEmpty()>();
if v == 0 goto label;
v = v.<org.openjdk.jmh.profile.LinuxPerfNormProfiler: java.util.Collection supportedEvents>;
interfaceinvoke v.<java.util.Collection: boolean add(java.lang.Object)>(v);
label:
v = v + 1;
goto label;
label:
return;
catch joptsimple.OptionException from label to label with label;
}
public java.util.Collection addJVMInvokeOptions(org.openjdk.jmh.infra.BenchmarkParams)
{
java.lang.String[] v, v, v;
java.util.ArrayList v;
org.openjdk.jmh.infra.BenchmarkParams v;
int v;
java.lang.String v, v, v, v;
boolean v, v;
org.openjdk.jmh.profile.LinuxPerfNormProfiler v;
java.util.Collection v;
java.util.List v, v, v;
v := @this: org.openjdk.jmh.profile.LinuxPerfNormProfiler;
v := @parameter: org.openjdk.jmh.infra.BenchmarkParams;
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>()>();
v = v.<org.openjdk.jmh.profile.LinuxPerfNormProfiler: boolean useDefaultStats>;
if v == 0 goto label;
v = newarray (java.lang.String)[9];
v = <org.openjdk.jmh.profile.PerfSupport: java.lang.String PERF_EXEC>;
v[0] = v;
v[1] = "stat";
v[2] = "--log-fd";
v[3] = "2";
v[4] = "--field-separator";
v[5] = ",";
v[6] = "--detailed";
v[7] = "--detailed";
v[8] = "--detailed";
v = staticinvoke <java.util.Arrays: java.util.List asList(java.lang.Object[])>(v);
interfaceinvoke v.<java.util.List: boolean addAll(java.util.Collection)>(v);
goto label;
label:
v = newarray (java.lang.String)[8];
v = <org.openjdk.jmh.profile.PerfSupport: java.lang.String PERF_EXEC>;
v[0] = v;
v[1] = "stat";
v[2] = "--log-fd";
v[3] = "2";
v[4] = "--field-separator";
v[5] = ",";
v[6] = "--event";
v = v.<org.openjdk.jmh.profile.LinuxPerfNormProfiler: java.util.Collection supportedEvents>;
v = staticinvoke <org.openjdk.jmh.util.Utils: java.lang.String join(java.util.Collection,java.lang.String)>(v, ",");
v[7] = v;
v = staticinvoke <java.util.Arrays: java.util.List asList(java.lang.Object[])>(v);
interfaceinvoke v.<java.util.List: boolean addAll(java.util.Collection)>(v);
label:
v = v.<org.openjdk.jmh.profile.LinuxPerfNormProfiler: boolean isIncrementable>;
if v == 0 goto label;
v = newarray (java.lang.String)[2];
v[0] = "-I";
v = v.<org.openjdk.jmh.profile.LinuxPerfNormProfiler: int incrementInterval>;
v = staticinvoke <java.lang.String: java.lang.String valueOf(int)>(v);
v[1] = v;
v = staticinvoke <java.util.Arrays: java.util.List asList(java.lang.Object[])>(v);
interfaceinvoke v.<java.util.List: boolean addAll(java.util.Collection)>(v);
label:
return v;
}
public java.util.Collection addJVMOptions(org.openjdk.jmh.infra.BenchmarkParams)
{
java.util.List v;
org.openjdk.jmh.infra.BenchmarkParams v;
org.openjdk.jmh.profile.LinuxPerfNormProfiler v;
v := @this: org.openjdk.jmh.profile.LinuxPerfNormProfiler;
v := @parameter: org.openjdk.jmh.infra.BenchmarkParams;
v = staticinvoke <java.util.Collections: java.util.List emptyList()>();
return v;
}
public void beforeTrial(org.openjdk.jmh.infra.BenchmarkParams)
{
org.openjdk.jmh.infra.BenchmarkParams v;
org.openjdk.jmh.profile.LinuxPerfNormProfiler v;
v := @this: org.openjdk.jmh.profile.LinuxPerfNormProfiler;
v := @parameter: org.openjdk.jmh.infra.BenchmarkParams;
return;
}
public java.util.Collection afterTrial(org.openjdk.jmh.results.BenchmarkResult, long, java.io.File, java.io.File)
{
org.openjdk.jmh.profile.LinuxPerfNormProfiler v;
java.util.Collection v;
long v;
org.openjdk.jmh.results.BenchmarkResult v;
java.io.File v, v;
v := @this: org.openjdk.jmh.profile.LinuxPerfNormProfiler;
v := @parameter: org.openjdk.jmh.results.BenchmarkResult;
v := @parameter: long;
v := @parameter: java.io.File;
v := @parameter: java.io.File;
v = specialinvoke v.<org.openjdk.jmh.profile.LinuxPerfNormProfiler: java.util.Collection process(org.openjdk.jmh.results.BenchmarkResult,java.io.File,java.io.File)>(v, v, v);
return v;
}
public boolean allowPrintOut()
{
org.openjdk.jmh.profile.LinuxPerfNormProfiler v;
v := @this: org.openjdk.jmh.profile.LinuxPerfNormProfiler;
return 1;
}
public boolean allowPrintErr()
{
org.openjdk.jmh.profile.LinuxPerfNormProfiler v;
v := @this: org.openjdk.jmh.profile.LinuxPerfNormProfiler;
return 0;
}
public java.lang.String getDescription()
{
org.openjdk.jmh.profile.LinuxPerfNormProfiler v;
v := @this: org.openjdk.jmh.profile.LinuxPerfNormProfiler;
return "Linux perf statistics, normalized by operation count";
}
private java.util.Collection process(org.openjdk.jmh.results.BenchmarkResult, java.io.File, java.io.File)
{
org.openjdk.jmh.profile.LinuxPerfNormProfiler$PerfResult v, v, v, v;
byte v, v, v, v, v, v, v;
org.openjdk.jmh.profile.LinuxPerfNormProfiler v;
java.util.Set v;
org.openjdk.jmh.results.BenchmarkResultMetaData v;
java.lang.Throwable v, v;
long v, v, v, v, v, v, v, v, v, v, v;
java.text.NumberFormat v;
java.util.ArrayList v;
java.lang.String v, v, v, v, v, v, v, v, v, v, v, v, v, v;
java.lang.Number v, v, v;
java.io.IOException v;
org.openjdk.jmh.results.BenchmarkResult v;
java.io.File v, v;
java.io.BufferedReader v;
java.lang.IllegalStateException v;
org.openjdk.jmh.util.HashMultiset v;
java.text.ParseException v, v, v;
boolean v, v, v, v, v;
java.util.Collection v;
java.lang.String[] v;
int v, v, v, v, v, v, v, v, v, v, v;
double v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
java.io.PrintStream v, v, v;
java.util.Iterator v;
java.lang.Object v;
java.io.FileReader v;
v := @this: org.openjdk.jmh.profile.LinuxPerfNormProfiler;
v := @parameter: org.openjdk.jmh.results.BenchmarkResult;
v := @parameter: java.io.File;
v := @parameter: java.io.File;
v = new org.openjdk.jmh.util.HashMultiset;
specialinvoke v.<org.openjdk.jmh.util.HashMultiset: void <init>()>();
label:
v = new java.io.FileReader;
specialinvoke v.<java.io.FileReader: void <init>(java.io.File)>(v);
label:
v = new java.io.BufferedReader;
specialinvoke v.<java.io.BufferedReader: void <init>(java.io.Reader)>(v);
label:
v = v.<org.openjdk.jmh.profile.LinuxPerfNormProfiler: int delayMs>;
v = (int) -1;
if v != v goto label;
v = staticinvoke <org.openjdk.jmh.profile.ProfilerUtils: long measurementDelayMs(org.openjdk.jmh.results.BenchmarkResult)>(v);
label:
v = v.<org.openjdk.jmh.profile.LinuxPerfNormProfiler: int lengthMs>;
v = (int) -1;
if v != v goto label;
v = staticinvoke <org.openjdk.jmh.profile.ProfilerUtils: long measuredTimeMs(org.openjdk.jmh.results.BenchmarkResult)>(v);
label:
v = v / 1000.0;
v = v + v;
v = v / 1000.0;
v = v + v;
v = v.<org.openjdk.jmh.profile.LinuxPerfNormProfiler: int incrementInterval>;
v = v + v;
v = v / 1000.0;
v = staticinvoke <java.text.NumberFormat: java.text.NumberFormat getInstance()>();
label:
v = virtualinvoke v.<java.io.BufferedReader: java.lang.String readLine()>();
if v == null goto label;
v = virtualinvoke v.<java.lang.String: boolean startsWith(java.lang.String)>("#");
if v != 0 goto label;
v = v.<org.openjdk.jmh.profile.LinuxPerfNormProfiler: boolean isIncrementable>;
if v == 0 goto label;
v = virtualinvoke v.<java.lang.String: java.lang.String[] split(java.lang.String)>(",");
v = lengthof v;
if v != 3 goto label;
v = v[0];
v = virtualinvoke v.<java.lang.String: java.lang.String trim()>();
v = v[1];
v = virtualinvoke v.<java.lang.String: java.lang.String trim()>();
v = v[2];
v = virtualinvoke v.<java.lang.String: java.lang.String trim()>();
goto label;
label:
v = lengthof v;
if v < 4 goto label;
v = v[0];
v = virtualinvoke v.<java.lang.String: java.lang.String trim()>();
v = v[1];
v = virtualinvoke v.<java.lang.String: java.lang.String trim()>();
v = v[3];
v = virtualinvoke v.<java.lang.String: java.lang.String trim()>();
label:
v = 1.0;
label:
v = virtualinvoke v.<java.text.NumberFormat: java.lang.Number parse(java.lang.String)>(v);
v = virtualinvoke v.<java.lang.Number: double doubleValue()>();
v = v cmpg v;
if v < 0 goto label;
label:
v = v cmpl v;
if v > 0 goto label;
label:
v = v.<org.openjdk.jmh.profile.LinuxPerfNormProfiler: int incrementInterval>;
v = v / 1000.0;
v = v - v;
v = v cmpg v;
if v >= 0 goto label;
v = v - v;
v = v / v;
label:
v = v cmpl v;
if v <= 0 goto label;
v = v - v;
v = v / v;
v = 1.0 - v;
label:
v = staticinvoke <java.lang.Math: double min(double,double)>(0.0, v);
v = staticinvoke <java.lang.Math: double max(double,double)>(1.0, v);
label:
goto label;
label:
v := @caughtexception;
goto label;
label:
v = virtualinvoke v.<java.text.NumberFormat: java.lang.Number parse(java.lang.String)>(v);
v = virtualinvoke v.<java.lang.Number: long longValue()>();
v = v.<org.openjdk.jmh.profile.LinuxPerfNormProfiler: long highPassFilter>;
v = v cmp v;
if v > 0 goto label;
label:
v = v * v;
interfaceinvoke v.<org.openjdk.jmh.util.Multiset: void add(java.lang.Object,long)>(v, v);
label:
goto label;
label:
v := @caughtexception;
goto label;
label:
v = virtualinvoke v.<java.lang.String: int lastIndexOf(java.lang.String)>(",");
v = (int) -1;
if v == v goto label;
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int,int)>(0, v);
v = virtualinvoke v.<java.lang.String: java.lang.String trim()>();
v = v + 1;
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int)>(v);
v = virtualinvoke v.<java.lang.String: java.lang.String trim()>();
label:
v = virtualinvoke v.<java.text.NumberFormat: java.lang.Number parse(java.lang.String)>(v);
v = virtualinvoke v.<java.lang.Number: long longValue()>();
interfaceinvoke v.<org.openjdk.jmh.util.Multiset: void add(java.lang.Object,long)>(v, v);
label:
goto label;
label:
v := @caughtexception;
goto label;
label:
v = v.<org.openjdk.jmh.profile.LinuxPerfNormProfiler: boolean isIncrementable>;
if v != 0 goto label;
v = <java.lang.System: java.io.PrintStream out>;
virtualinvoke v.<java.io.PrintStream: void println()>();
v = <java.lang.System: java.io.PrintStream out>;
virtualinvoke v.<java.io.PrintStream: void println()>();
v = <java.lang.System: java.io.PrintStream out>;
virtualinvoke v.<java.io.PrintStream: void println(java.lang.String)>("WARNING: Your system uses old \"perf\", which cannot print data incrementally (-I).\nTherefore, perf performance data includes benchmark warmup.");
label:
v = virtualinvoke v.<org.openjdk.jmh.results.BenchmarkResult: org.openjdk.jmh.results.BenchmarkResultMetaData getMetadata()>();
if v == null goto label;
v = v.<org.openjdk.jmh.profile.LinuxPerfNormProfiler: boolean isIncrementable>;
if v == 0 goto label;
v = virtualinvoke v.<org.openjdk.jmh.results.BenchmarkResultMetaData: long getMeasurementOps()>();
goto label;
label:
v = virtualinvoke v.<org.openjdk.jmh.results.BenchmarkResultMetaData: long getWarmupOps()>();
v = virtualinvoke v.<org.openjdk.jmh.results.BenchmarkResultMetaData: long getMeasurementOps()>();
v = v + v;
label:
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>()>();
v = interfaceinvoke v.<org.openjdk.jmh.util.Multiset: java.util.Collection keys()>();
v = interfaceinvoke v.<java.util.Collection: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = new org.openjdk.jmh.profile.LinuxPerfNormProfiler$PerfResult;
v = interfaceinvoke v.<org.openjdk.jmh.util.Multiset: long count(java.lang.Object)>(v);
v = v * 1.0;
v = v / v;
specialinvoke v.<org.openjdk.jmh.profile.LinuxPerfNormProfiler$PerfResult: void <init>(java.lang.String,java.lang.String,double)>(v, "#/op", v);
interfaceinvoke v.<java.util.Collection: boolean add(java.lang.Object)>(v);
goto label;
label:
v = interfaceinvoke v.<org.openjdk.jmh.util.Multiset: long count(java.lang.Object)>("cycles");
v = interfaceinvoke v.<org.openjdk.jmh.util.Multiset: long count(java.lang.Object)>("instructions");
v = v cmp 0L;
if v == 0 goto label;
v = v cmp 0L;
if v == 0 goto label;
v = new org.openjdk.jmh.profile.LinuxPerfNormProfiler$PerfResult;
v = 1.0 * v;
v = v / v;
specialinvoke v.<org.openjdk.jmh.profile.LinuxPerfNormProfiler$PerfResult: void <init>(java.lang.String,java.lang.String,double)>("CPI", "clks/insn", v);
interfaceinvoke v.<java.util.Collection: boolean add(java.lang.Object)>(v);
v = new org.openjdk.jmh.profile.LinuxPerfNormProfiler$PerfResult;
v = 1.0 * v;
v = v / v;
specialinvoke v.<org.openjdk.jmh.profile.LinuxPerfNormProfiler$PerfResult: void <init>(java.lang.String,java.lang.String,double)>("IPC", "insns/clk", v);
interfaceinvoke v.<java.util.Collection: boolean add(java.lang.Object)>(v);
label:
virtualinvoke v.<java.io.BufferedReader: void close()>();
label:
virtualinvoke v.<java.io.FileReader: void close()>();
label:
return v;
label:
v = new org.openjdk.jmh.profile.LinuxPerfNormProfiler$PerfResult;
specialinvoke v.<org.openjdk.jmh.profile.LinuxPerfNormProfiler$PerfResult: void <init>(java.lang.String,java.lang.String,double)>("N/A", "", #NaN);
v = staticinvoke <java.util.Collections: java.util.Set singleton(java.lang.Object)>(v);
label:
virtualinvoke v.<java.io.BufferedReader: void close()>();
label:
virtualinvoke v.<java.io.FileReader: void close()>();
label:
return v;
label:
v := @caughtexception;
throw v;
label:
v := @caughtexception;
throw v;
label:
v := @caughtexception;
v = new java.lang.IllegalStateException;
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.Throwable)>(v);
throw v;
catch java.text.ParseException from label to label with label;
catch java.text.ParseException from label to label with label;
catch java.text.ParseException from label to label with label;
catch java.text.ParseException from label to label with label;
catch java.text.ParseException from label to label with label;
catch java.text.ParseException from label to label with label;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
catch java.io.IOException from label to label with label;
catch java.io.IOException from label to label with label;
}
static void <clinit>()
{
java.lang.String[] v;
v = newarray (java.lang.String)[22];
v[0] = "cycles";
v[1] = "instructions";
v[2] = "branches";
v[3] = "branch-misses";
v[4] = "L1-dcache-loads";
v[5] = "L1-dcache-load-misses";
v[6] = "L1-dcache-stores";
v[7] = "L1-dcache-store-misses";
v[8] = "L1-icache-loads";
v[9] = "L1-icache-load-misses";
v[10] = "LLC-loads";
v[11] = "LLC-load-misses";
v[12] = "LLC-stores";
v[13] = "LLC-store-misses";
v[14] = "dTLB-loads";
v[15] = "dTLB-load-misses";
v[16] = "dTLB-stores";
v[17] = "dTLB-store-misses";
v[18] = "iTLB-loads";
v[19] = "iTLB-load-misses";
v[20] = "stalled-cycles-frontend";
v[21] = "stalled-cycles-backend";
<org.openjdk.jmh.profile.LinuxPerfNormProfiler: java.lang.String[] interestingEvents> = v;
return;
}
}