public class org.openjdk.jmh.profile.WinPerfAsmProfiler extends org.openjdk.jmh.profile.AbstractPerfAsmProfiler
{
private static final java.lang.String MSG_UNABLE_START;
private static final java.lang.String MSG_UNABLE_STOP;
private final java.lang.String xperfProviders;
private final java.lang.String symbolDir;
private final java.lang.String path;
private volatile java.lang.String pid;
private joptsimple.OptionSpec optXperfDir;
private joptsimple.OptionSpec optXperfProviders;
private joptsimple.OptionSpec optSymbolDir;
static final boolean $assertionsDisabled;
public void <init>(java.lang.String) throws org.openjdk.jmh.profile.ProfilerException
{
java.lang.String[] v, v, v;
joptsimple.OptionException v;
java.lang.String v, v, v, v, v, v, v, v;
boolean v, v, v;
joptsimple.OptionSet v, v, v;
joptsimple.OptionSpec v, v, v;
org.openjdk.jmh.profile.ProfilerException v, v, v;
org.openjdk.jmh.profile.WinPerfAsmProfiler v;
java.util.Collection v, v;
char v;
java.lang.Object v, v, v;
v := @this: org.openjdk.jmh.profile.WinPerfAsmProfiler;
v := @parameter: java.lang.String;
v = newarray (java.lang.String)[1];
v[0] = "SampledProfile";
specialinvoke v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler: void <init>(java.lang.String,java.lang.String[])>(v, v);
label:
v = v.<org.openjdk.jmh.profile.WinPerfAsmProfiler: joptsimple.OptionSet set>;
v = v.<org.openjdk.jmh.profile.WinPerfAsmProfiler: joptsimple.OptionSpec optXperfDir>;
v = virtualinvoke v.<joptsimple.OptionSet: java.lang.Object valueOf(joptsimple.OptionSpec)>(v);
v = v.<org.openjdk.jmh.profile.WinPerfAsmProfiler: joptsimple.OptionSet set>;
v = v.<org.openjdk.jmh.profile.WinPerfAsmProfiler: joptsimple.OptionSpec optXperfProviders>;
v = virtualinvoke v.<joptsimple.OptionSet: java.lang.Object valueOf(joptsimple.OptionSpec)>(v);
v.<org.openjdk.jmh.profile.WinPerfAsmProfiler: java.lang.String xperfProviders> = v;
v = v.<org.openjdk.jmh.profile.WinPerfAsmProfiler: joptsimple.OptionSet set>;
v = v.<org.openjdk.jmh.profile.WinPerfAsmProfiler: joptsimple.OptionSpec optSymbolDir>;
v = virtualinvoke v.<joptsimple.OptionSet: java.lang.Object valueOf(joptsimple.OptionSpec)>(v);
v.<org.openjdk.jmh.profile.WinPerfAsmProfiler: java.lang.String symbolDir> = v;
if v == null goto label;
v = virtualinvoke v.<java.lang.String: boolean isEmpty()>();
if v != 0 goto label;
v = <java.io.File: char separatorChar>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,char)>(v, v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("\u0001\u0001xperf");
goto label;
label:
v = "xperf";
label:
v.<org.openjdk.jmh.profile.WinPerfAsmProfiler: java.lang.String path> = 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)[3];
v = v.<org.openjdk.jmh.profile.WinPerfAsmProfiler: java.lang.String path>;
v[0] = v;
v[1] = "-on";
v = v.<org.openjdk.jmh.profile.WinPerfAsmProfiler: java.lang.String xperfProviders>;
v[2] = v;
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;
interfaceinvoke v.<java.util.Collection: boolean add(java.lang.Object)>("Unable to start the profiler. Please try running JMH as Administrator.");
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)[2];
v = v.<org.openjdk.jmh.profile.WinPerfAsmProfiler: java.lang.String path>;
v[0] = v;
v[1] = "-stop";
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;
interfaceinvoke v.<java.util.Collection: boolean add(java.lang.Object)>("Unable to stop the profiler. Please try running JMH as Administrator.");
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:
return;
catch joptsimple.OptionException from label to label with label;
}
protected void addMyOptions(joptsimple.OptionParser)
{
java.lang.String[] v;
joptsimple.OptionParser v;
org.openjdk.jmh.profile.WinPerfAsmProfiler v;
joptsimple.ArgumentAcceptingOptionSpec v, v, v, v, v, v, v, v, v, v;
joptsimple.OptionSpecBuilder v, v, v;
v := @this: org.openjdk.jmh.profile.WinPerfAsmProfiler;
v := @parameter: joptsimple.OptionParser;
v = virtualinvoke v.<joptsimple.OptionParser: joptsimple.OptionSpecBuilder accepts(java.lang.String,java.lang.String)>("xperf.dir", "Path to \"xperf\" installation directory. Empty by default, so that xperf is expected to be in PATH.");
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 describedAs(java.lang.String)>("path");
v.<org.openjdk.jmh.profile.WinPerfAsmProfiler: joptsimple.OptionSpec optXperfDir> = v;
v = virtualinvoke v.<joptsimple.OptionParser: joptsimple.OptionSpecBuilder accepts(java.lang.String,java.lang.String)>("xperf.providers", "xperf providers to use.");
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 describedAs(java.lang.String)>("string");
v = newarray (java.lang.String)[0];
v = virtualinvoke v.<joptsimple.ArgumentAcceptingOptionSpec: joptsimple.ArgumentAcceptingOptionSpec defaultsTo(java.lang.Object,java.lang.Object[])>("loader+proc_thread+profile", v);
v.<org.openjdk.jmh.profile.WinPerfAsmProfiler: joptsimple.OptionSpec optXperfProviders> = v;
v = virtualinvoke v.<joptsimple.OptionParser: joptsimple.OptionSpecBuilder accepts(java.lang.String,java.lang.String)>("symbol.dir", "Path to a directory with jvm.dll symbols (optional).");
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 describedAs(java.lang.String)>("string");
v.<org.openjdk.jmh.profile.WinPerfAsmProfiler: joptsimple.OptionSpec optSymbolDir> = v;
return;
}
public java.util.Collection addJVMInvokeOptions(org.openjdk.jmh.infra.BenchmarkParams)
{
java.util.List v;
org.openjdk.jmh.infra.BenchmarkParams v;
org.openjdk.jmh.profile.WinPerfAsmProfiler v;
v := @this: org.openjdk.jmh.profile.WinPerfAsmProfiler;
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)
{
java.lang.IllegalStateException v;
org.openjdk.jmh.profile.WinPerfAsmProfiler v;
java.util.Collection v;
java.lang.String[] v;
org.openjdk.jmh.infra.BenchmarkParams v;
java.lang.String v, v, v;
boolean v;
v := @this: org.openjdk.jmh.profile.WinPerfAsmProfiler;
v := @parameter: org.openjdk.jmh.infra.BenchmarkParams;
v = newarray (java.lang.String)[3];
v = v.<org.openjdk.jmh.profile.WinPerfAsmProfiler: java.lang.String path>;
v[0] = v;
v[1] = "-on";
v = v.<org.openjdk.jmh.profile.WinPerfAsmProfiler: java.lang.String xperfProviders>;
v[2] = v;
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;
interfaceinvoke v.<java.util.Collection: boolean add(java.lang.Object)>("Unable to start the profiler. Please try running JMH as Administrator.");
v = new java.lang.IllegalStateException;
v = virtualinvoke v.<java.lang.Object: java.lang.String toString()>();
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>(v);
throw v;
label:
return;
}
public java.util.Collection afterTrial(org.openjdk.jmh.results.BenchmarkResult, long, java.io.File, java.io.File)
{
java.lang.IllegalStateException v;
org.openjdk.jmh.profile.WinPerfAsmProfiler v;
java.util.Collection v;
long v;
org.openjdk.jmh.results.BenchmarkResult v;
java.io.File v, v;
byte v;
java.lang.String v;
v := @this: org.openjdk.jmh.profile.WinPerfAsmProfiler;
v := @parameter: org.openjdk.jmh.results.BenchmarkResult;
v := @parameter: long;
v := @parameter: java.io.File;
v := @parameter: java.io.File;
v = v cmp 0L;
if v != 0 goto label;
v = new java.lang.IllegalStateException;
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>("perfasm needs the forked VM PID, but it is not initialized.");
throw v;
label:
v = staticinvoke <java.lang.String: java.lang.String valueOf(long)>(v);
v.<org.openjdk.jmh.profile.WinPerfAsmProfiler: java.lang.String pid> = v;
v = specialinvoke v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler: java.util.Collection afterTrial(org.openjdk.jmh.results.BenchmarkResult,long,java.io.File,java.io.File)>(v, v, v, v);
return v;
}
public java.lang.String getDescription()
{
org.openjdk.jmh.profile.WinPerfAsmProfiler v;
v := @this: org.openjdk.jmh.profile.WinPerfAsmProfiler;
return "Windows xperf + PrintAssembly Profiler";
}
protected void parseEvents()
{
java.lang.IllegalStateException v, v;
java.lang.String[] v, v;
org.openjdk.jmh.util.InputStreamDrainer v, v;
java.util.Map v;
java.lang.ProcessBuilder v;
java.lang.String v, v, v, v, v, v, v;
boolean v;
java.lang.Process v;
org.openjdk.jmh.profile.WinPerfAsmProfiler v;
java.util.Collection v;
java.io.FileOutputStream v;
org.openjdk.jmh.util.TempFile v, v, v;
java.io.File v;
java.lang.Exception v;
java.io.InputStream v, v;
v := @this: org.openjdk.jmh.profile.WinPerfAsmProfiler;
v = newarray (java.lang.String)[3];
v = v.<org.openjdk.jmh.profile.WinPerfAsmProfiler: java.lang.String path>;
v[0] = v;
v[1] = "-d";
v = v.<org.openjdk.jmh.profile.WinPerfAsmProfiler: org.openjdk.jmh.util.TempFile perfBinData>;
v = virtualinvoke v.<org.openjdk.jmh.util.TempFile: java.lang.String getAbsolutePath()>();
v[2] = v;
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;
interfaceinvoke v.<java.util.Collection: boolean add(java.lang.Object)>("Unable to stop the profiler. Please try running JMH as Administrator.");
v = new java.lang.IllegalStateException;
v = virtualinvoke v.<java.lang.Object: java.lang.String toString()>();
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>(v);
throw v;
label:
v = new java.lang.ProcessBuilder;
v = newarray (java.lang.String)[6];
v = v.<org.openjdk.jmh.profile.WinPerfAsmProfiler: java.lang.String path>;
v[0] = v;
v[1] = "-i";
v = v.<org.openjdk.jmh.profile.WinPerfAsmProfiler: org.openjdk.jmh.util.TempFile perfBinData>;
v = virtualinvoke v.<org.openjdk.jmh.util.TempFile: java.lang.String getAbsolutePath()>();
v[2] = v;
v[3] = "-symbols";
v[4] = "-a";
v[5] = "dumper";
specialinvoke v.<java.lang.ProcessBuilder: void <init>(java.lang.String[])>(v);
v = v.<org.openjdk.jmh.profile.WinPerfAsmProfiler: java.lang.String symbolDir>;
if v == null goto label;
v = virtualinvoke v.<java.lang.ProcessBuilder: java.util.Map environment()>();
v = v.<org.openjdk.jmh.profile.WinPerfAsmProfiler: java.lang.String symbolDir>;
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>("_NT_SYMBOL_PATH", v);
label:
v = virtualinvoke v.<java.lang.ProcessBuilder: java.lang.Process start()>();
v = new java.io.FileOutputStream;
v = v.<org.openjdk.jmh.profile.WinPerfAsmProfiler: org.openjdk.jmh.util.TempFile perfParsedData>;
v = virtualinvoke v.<org.openjdk.jmh.util.TempFile: java.io.File file()>();
specialinvoke v.<java.io.FileOutputStream: void <init>(java.io.File)>(v);
v = new org.openjdk.jmh.util.InputStreamDrainer;
v = virtualinvoke v.<java.lang.Process: java.io.InputStream getErrorStream()>();
specialinvoke v.<org.openjdk.jmh.util.InputStreamDrainer: void <init>(java.io.InputStream,java.io.OutputStream)>(v, v);
v = new org.openjdk.jmh.util.InputStreamDrainer;
v = virtualinvoke v.<java.lang.Process: java.io.InputStream getInputStream()>();
specialinvoke v.<org.openjdk.jmh.util.InputStreamDrainer: void <init>(java.io.InputStream,java.io.OutputStream)>(v, v);
virtualinvoke v.<org.openjdk.jmh.util.InputStreamDrainer: void start()>();
virtualinvoke v.<org.openjdk.jmh.util.InputStreamDrainer: void start()>();
virtualinvoke v.<java.lang.Process: int waitFor()>();
virtualinvoke v.<org.openjdk.jmh.util.InputStreamDrainer: void join()>();
virtualinvoke v.<org.openjdk.jmh.util.InputStreamDrainer: void join()>();
label:
goto label;
label:
v := @caughtexception;
v = new java.lang.IllegalStateException;
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.Throwable)>(v);
throw v;
label:
return;
catch java.io.IOException from label to label with label;
catch java.lang.InterruptedException from label to label with label;
}
protected org.openjdk.jmh.profile.AbstractPerfAsmProfiler$PerfEvents readEvents(double, double)
{
org.openjdk.jmh.util.IntervalMap v;
byte v, v;
java.lang.Long v, v;
org.openjdk.jmh.profile.AbstractPerfAsmProfiler$MethodDesc v;
java.lang.Throwable v, v;
long v, v, v;
java.lang.AssertionError v;
java.util.LinkedHashMap v;
java.lang.String v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
org.openjdk.jmh.profile.WinPerfAsmProfiler v;
java.io.IOException v;
java.lang.NumberFormatException v;
java.lang.RuntimeException v;
org.openjdk.jmh.util.TempFile v;
java.io.File v;
java.lang.Comparable v, v;
java.io.BufferedReader v;
org.openjdk.jmh.profile.AbstractPerfAsmProfiler$PerfEvents v;
org.openjdk.jmh.util.HashMultimap v;
org.openjdk.jmh.util.Deduplicator v;
boolean v, v, v, v, v;
org.openjdk.jmh.util.TreeMultiset v;
java.util.Collection v, v;
java.util.List v, v, v;
java.lang.String[] v;
int v, v, v, v, v, v, v, v;
double v, v, v, v, v, v, v;
java.util.Iterator v, v;
java.lang.Object v, v, v, v, v;
java.io.FileReader v;
v := @this: org.openjdk.jmh.profile.WinPerfAsmProfiler;
v := @parameter: double;
v := @parameter: double;
v = v / 1000.0;
v = v + v;
v = v / 1000.0;
label:
v = new java.io.FileReader;
v = v.<org.openjdk.jmh.profile.WinPerfAsmProfiler: org.openjdk.jmh.util.TempFile perfParsedData>;
v = virtualinvoke v.<org.openjdk.jmh.util.TempFile: java.io.File file()>();
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 = new org.openjdk.jmh.util.Deduplicator;
specialinvoke v.<org.openjdk.jmh.util.Deduplicator: void <init>()>();
v = new org.openjdk.jmh.util.HashMultimap;
specialinvoke v.<org.openjdk.jmh.util.HashMultimap: void <init>()>();
v = new java.util.LinkedHashMap;
specialinvoke v.<java.util.LinkedHashMap: void <init>()>();
v = v.<org.openjdk.jmh.profile.WinPerfAsmProfiler: java.util.List requestedEventNames>;
v = interfaceinvoke v.<java.util.List: 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.util.TreeMultiset;
specialinvoke v.<org.openjdk.jmh.util.TreeMultiset: void <init>()>();
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
goto label;
label:
v = virtualinvoke v.<java.io.BufferedReader: java.lang.String readLine()>();
if v == null goto label;
v = virtualinvoke v.<java.lang.String: java.lang.String trim()>();
v = virtualinvoke v.<java.lang.String: java.lang.String[] split(java.lang.String)>(",\\s+");
v = v[0];
v = virtualinvoke v.<java.lang.String: java.lang.String trim()>();
v = v.<org.openjdk.jmh.profile.WinPerfAsmProfiler: java.util.List requestedEventNames>;
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(0);
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
v = v[2];
v = virtualinvoke v.<java.lang.String: java.lang.String trim()>();
v = virtualinvoke v.<java.lang.String: int indexOf(java.lang.String)>("(");
v = virtualinvoke v.<java.lang.String: int indexOf(java.lang.String)>(")");
v = (int) -1;
if v == v goto label;
v = (int) -1;
if v == v goto label;
if v < v goto label;
v = v + 1;
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int,int)>(v, v);
v = virtualinvoke v.<java.lang.String: java.lang.String trim()>();
v = v.<org.openjdk.jmh.profile.WinPerfAsmProfiler: java.lang.String pid>;
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
v = v[1];
v = virtualinvoke v.<java.lang.String: java.lang.String trim()>();
v = staticinvoke <java.lang.Double: double parseDouble(java.lang.String)>(v);
v = v / 1000000.0;
v = v cmpg v;
if v < 0 goto label;
v = v cmpl v;
if v > 0 goto label;
v = v[4];
v = virtualinvoke v.<java.lang.String: java.lang.String trim()>();
v = virtualinvoke v.<java.lang.String: java.lang.String replace(java.lang.CharSequence,java.lang.CharSequence)>("0x", "");
v = v[7];
v = virtualinvoke v.<java.lang.String: java.lang.String trim()>();
v = virtualinvoke v.<java.lang.String: int indexOf(int)>(33);
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int,int)>(0, v);
v = virtualinvoke v.<java.lang.String: int indexOf(int)>(33);
v = v + 1;
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int)>(v);
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
v = <org.openjdk.jmh.profile.WinPerfAsmProfiler: boolean $assertionsDisabled>;
if v != 0 goto label;
if v != null goto label;
v = new java.lang.AssertionError;
specialinvoke v.<java.lang.AssertionError: void <init>()>();
throw v;
label:
v = staticinvoke <java.lang.Long: long parseLong(java.lang.String,int)>(v, 16);
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
interfaceinvoke v.<org.openjdk.jmh.util.Multiset: void add(java.lang.Object)>(v);
v = staticinvoke <org.openjdk.jmh.profile.AbstractPerfAsmProfiler$MethodDesc: org.openjdk.jmh.profile.AbstractPerfAsmProfiler$MethodDesc nativeMethod(java.lang.String,java.lang.String)>(v, v);
v = virtualinvoke v.<org.openjdk.jmh.util.Deduplicator: java.lang.Object dedup(java.lang.Object)>(v);
interfaceinvoke v.<org.openjdk.jmh.util.Multimap: void put(java.lang.Object,java.lang.Object)>(v, v);
label:
goto label;
label:
v := @caughtexception;
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(0L);
interfaceinvoke v.<org.openjdk.jmh.util.Multiset: void add(java.lang.Object)>(v);
goto label;
label:
v = new org.openjdk.jmh.util.IntervalMap;
specialinvoke v.<org.openjdk.jmh.util.IntervalMap: void <init>()>();
v = interfaceinvoke v.<org.openjdk.jmh.util.Multimap: 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 = interfaceinvoke v.<org.openjdk.jmh.util.Multimap: java.util.Collection get(java.lang.Object)>(v);
v = staticinvoke <org.openjdk.jmh.util.Utils: java.lang.Comparable min(java.util.Collection)>(v);
v = virtualinvoke v.<java.lang.Long: long longValue()>();
v = staticinvoke <org.openjdk.jmh.util.Utils: java.lang.Comparable max(java.util.Collection)>(v);
v = virtualinvoke v.<java.lang.Long: long longValue()>();
virtualinvoke v.<org.openjdk.jmh.util.IntervalMap: void add(java.lang.Object,long,long)>(v, v, v);
goto label;
label:
v = new org.openjdk.jmh.profile.AbstractPerfAsmProfiler$PerfEvents;
v = v.<org.openjdk.jmh.profile.WinPerfAsmProfiler: java.util.List requestedEventNames>;
specialinvoke v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler$PerfEvents: void <init>(java.util.Collection,java.util.Map,org.openjdk.jmh.util.IntervalMap)>(v, v, 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.RuntimeException;
specialinvoke v.<java.lang.RuntimeException: void <init>(java.lang.Throwable)>(v);
throw v;
catch java.lang.NumberFormatException 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;
}
protected java.lang.String perfBinaryExtension()
{
org.openjdk.jmh.profile.WinPerfAsmProfiler v;
v := @this: org.openjdk.jmh.profile.WinPerfAsmProfiler;
return ".etl";
}
static void <clinit>()
{
java.lang.Class v;
boolean v, v;
v = class "Lorg/openjdk/jmh/profile/WinPerfAsmProfiler;";
v = virtualinvoke v.<java.lang.Class: boolean desiredAssertionStatus()>();
if v != 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
<org.openjdk.jmh.profile.WinPerfAsmProfiler: boolean $assertionsDisabled> = v;
return;
}
}