public abstract class org.openjdk.jmh.profile.AbstractPerfAsmProfiler extends java.lang.Object implements org.openjdk.jmh.profile.ExternalProfiler
{
protected final java.util.List requestedEventNames;
private final double regionRateThreshold;
private final int regionShowTop;
private final int regionTooBigThreshold;
private final int printMargin;
private final int mergeMargin;
private final boolean mergeMethods;
private final int delayMsec;
private final int lengthMsec;
private final boolean skipAssembly;
private final boolean skipInterpreter;
private final boolean skipVMStubs;
private final boolean savePerfOutput;
private final java.lang.String savePerfOutputTo;
private final java.lang.String savePerfOutputToFile;
private final boolean savePerfBin;
private final java.lang.String savePerfBinTo;
private final java.lang.String savePerfBinFile;
private final boolean saveLog;
private final java.lang.String saveLogTo;
private final java.lang.String saveLogToFile;
private final boolean printCompilationInfo;
private final boolean intelSyntax;
protected final org.openjdk.jmh.util.TempFile hsLog;
protected final org.openjdk.jmh.util.TempFile perfBinData;
protected final org.openjdk.jmh.util.TempFile perfParsedData;
protected final joptsimple.OptionSet set;
private final boolean drawIntraJumps;
private final boolean drawInterJumps;
private final org.openjdk.jmh.profile.AbstractPerfAsmProfiler$ShowCounts showCounts;
protected transient void <init>(java.lang.String, java.lang.String[]) throws org.openjdk.jmh.profile.ProfilerException
{
java.lang.Integer v, v, v, v, v, v;
java.lang.Boolean[] v, v, v, v, v, v, v, v, v, v, v;
java.lang.Integer[] v, v, v, v, v, v;
joptsimple.OptionSet v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
int v, v, v, v, v, v, v, v;
java.lang.Boolean v, v, v, v, v, v, v, v, v, v, v;
org.openjdk.jmh.profile.AbstractPerfAsmProfiler$ShowCounts v, v, v, v, v;
org.openjdk.jmh.profile.ProfilerException v, v;
joptsimple.OptionSpecBuilder v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
java.lang.String v, v, v, v;
java.lang.RuntimeException v;
boolean v, v, v, v, v, v, v, v, v, v, v;
java.util.List v;
double v;
java.lang.Double[] v;
java.io.IOException v;
org.openjdk.jmh.profile.ProfilerOptionFormatter v;
joptsimple.OptionParser v;
java.lang.Object v, 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.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, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
java.lang.Double v;
org.openjdk.jmh.util.TempFile v, v, v;
java.lang.String[] v, v, v, v, v;
org.openjdk.jmh.profile.AbstractPerfAsmProfiler v;
v := @this: org.openjdk.jmh.profile.AbstractPerfAsmProfiler;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String[];
specialinvoke v.<java.lang.Object: void <init>()>();
label:
v = staticinvoke <org.openjdk.jmh.util.FileUtils: org.openjdk.jmh.util.TempFile weakTempFile(java.lang.String)>("hslog");
v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler: org.openjdk.jmh.util.TempFile hsLog> = v;
v = staticinvoke <org.openjdk.jmh.util.FileUtils: org.openjdk.jmh.util.TempFile weakTempFile(java.lang.String)>("perfbin");
v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler: org.openjdk.jmh.util.TempFile perfBinData> = v;
v = staticinvoke <org.openjdk.jmh.util.FileUtils: org.openjdk.jmh.util.TempFile weakTempFile(java.lang.String)>("perfparsed");
v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler: org.openjdk.jmh.util.TempFile perfParsedData> = v;
label:
goto label;
label:
v := @caughtexception;
v = new org.openjdk.jmh.profile.ProfilerException;
specialinvoke v.<org.openjdk.jmh.profile.ProfilerException: void <init>(java.lang.Exception)>(v);
throw v;
label:
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)>("perfasm");
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.ArgumentAcceptingOptionSpec: joptsimple.ArgumentAcceptingOptionSpec defaultsTo(java.lang.Object[])>(v);
v = virtualinvoke v.<joptsimple.OptionParser: joptsimple.OptionSpecBuilder accepts(java.lang.String,java.lang.String)>("hotThreshold", "Cutoff threshold for hot regions. The regions with event count over threshold would be expanded with detailed disassembly.");
v = virtualinvoke v.<joptsimple.OptionSpecBuilder: joptsimple.ArgumentAcceptingOptionSpec withRequiredArg()>();
v = virtualinvoke v.<joptsimple.ArgumentAcceptingOptionSpec: joptsimple.ArgumentAcceptingOptionSpec ofType(java.lang.Class)>(class "Ljava/lang/Double;");
v = virtualinvoke v.<joptsimple.ArgumentAcceptingOptionSpec: joptsimple.ArgumentAcceptingOptionSpec describedAs(java.lang.String)>("rate");
v = staticinvoke <java.lang.Double: java.lang.Double valueOf(double)>(0.1);
v = newarray (java.lang.Double)[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)>("top", "Show this number of top hottest code regions.");
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)>("#");
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(20);
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)>("tooBigThreshold", "Cutoff threshold for large region. The region containing more than this number of lines would be truncated.");
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)>("lines");
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(1000);
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)>("printMargin", "Print margin. How many \"context\" lines without counters to show in each region.");
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)>("lines");
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(10);
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)>("mergeMargin", "Merge margin. The regions separated by less than the margin are merged.");
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)>("lines");
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(32);
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)>("mergeMethods", "Merge all regions from the same method");
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 = 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)>("skipAsm", "Skip -XX:+PrintAssembly instrumentation.");
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 = virtualinvoke v.<joptsimple.OptionParser: joptsimple.OptionSpecBuilder accepts(java.lang.String,java.lang.String)>("skipInterpreter", "Skip printing out interpreter stubs. This may improve the parser performance at the expense of missing the resolution and disassembly of interpreter regions.");
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 = virtualinvoke v.<joptsimple.OptionParser: joptsimple.OptionSpecBuilder accepts(java.lang.String,java.lang.String)>("skipVMStubs", "Skip printing out VM stubs. This may improve the parser performance at the expense of missing the resolution and disassembly of VM stub regions.");
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 = virtualinvoke v.<joptsimple.OptionParser: joptsimple.OptionSpecBuilder accepts(java.lang.String,java.lang.String)>("savePerf", "Save parsed perf output to file. Use this for debugging.");
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 = virtualinvoke v.<joptsimple.OptionParser: joptsimple.OptionSpecBuilder accepts(java.lang.String,java.lang.String)>("savePerfTo", "Override the parsed perf output log location. This will use the unique file name per test. Use this for debugging.");
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)>("dir");
v = newarray (java.lang.String)[0];
v = virtualinvoke v.<joptsimple.ArgumentAcceptingOptionSpec: joptsimple.ArgumentAcceptingOptionSpec defaultsTo(java.lang.Object,java.lang.Object[])>(".", v);
v = virtualinvoke v.<joptsimple.OptionParser: joptsimple.OptionSpecBuilder accepts(java.lang.String,java.lang.String)>("savePerfToFile", "Override the perf output log filename. Use this for debugging.");
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)>("file");
v = virtualinvoke v.<joptsimple.OptionParser: joptsimple.OptionSpecBuilder accepts(java.lang.String,java.lang.String)>("savePerfBin", "Save binary perf data to file. Use this for debugging.");
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 = virtualinvoke v.<joptsimple.OptionParser: joptsimple.OptionSpecBuilder accepts(java.lang.String,java.lang.String)>("savePerfBinTo", "Override the binary perf data location. This will use the unique file name per test. Use this for debugging.");
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)>("dir");
v = newarray (java.lang.String)[0];
v = virtualinvoke v.<joptsimple.ArgumentAcceptingOptionSpec: joptsimple.ArgumentAcceptingOptionSpec defaultsTo(java.lang.Object,java.lang.Object[])>(".", v);
v = virtualinvoke v.<joptsimple.OptionParser: joptsimple.OptionSpecBuilder accepts(java.lang.String,java.lang.String)>("savePerfBinToFile", "Override the perf binary data filename. Use this for debugging.");
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)>("file");
v = virtualinvoke v.<joptsimple.OptionParser: joptsimple.OptionSpecBuilder accepts(java.lang.String,java.lang.String)>("saveLog", "Save annotated Hotspot log to file.");
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 = virtualinvoke v.<joptsimple.OptionParser: joptsimple.OptionSpecBuilder accepts(java.lang.String,java.lang.String)>("saveLogTo", "Override the annotated Hotspot log location. This will use the unique file name per test.");
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)>("dir");
v = newarray (java.lang.String)[0];
v = virtualinvoke v.<joptsimple.ArgumentAcceptingOptionSpec: joptsimple.ArgumentAcceptingOptionSpec defaultsTo(java.lang.Object,java.lang.Object[])>(".", v);
v = virtualinvoke v.<joptsimple.OptionParser: joptsimple.OptionSpecBuilder accepts(java.lang.String,java.lang.String)>("saveLogToFile", "Override the annotated Hotspot log filename.");
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)>("file");
v = virtualinvoke v.<joptsimple.OptionParser: joptsimple.OptionSpecBuilder accepts(java.lang.String,java.lang.String)>("printCompilationInfo", "Print the collateral compilation information. Enabling this might corrupt the assembly output, see https://bugs.openjdk.java.net/browse/CODETOOLS-7901102.");
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 = virtualinvoke v.<joptsimple.OptionParser: joptsimple.OptionSpecBuilder accepts(java.lang.String,java.lang.String)>("intelSyntax", "Should perfasm use intel syntax?");
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)>("boolean");
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 = virtualinvoke v.<joptsimple.OptionParser: joptsimple.OptionSpecBuilder accepts(java.lang.String,java.lang.String)>("drawIntraJumps", "Should perfasm draw jump arrows with the region?");
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)>("boolean");
v = staticinvoke <java.lang.Boolean: java.lang.Boolean valueOf(boolean)>(1);
v = newarray (java.lang.Boolean)[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)>("drawInterJumps", "Should perfasm draw jump arrows out of the region?");
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)>("boolean");
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 = <org.openjdk.jmh.profile.AbstractPerfAsmProfiler$ShowCounts: org.openjdk.jmh.profile.AbstractPerfAsmProfiler$ShowCounts raw>;
v = <org.openjdk.jmh.profile.AbstractPerfAsmProfiler$ShowCounts: org.openjdk.jmh.profile.AbstractPerfAsmProfiler$ShowCounts norm>;
v = <org.openjdk.jmh.profile.AbstractPerfAsmProfiler$ShowCounts: org.openjdk.jmh.profile.AbstractPerfAsmProfiler$ShowCounts percent_total>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (org.openjdk.jmh.profile.AbstractPerfAsmProfiler$ShowCounts,org.openjdk.jmh.profile.AbstractPerfAsmProfiler$ShowCounts,org.openjdk.jmh.profile.AbstractPerfAsmProfiler$ShowCounts)>(v, 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[])>("How should perfasm show the event counts: \u (unaltered), \u (normalized to @Benchmark calls), \u (percent of total events).");
v = virtualinvoke v.<joptsimple.OptionParser: joptsimple.OptionSpecBuilder accepts(java.lang.String,java.lang.String)>("showCounts", v);
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)>("type");
v = <org.openjdk.jmh.profile.AbstractPerfAsmProfiler$ShowCounts: org.openjdk.jmh.profile.AbstractPerfAsmProfiler$ShowCounts percent_total>;
v = virtualinvoke v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler$ShowCounts: java.lang.String toString()>();
v = newarray (java.lang.String)[0];
v = virtualinvoke v.<joptsimple.ArgumentAcceptingOptionSpec: joptsimple.ArgumentAcceptingOptionSpec defaultsTo(java.lang.Object,java.lang.Object[])>(v, v);
virtualinvoke v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler: void addMyOptions(joptsimple.OptionParser)>(v);
v = staticinvoke <org.openjdk.jmh.profile.ProfilerUtils: joptsimple.OptionSet parseInitLine(java.lang.String,joptsimple.OptionParser)>(v, v);
v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler: joptsimple.OptionSet set> = v;
label:
v = v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler: joptsimple.OptionSet set>;
v = virtualinvoke v.<joptsimple.OptionSet: java.util.List valuesOf(joptsimple.OptionSpec)>(v);
v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler: java.util.List requestedEventNames> = v;
v = v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler: joptsimple.OptionSet set>;
v = virtualinvoke v.<joptsimple.OptionSet: java.lang.Object valueOf(joptsimple.OptionSpec)>(v);
v = virtualinvoke v.<java.lang.Double: double doubleValue()>();
v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler: double regionRateThreshold> = v;
v = v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler: joptsimple.OptionSet set>;
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.AbstractPerfAsmProfiler: int regionShowTop> = v;
v = v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler: joptsimple.OptionSet set>;
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.AbstractPerfAsmProfiler: int regionTooBigThreshold> = v;
v = v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler: joptsimple.OptionSet set>;
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.AbstractPerfAsmProfiler: int printMargin> = v;
v = v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler: joptsimple.OptionSet set>;
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.AbstractPerfAsmProfiler: int mergeMargin> = v;
v = v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler: joptsimple.OptionSet set>;
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.AbstractPerfAsmProfiler: boolean mergeMethods> = v;
v = v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler: joptsimple.OptionSet set>;
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.AbstractPerfAsmProfiler: int delayMsec> = v;
v = v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler: joptsimple.OptionSet set>;
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.AbstractPerfAsmProfiler: int lengthMsec> = v;
v = v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler: joptsimple.OptionSet set>;
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.AbstractPerfAsmProfiler: boolean skipAssembly> = v;
v = v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler: joptsimple.OptionSet set>;
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.AbstractPerfAsmProfiler: boolean skipInterpreter> = v;
v = v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler: joptsimple.OptionSet set>;
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.AbstractPerfAsmProfiler: boolean skipVMStubs> = v;
v = v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler: joptsimple.OptionSet set>;
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.AbstractPerfAsmProfiler: boolean savePerfOutput> = v;
v = v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler: joptsimple.OptionSet set>;
v = virtualinvoke v.<joptsimple.OptionSet: java.lang.Object valueOf(joptsimple.OptionSpec)>(v);
v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler: java.lang.String savePerfOutputTo> = v;
v = v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler: joptsimple.OptionSet set>;
v = virtualinvoke v.<joptsimple.OptionSet: java.lang.Object valueOf(joptsimple.OptionSpec)>(v);
v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler: java.lang.String savePerfOutputToFile> = v;
v = v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler: joptsimple.OptionSet set>;
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.AbstractPerfAsmProfiler: boolean savePerfBin> = v;
v = v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler: joptsimple.OptionSet set>;
v = virtualinvoke v.<joptsimple.OptionSet: java.lang.Object valueOf(joptsimple.OptionSpec)>(v);
v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler: java.lang.String savePerfBinTo> = v;
v = v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler: joptsimple.OptionSet set>;
v = virtualinvoke v.<joptsimple.OptionSet: java.lang.Object valueOf(joptsimple.OptionSpec)>(v);
v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler: java.lang.String savePerfBinFile> = v;
v = v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler: joptsimple.OptionSet set>;
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.AbstractPerfAsmProfiler: boolean saveLog> = v;
v = v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler: joptsimple.OptionSet set>;
v = virtualinvoke v.<joptsimple.OptionSet: java.lang.Object valueOf(joptsimple.OptionSpec)>(v);
v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler: java.lang.String saveLogTo> = v;
v = v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler: joptsimple.OptionSet set>;
v = virtualinvoke v.<joptsimple.OptionSet: java.lang.Object valueOf(joptsimple.OptionSpec)>(v);
v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler: java.lang.String saveLogToFile> = v;
v = v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler: joptsimple.OptionSet set>;
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.AbstractPerfAsmProfiler: boolean intelSyntax> = v;
v = v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler: joptsimple.OptionSet set>;
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.AbstractPerfAsmProfiler: boolean printCompilationInfo> = v;
v = v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler: joptsimple.OptionSet set>;
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.AbstractPerfAsmProfiler: boolean drawIntraJumps> = v;
v = v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler: joptsimple.OptionSet set>;
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.AbstractPerfAsmProfiler: boolean drawInterJumps> = v;
v = v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler: joptsimple.OptionSet set>;
v = virtualinvoke v.<joptsimple.OptionSet: java.lang.Object valueOf(joptsimple.OptionSpec)>(v);
v = staticinvoke <org.openjdk.jmh.profile.AbstractPerfAsmProfiler$ShowCounts: org.openjdk.jmh.profile.AbstractPerfAsmProfiler$ShowCounts valueOf(java.lang.String)>(v);
v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler: org.openjdk.jmh.profile.AbstractPerfAsmProfiler$ShowCounts showCounts> = v;
label:
goto label;
label:
v := @caughtexception;
v = new org.openjdk.jmh.profile.ProfilerException;
v = virtualinvoke v.<java.lang.RuntimeException: java.lang.String getMessage()>();
specialinvoke v.<org.openjdk.jmh.profile.ProfilerException: void <init>(java.lang.String)>(v);
throw v;
label:
return;
catch java.io.IOException from label to label with label;
catch joptsimple.OptionException from label to label with label;
catch java.lang.IllegalArgumentException from label to label with label;
}
protected abstract void addMyOptions(joptsimple.OptionParser);
public java.util.Collection addJVMOptions(org.openjdk.jmh.infra.BenchmarkParams)
{
java.lang.String[] v;
org.openjdk.jmh.util.TempFile v;
java.util.ArrayList v;
java.util.List v, v;
org.openjdk.jmh.profile.AbstractPerfAsmProfiler v;
org.openjdk.jmh.infra.BenchmarkParams v;
java.lang.String v, v;
boolean v, v, v, v, v;
v := @this: org.openjdk.jmh.profile.AbstractPerfAsmProfiler;
v := @parameter: org.openjdk.jmh.infra.BenchmarkParams;
v = v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler: boolean skipAssembly>;
if v != 0 goto label;
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>()>();
v = newarray (java.lang.String)[4];
v[0] = "-XX:+UnlockDiagnosticVMOptions";
v[1] = "-XX:+LogCompilation";
v = v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler: org.openjdk.jmh.util.TempFile hsLog>;
v = virtualinvoke v.<org.openjdk.jmh.util.TempFile: java.lang.String getAbsolutePath()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(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[])>("-XX:LogFile=\u0001");
v[2] = v;
v[3] = "-XX:+PrintAssembly";
v = staticinvoke <java.util.Arrays: java.util.List asList(java.lang.Object[])>(v);
interfaceinvoke v.<java.util.Collection: boolean addAll(java.util.Collection)>(v);
v = v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler: boolean skipInterpreter>;
if v != 0 goto label;
interfaceinvoke v.<java.util.Collection: boolean add(java.lang.Object)>("-XX:+PrintInterpreter");
label:
v = v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler: boolean skipVMStubs>;
if v != 0 goto label;
interfaceinvoke v.<java.util.Collection: boolean add(java.lang.Object)>("-XX:+PrintNMethods");
interfaceinvoke v.<java.util.Collection: boolean add(java.lang.Object)>("-XX:+PrintNativeNMethods");
interfaceinvoke v.<java.util.Collection: boolean add(java.lang.Object)>("-XX:+PrintSignatureHandlers");
interfaceinvoke v.<java.util.Collection: boolean add(java.lang.Object)>("-XX:+PrintAdapterHandlers");
interfaceinvoke v.<java.util.Collection: boolean add(java.lang.Object)>("-XX:+PrintStubCode");
label:
v = v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler: boolean printCompilationInfo>;
if v == 0 goto label;
interfaceinvoke v.<java.util.Collection: boolean add(java.lang.Object)>("-XX:+PrintCompilation");
interfaceinvoke v.<java.util.Collection: boolean add(java.lang.Object)>("-XX:+PrintInlining");
interfaceinvoke v.<java.util.Collection: boolean add(java.lang.Object)>("-XX:+TraceClassLoading");
label:
v = v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler: boolean intelSyntax>;
if v == 0 goto label;
interfaceinvoke v.<java.util.Collection: boolean add(java.lang.Object)>("-XX:PrintAssemblyOptions=intel");
label:
return v;
label:
v = staticinvoke <java.util.Collections: java.util.List emptyList()>();
return v;
}
public void beforeTrial(org.openjdk.jmh.infra.BenchmarkParams)
{
org.openjdk.jmh.profile.AbstractPerfAsmProfiler v;
org.openjdk.jmh.infra.BenchmarkParams v;
v := @this: org.openjdk.jmh.profile.AbstractPerfAsmProfiler;
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)
{
java.util.Set v;
long v;
org.openjdk.jmh.results.BenchmarkResult v;
org.openjdk.jmh.util.TempFile v, v, v;
java.io.File v, v;
org.openjdk.jmh.profile.AbstractPerfAsmProfiler v;
org.openjdk.jmh.results.TextResult v;
v := @this: org.openjdk.jmh.profile.AbstractPerfAsmProfiler;
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.AbstractPerfAsmProfiler: org.openjdk.jmh.results.TextResult processAssembly(org.openjdk.jmh.results.BenchmarkResult)>(v);
v = v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler: org.openjdk.jmh.util.TempFile hsLog>;
virtualinvoke v.<org.openjdk.jmh.util.TempFile: void delete()>();
v = v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler: org.openjdk.jmh.util.TempFile perfBinData>;
virtualinvoke v.<org.openjdk.jmh.util.TempFile: void delete()>();
v = v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler: org.openjdk.jmh.util.TempFile perfParsedData>;
virtualinvoke v.<org.openjdk.jmh.util.TempFile: void delete()>();
v = staticinvoke <java.util.Collections: java.util.Set singleton(java.lang.Object)>(v);
return v;
}
public boolean allowPrintOut()
{
org.openjdk.jmh.profile.AbstractPerfAsmProfiler v;
v := @this: org.openjdk.jmh.profile.AbstractPerfAsmProfiler;
return 0;
}
public boolean allowPrintErr()
{
org.openjdk.jmh.profile.AbstractPerfAsmProfiler v;
v := @this: org.openjdk.jmh.profile.AbstractPerfAsmProfiler;
return 0;
}
protected abstract void parseEvents();
protected abstract org.openjdk.jmh.profile.AbstractPerfAsmProfiler$PerfEvents readEvents(double, double);
protected java.util.List stripEventNames(java.util.List)
{
java.util.List v;
org.openjdk.jmh.profile.AbstractPerfAsmProfiler v;
v := @this: org.openjdk.jmh.profile.AbstractPerfAsmProfiler;
v := @parameter: java.util.List;
return v;
}
protected abstract java.lang.String perfBinaryExtension();
private org.openjdk.jmh.results.TextResult processAssembly(org.openjdk.jmh.results.BenchmarkResult)
{
java.lang.Integer v, v;
org.openjdk.jmh.util.Multiset v, v;
org.openjdk.jmh.results.BenchmarkResultMetaData v;
org.openjdk.jmh.results.TextResult v;
org.openjdk.jmh.infra.BenchmarkParams v, v, v;
org.openjdk.jmh.results.BenchmarkResult v;
int[] v, v;
int v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
org.openjdk.jmh.profile.AbstractPerfAsmProfiler$ShowCounts v, v, v, v, v;
org.openjdk.jmh.profile.AbstractPerfAsmProfiler$PrintContext v;
org.openjdk.jmh.profile.AbstractPerfAsmProfiler$MethodDesc v, v, v, v, v, v, v;
java.lang.String v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
java.io.StringWriter v;
org.openjdk.jmh.profile.AbstractPerfAsmProfiler$Assembly v;
org.openjdk.jmh.util.HashMultiset v, v, v, v, v, v;
boolean v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
java.util.List v, v, v, v, v, v, v;
java.util.SortedMap v;
double v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
byte v, v;
java.lang.Long v, v, v, v;
java.util.Map v, v, v;
java.lang.Object[] v, v, v, v, v, v, v, v, v;
long v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
java.io.IOException v, v, v;
java.util.Collection v, v, v;
java.util.HashSet v;
java.lang.Object v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
java.io.PrintWriter v, v;
java.util.Set v;
java.lang.Throwable v, v;
java.lang.Double v, v, v;
org.openjdk.jmh.profile.AbstractPerfAsmProfiler$1 v;
java.io.FileOutputStream v;
org.openjdk.jmh.util.TempFile v, v, v;
java.io.File v;
org.openjdk.jmh.profile.AbstractPerfAsmProfiler$PerfEvents v;
java.lang.IllegalStateException v, v;
java.util.HashMap v, v;
java.util.Iterator v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
org.openjdk.jmh.profile.AbstractPerfAsmProfiler v;
v := @this: org.openjdk.jmh.profile.AbstractPerfAsmProfiler;
v := @parameter: org.openjdk.jmh.results.BenchmarkResult;
virtualinvoke v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler: void parseEvents()>();
v = new java.io.StringWriter;
specialinvoke v.<java.io.StringWriter: void <init>()>();
v = new java.io.PrintWriter;
specialinvoke v.<java.io.PrintWriter: void <init>(java.io.Writer)>(v);
v = v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler: org.openjdk.jmh.util.TempFile hsLog>;
v = virtualinvoke v.<org.openjdk.jmh.util.TempFile: java.io.File file()>();
v = specialinvoke v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler: org.openjdk.jmh.profile.AbstractPerfAsmProfiler$Assembly readAssembly(java.io.File)>(v);
v = virtualinvoke v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler$Assembly: int size()>();
if v <= 0 goto label;
v = newarray (java.lang.Object)[1];
v = virtualinvoke v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler$Assembly: int size()>();
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
v[0] = v;
virtualinvoke v.<java.io.PrintWriter: java.io.PrintWriter printf(java.lang.String,java.lang.Object[])>("PrintAssembly processed: %d total address lines.%n", v);
goto label;
label:
v = v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler: boolean skipAssembly>;
if v == 0 goto label;
virtualinvoke v.<java.io.PrintWriter: void println()>();
virtualinvoke v.<java.io.PrintWriter: void println(java.lang.String)>("PrintAssembly skipped, Java methods are not resolved.");
virtualinvoke v.<java.io.PrintWriter: void println()>();
goto label;
label:
virtualinvoke v.<java.io.PrintWriter: void println()>();
virtualinvoke v.<java.io.PrintWriter: void println(java.lang.String)>("ERROR: No address lines detected in assembly capture. Make sure your JDK is properly configured to");
virtualinvoke v.<java.io.PrintWriter: void println(java.lang.String)>("print generated assembly. The most probable cause for this failure is that hsdis is not available,");
virtualinvoke v.<java.io.PrintWriter: void println(java.lang.String)>("or resides at the wrong path within the JDK. Try to run the same JDK with -XX:+PrintAssembly with");
virtualinvoke v.<java.io.PrintWriter: void println(java.lang.String)>("a simple non-JMH program and look for warning messages. For details, see the link below:");
virtualinvoke v.<java.io.PrintWriter: void println(java.lang.String)>("    https://wiki.openjdk.java.net/display/HotSpot/PrintAssembly");
virtualinvoke v.<java.io.PrintWriter: void println()>();
label:
v = v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler: int delayMsec>;
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.AbstractPerfAsmProfiler: int lengthMsec>;
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 = virtualinvoke v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler: org.openjdk.jmh.profile.AbstractPerfAsmProfiler$PerfEvents readEvents(double,double)>(v, v);
v = v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler: java.util.List requestedEventNames>;
v = virtualinvoke v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler: java.util.List stripEventNames(java.util.List)>(v);
v = virtualinvoke v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler$PerfEvents: boolean isEmpty()>();
if v != 0 goto label;
v = newarray (java.lang.Object)[1];
v = v / 1000.0;
v = staticinvoke <java.lang.Double: java.lang.Double valueOf(double)>(v);
v[0] = v;
virtualinvoke v.<java.io.PrintWriter: java.io.PrintWriter printf(java.lang.String,java.lang.Object[])>("Perf output processed (skipped %.3f seconds):%n", v);
v = 1;
v = 0;
label:
v = interfaceinvoke v.<java.util.List: int size()>();
if v >= v goto label;
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(v);
v = v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler: java.util.List requestedEventNames>;
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(v);
v = newarray (java.lang.Object)[4];
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
v[0] = v;
v[1] = v;
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
v = "";
goto label;
label:
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(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[])>(" (\u)");
label:
v[2] = v;
v = virtualinvoke v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler$PerfEvents: org.openjdk.jmh.util.Multiset get(java.lang.String)>(v);
v = interfaceinvoke v.<org.openjdk.jmh.util.Multiset: long size()>();
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
v[3] = v;
virtualinvoke v.<java.io.PrintWriter: java.io.PrintWriter printf(java.lang.String,java.lang.Object[])>(" Column %d: %s%s (%d events)%n", v);
v = v + 1;
v = v + 1;
goto label;
label:
virtualinvoke v.<java.io.PrintWriter: void println()>();
goto label;
label:
virtualinvoke v.<java.io.PrintWriter: void println()>();
virtualinvoke v.<java.io.PrintWriter: void println(java.lang.String)>("ERROR: No perf data, make sure \"perf stat echo 1\" is indeed working;\n or the collection delay is not running past the benchmark time.");
virtualinvoke v.<java.io.PrintWriter: void println()>();
label:
v = virtualinvoke v.<org.openjdk.jmh.results.BenchmarkResult: org.openjdk.jmh.results.BenchmarkResultMetaData getMetadata()>();
v = virtualinvoke v.<org.openjdk.jmh.results.BenchmarkResultMetaData: long getMeasurementOps()>();
v = staticinvoke <java.lang.Math: long max(long,long)>(1L, v);
v = <org.openjdk.jmh.profile.AbstractPerfAsmProfiler$2: int[] $SwitchMap$org$openjdk$jmh$profile$AbstractPerfAsmProfiler$ShowCounts>;
v = v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler: org.openjdk.jmh.profile.AbstractPerfAsmProfiler$ShowCounts showCounts>;
v = virtualinvoke v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler$ShowCounts: int ordinal()>();
v = v[v];
tableswitch(v)
{
case 1: goto label;
case 2: goto label;
case 3: goto label;
default: goto label;
};
label:
v = 1;
v = 0;
v = v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler$PerfEvents: java.util.Map totalCounts>;
v = interfaceinvoke v.<java.util.Map: java.util.Collection values()>();
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.Long: long longValue()>();
v = staticinvoke <java.lang.Math: double log10(double)>(v);
v = staticinvoke <java.lang.Math: double ceil(double)>(v);
v = staticinvoke <java.lang.Math: int max(int,int)>(v, v);
goto label;
label:
v = 2;
v = 1;
v = v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler$PerfEvents: java.util.Map totalCounts>;
v = interfaceinvoke v.<java.util.Map: java.util.Collection values()>();
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.Long: long longValue()>();
v = 1.0 * v;
v = v / v;
v = staticinvoke <java.lang.Math: double log10(double)>(v);
v = v cmpg 0.0;
if v >= 0 goto label;
v = neg v;
v = staticinvoke <java.lang.Math: double ceil(double)>(v);
v = staticinvoke <java.lang.Math: int max(int,int)>(v, v);
goto label;
label:
v = staticinvoke <java.lang.Math: double ceil(double)>(v);
v = staticinvoke <java.lang.Math: int max(int,int)>(v, v);
goto label;
label:
v = 3;
v = 2;
goto label;
label:
v = new java.lang.IllegalStateException;
v = v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler: org.openjdk.jmh.profile.AbstractPerfAsmProfiler$ShowCounts showCounts>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (org.openjdk.jmh.profile.AbstractPerfAsmProfiler$ShowCounts)>(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[])>("Unhandled enum: \u0001");
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>(v);
throw v;
label:
v = new org.openjdk.jmh.profile.AbstractPerfAsmProfiler$PrintContext;
v = v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler: org.openjdk.jmh.profile.AbstractPerfAsmProfiler$ShowCounts showCounts>;
v = v + v;
v = v + 2;
specialinvoke v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler$PrintContext: void <init>(org.openjdk.jmh.profile.AbstractPerfAsmProfiler$ShowCounts,long,int,int)>(v, v, v, v);
v = specialinvoke v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler: java.util.List makeRegions(org.openjdk.jmh.profile.AbstractPerfAsmProfiler$Assembly,org.openjdk.jmh.profile.AbstractPerfAsmProfiler$PerfEvents,org.openjdk.jmh.profile.AbstractPerfAsmProfiler$PrintContext)>(v, v, v);
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(0);
v = new org.openjdk.jmh.profile.AbstractPerfAsmProfiler$1;
specialinvoke v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler$1: void <init>(org.openjdk.jmh.profile.AbstractPerfAsmProfiler,org.openjdk.jmh.profile.AbstractPerfAsmProfiler$PerfEvents,java.lang.String)>(v, v, v);
staticinvoke <java.util.Collections: void sort(java.util.List,java.util.Comparator)>(v, v);
v = v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler: double regionRateThreshold>;
v = virtualinvoke v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler$PerfEvents: java.lang.Long getTotalEvents(java.lang.String)>(v);
v = virtualinvoke v.<java.lang.Long: long longValue()>();
v = v * v;
v = 0;
v = 1;
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 = virtualinvoke v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler$Region: long getEventCount(org.openjdk.jmh.profile.AbstractPerfAsmProfiler$PerfEvents,java.lang.String)>(v, v);
v = v cmp v;
if v <= 0 goto label;
if v != 0 goto label;
v = newarray (java.lang.Object)[2];
v = v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler: double regionRateThreshold>;
v = v * 100.0;
v = staticinvoke <java.lang.Double: java.lang.Double valueOf(double)>(v);
v[0] = v;
v[1] = v;
virtualinvoke v.<java.io.PrintWriter: java.io.PrintWriter printf(java.lang.String,java.lang.Object[])>("Hottest code regions (>%.2f%% \"%s\" events):%n", v);
v = <org.openjdk.jmh.profile.AbstractPerfAsmProfiler$2: int[] $SwitchMap$org$openjdk$jmh$profile$AbstractPerfAsmProfiler$ShowCounts>;
v = v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler: org.openjdk.jmh.profile.AbstractPerfAsmProfiler$ShowCounts showCounts>;
v = virtualinvoke v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler$ShowCounts: int ordinal()>();
v = v[v];
tableswitch(v)
{
case 1: goto label;
case 2: goto label;
case 3: goto label;
default: goto label;
};
label:
virtualinvoke v.<java.io.PrintWriter: void println(java.lang.String)>(" Unaltered event counts are printed.");
goto label;
label:
virtualinvoke v.<java.io.PrintWriter: void println(java.lang.String)>(" Event counts are normalized per @Benchmark call.");
goto label;
label:
virtualinvoke v.<java.io.PrintWriter: void println(java.lang.String)>(" Event counts are percents of total event count.");
goto label;
label:
v = new java.lang.IllegalStateException;
v = v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler: org.openjdk.jmh.profile.AbstractPerfAsmProfiler$ShowCounts showCounts>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (org.openjdk.jmh.profile.AbstractPerfAsmProfiler$ShowCounts)>(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[])>("Unhandled enum: \u0001");
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>(v);
throw v;
label:
virtualinvoke v.<java.io.PrintWriter: void println()>();
v = 1;
label:
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (int)>(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[])>("Hottest Region \u0001");
specialinvoke v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler: void printDottedLine(java.io.PrintWriter,java.lang.String)>(v, v);
v = newarray (java.lang.Object)[2];
v = virtualinvoke v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler$Region: org.openjdk.jmh.profile.AbstractPerfAsmProfiler$MethodDesc desc()>();
v = virtualinvoke v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler$MethodDesc: java.lang.String source()>();
v[0] = v;
v = virtualinvoke v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler$Region: org.openjdk.jmh.profile.AbstractPerfAsmProfiler$MethodDesc desc()>();
v = virtualinvoke v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler$MethodDesc: java.lang.String name()>();
v[1] = v;
virtualinvoke v.<java.io.PrintWriter: java.io.PrintWriter printf(java.lang.String,java.lang.Object[])>("%s, %s %n%n", v);
virtualinvoke v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler$Region: void printCode(java.io.PrintWriter,org.openjdk.jmh.profile.AbstractPerfAsmProfiler$PerfEvents)>(v, v);
specialinvoke v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler: void printDottedLine(java.io.PrintWriter)>(v);
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 = virtualinvoke v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler$Region: long getEventCount(org.openjdk.jmh.profile.AbstractPerfAsmProfiler$PerfEvents,java.lang.String)>(v, v);
staticinvoke <org.openjdk.jmh.profile.AbstractPerfAsmProfiler: void printLine(java.io.PrintWriter,org.openjdk.jmh.profile.AbstractPerfAsmProfiler$PerfEvents,java.lang.String,long,org.openjdk.jmh.profile.AbstractPerfAsmProfiler$PrintContext)>(v, v, v, v, v);
goto label;
label:
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (int)>(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[])>("<total for region \u0001>");
virtualinvoke v.<java.io.PrintWriter: void println(java.lang.String)>(v);
virtualinvoke v.<java.io.PrintWriter: void println()>();
v = v + 1;
goto label;
label:
if v != 0 goto label;
v = newarray (java.lang.Object)[1];
v = v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler: double regionRateThreshold>;
v = v * 100.0;
v = staticinvoke <java.lang.Double: java.lang.Double valueOf(double)>(v);
v[0] = v;
virtualinvoke v.<java.io.PrintWriter: java.io.PrintWriter printf(java.lang.String,java.lang.Object[])>("WARNING: No hottest code region above the threshold (%.2f%%) for disassembly.%n", v);
virtualinvoke v.<java.io.PrintWriter: void println(java.lang.String)>("Use \"hotThreshold\" profiler option to lower the filter threshold.");
virtualinvoke v.<java.io.PrintWriter: void println()>();
label:
v = 0;
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 = virtualinvoke v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler$Region: org.openjdk.jmh.profile.AbstractPerfAsmProfiler$MethodDesc desc()>();
v = virtualinvoke v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler$MethodDesc: java.lang.String source()>();
v = virtualinvoke v.<java.lang.String: int length()>();
v = staticinvoke <java.lang.Math: int max(int,int)>(v, v);
goto label;
label:
v = new org.openjdk.jmh.util.HashMultiset;
specialinvoke v.<org.openjdk.jmh.util.HashMultiset: void <init>()>();
v = new org.openjdk.jmh.util.HashMultiset;
specialinvoke v.<org.openjdk.jmh.util.HashMultiset: void <init>()>();
specialinvoke v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler: void printDottedLine(java.io.PrintWriter,java.lang.String)>(v, "Hottest Regions");
v = 0;
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 = v;
v = v + 1;
v = v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler: int regionShowTop>;
if v >= v goto label;
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 = virtualinvoke v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler$Region: long getEventCount(org.openjdk.jmh.profile.AbstractPerfAsmProfiler$PerfEvents,java.lang.String)>(v, v);
staticinvoke <org.openjdk.jmh.profile.AbstractPerfAsmProfiler: void printLine(java.io.PrintWriter,org.openjdk.jmh.profile.AbstractPerfAsmProfiler$PerfEvents,java.lang.String,long,org.openjdk.jmh.profile.AbstractPerfAsmProfiler$PrintContext)>(v, v, v, v, v);
goto label;
label:
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (int)>(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[])>("%\u0001s  %s %n");
v = newarray (java.lang.Object)[2];
v = virtualinvoke v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler$Region: org.openjdk.jmh.profile.AbstractPerfAsmProfiler$MethodDesc desc()>();
v = virtualinvoke v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler$MethodDesc: java.lang.String source()>();
v[0] = v;
v = virtualinvoke v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler$Region: org.openjdk.jmh.profile.AbstractPerfAsmProfiler$MethodDesc desc()>();
v = virtualinvoke v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler$MethodDesc: java.lang.String name()>();
v[1] = v;
virtualinvoke v.<java.io.PrintWriter: java.io.PrintWriter printf(java.lang.String,java.lang.Object[])>(v, v);
goto label;
label:
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 = virtualinvoke v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler$Region: long getEventCount(org.openjdk.jmh.profile.AbstractPerfAsmProfiler$PerfEvents,java.lang.String)>(v, v);
interfaceinvoke v.<org.openjdk.jmh.util.Multiset: void add(java.lang.Object,long)>(v, v);
goto label;
label:
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 = virtualinvoke v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler$Region: long getEventCount(org.openjdk.jmh.profile.AbstractPerfAsmProfiler$PerfEvents,java.lang.String)>(v, v);
interfaceinvoke v.<org.openjdk.jmh.util.Multiset: void add(java.lang.Object,long)>(v, v);
goto label;
label:
v = interfaceinvoke v.<java.util.List: int size()>();
v = v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler: int regionShowTop>;
v = v - v;
if v <= 0 goto label;
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 = interfaceinvoke v.<org.openjdk.jmh.util.Multiset: long count(java.lang.Object)>(v);
staticinvoke <org.openjdk.jmh.profile.AbstractPerfAsmProfiler: void printLine(java.io.PrintWriter,org.openjdk.jmh.profile.AbstractPerfAsmProfiler$PerfEvents,java.lang.String,long,org.openjdk.jmh.profile.AbstractPerfAsmProfiler$PrintContext)>(v, v, v, v, v);
goto label;
label:
v = interfaceinvoke v.<java.util.List: int size()>();
v = v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler: int regionShowTop>;
v = v - v;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (int)>(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[])>("<...other \u warm regions...>");
virtualinvoke v.<java.io.PrintWriter: void println(java.lang.String)>(v);
label:
specialinvoke v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler: void printDottedLine(java.io.PrintWriter)>(v);
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 = interfaceinvoke v.<org.openjdk.jmh.util.Multiset: long count(java.lang.Object)>(v);
staticinvoke <org.openjdk.jmh.profile.AbstractPerfAsmProfiler: void printLine(java.io.PrintWriter,org.openjdk.jmh.profile.AbstractPerfAsmProfiler$PerfEvents,java.lang.String,long,org.openjdk.jmh.profile.AbstractPerfAsmProfiler$PrintContext)>(v, v, v, v, v);
goto label;
label:
virtualinvoke v.<java.io.PrintWriter: void println(java.lang.String)>("<totals>");
virtualinvoke v.<java.io.PrintWriter: void println()>();
v = new java.util.HashMap;
specialinvoke v.<java.util.HashMap: void <init>()>();
v = new java.util.HashMap;
specialinvoke v.<java.util.HashMap: void <init>()>();
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.HashMultiset;
specialinvoke v.<org.openjdk.jmh.util.HashMultiset: void <init>()>();
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
v = new org.openjdk.jmh.util.HashMultiset;
specialinvoke v.<org.openjdk.jmh.util.HashMultiset: void <init>()>();
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
goto label;
label:
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 = 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 = virtualinvoke v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler$Region: long getEventCount(org.openjdk.jmh.profile.AbstractPerfAsmProfiler$PerfEvents,java.lang.String)>(v, v);
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
v = virtualinvoke v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler$Region: org.openjdk.jmh.profile.AbstractPerfAsmProfiler$MethodDesc desc()>();
interfaceinvoke v.<org.openjdk.jmh.util.Multiset: void add(java.lang.Object,long)>(v, v);
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
v = virtualinvoke v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler$Region: org.openjdk.jmh.profile.AbstractPerfAsmProfiler$MethodDesc desc()>();
v = virtualinvoke v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler$MethodDesc: java.lang.String source()>();
interfaceinvoke v.<org.openjdk.jmh.util.Multiset: void add(java.lang.Object,long)>(v, v);
goto label;
label:
specialinvoke v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler: void printDottedLine(java.io.PrintWriter,java.lang.String)>(v, "Hottest Methods (after inlining)");
v = new org.openjdk.jmh.util.HashMultiset;
specialinvoke v.<org.openjdk.jmh.util.HashMultiset: void <init>()>();
v = new org.openjdk.jmh.util.HashMultiset;
specialinvoke v.<org.openjdk.jmh.util.HashMultiset: void <init>()>();
v = 0;
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
v = staticinvoke <org.openjdk.jmh.util.Multisets: java.util.List sortedDesc(org.openjdk.jmh.util.Multiset)>(v);
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 = v;
v = v + 1;
v = v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler: int regionShowTop>;
if v >= v goto label;
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 = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
v = interfaceinvoke v.<org.openjdk.jmh.util.Multiset: long count(java.lang.Object)>(v);
staticinvoke <org.openjdk.jmh.profile.AbstractPerfAsmProfiler: void printLine(java.io.PrintWriter,org.openjdk.jmh.profile.AbstractPerfAsmProfiler$PerfEvents,java.lang.String,long,org.openjdk.jmh.profile.AbstractPerfAsmProfiler$PrintContext)>(v, v, v, v, v);
goto label;
label:
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (int)>(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[])>("%\u0001s  %s %n");
v = newarray (java.lang.Object)[2];
v = virtualinvoke v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler$MethodDesc: java.lang.String source()>();
v[0] = v;
v = virtualinvoke v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler$MethodDesc: java.lang.String name()>();
v[1] = v;
virtualinvoke v.<java.io.PrintWriter: java.io.PrintWriter printf(java.lang.String,java.lang.Object[])>(v, v);
goto label;
label:
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 = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
v = interfaceinvoke v.<org.openjdk.jmh.util.Multiset: long count(java.lang.Object)>(v);
interfaceinvoke v.<org.openjdk.jmh.util.Multiset: void add(java.lang.Object,long)>(v, v);
goto label;
label:
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 = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
v = interfaceinvoke v.<org.openjdk.jmh.util.Multiset: long count(java.lang.Object)>(v);
interfaceinvoke v.<org.openjdk.jmh.util.Multiset: void add(java.lang.Object,long)>(v, v);
goto label;
label:
v = interfaceinvoke v.<java.util.List: int size()>();
v = v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler: int regionShowTop>;
v = v - v;
if v <= 0 goto label;
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 = interfaceinvoke v.<org.openjdk.jmh.util.Multiset: long count(java.lang.Object)>(v);
staticinvoke <org.openjdk.jmh.profile.AbstractPerfAsmProfiler: void printLine(java.io.PrintWriter,org.openjdk.jmh.profile.AbstractPerfAsmProfiler$PerfEvents,java.lang.String,long,org.openjdk.jmh.profile.AbstractPerfAsmProfiler$PrintContext)>(v, v, v, v, v);
goto label;
label:
v = interfaceinvoke v.<java.util.List: int size()>();
v = v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler: int regionShowTop>;
v = v - v;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (int)>(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[])>("<...other \u warm methods...>");
virtualinvoke v.<java.io.PrintWriter: void println(java.lang.String)>(v);
label:
specialinvoke v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler: void printDottedLine(java.io.PrintWriter)>(v);
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 = interfaceinvoke v.<org.openjdk.jmh.util.Multiset: long count(java.lang.Object)>(v);
staticinvoke <org.openjdk.jmh.profile.AbstractPerfAsmProfiler: void printLine(java.io.PrintWriter,org.openjdk.jmh.profile.AbstractPerfAsmProfiler$PerfEvents,java.lang.String,long,org.openjdk.jmh.profile.AbstractPerfAsmProfiler$PrintContext)>(v, v, v, v, v);
goto label;
label:
virtualinvoke v.<java.io.PrintWriter: void println(java.lang.String)>("<totals>");
virtualinvoke v.<java.io.PrintWriter: void println()>();
specialinvoke v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler: void printDottedLine(java.io.PrintWriter,java.lang.String)>(v, "Distribution by Source");
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
v = staticinvoke <org.openjdk.jmh.util.Multisets: java.util.List sortedDesc(org.openjdk.jmh.util.Multiset)>(v);
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 = 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 = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
v = interfaceinvoke v.<org.openjdk.jmh.util.Multiset: long count(java.lang.Object)>(v);
staticinvoke <org.openjdk.jmh.profile.AbstractPerfAsmProfiler: void printLine(java.io.PrintWriter,org.openjdk.jmh.profile.AbstractPerfAsmProfiler$PerfEvents,java.lang.String,long,org.openjdk.jmh.profile.AbstractPerfAsmProfiler$PrintContext)>(v, v, v, v, v);
goto label;
label:
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (int)>(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[])>("%\u0001s%n");
v = newarray (java.lang.Object)[1];
v[0] = v;
virtualinvoke v.<java.io.PrintWriter: java.io.PrintWriter printf(java.lang.String,java.lang.Object[])>(v, v);
goto label;
label:
specialinvoke v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler: void printDottedLine(java.io.PrintWriter)>(v);
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 = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
v = interfaceinvoke v.<org.openjdk.jmh.util.Multiset: long size()>();
staticinvoke <org.openjdk.jmh.profile.AbstractPerfAsmProfiler: void printLine(java.io.PrintWriter,org.openjdk.jmh.profile.AbstractPerfAsmProfiler$PerfEvents,java.lang.String,long,org.openjdk.jmh.profile.AbstractPerfAsmProfiler$PrintContext)>(v, v, v, v, v);
goto label;
label:
virtualinvoke v.<java.io.PrintWriter: void println(java.lang.String)>("<totals>");
virtualinvoke v.<java.io.PrintWriter: void println()>();
v = new java.util.HashSet;
specialinvoke v.<java.util.HashSet: void <init>()>();
v = v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler$Assembly: java.util.SortedMap addressMap>;
v = interfaceinvoke v.<java.util.SortedMap: java.util.Set keySet()>();
v = interfaceinvoke v.<java.util.Set: 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.<java.util.Set: boolean add(java.lang.Object)>(v);
if v != 0 goto label;
virtualinvoke v.<java.io.PrintWriter: void println(java.lang.String)>("WARNING: Duplicate instruction addresses detected. This is probably due to compiler reusing\n the code arena for the new generated code. We can not differentiate between methods sharing\nthe same addresses, and therefore the profile might be wrong. Increasing generated code\nstorage might help.");
goto label;
label:
v = v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler$PerfEvents: java.util.Map totalCounts>;
v = interfaceinvoke v.<java.util.Map: java.util.Collection values()>();
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.Long: long longValue()>();
v = 0 + v;
goto label;
label:
if v >= 1000 goto label;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (int)>(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[])>("WARNING: The perf event count is suspiciously low (\u). The performance data might be");
virtualinvoke v.<java.io.PrintWriter: void println(java.lang.String)>(v);
virtualinvoke v.<java.io.PrintWriter: void println(java.lang.String)>("inaccurate or misleading. Try to do the profiling again, or tune up the sampling frequency.");
virtualinvoke v.<java.io.PrintWriter: void println(java.lang.String)>("With some profilers on Mac OS X, System Integrity Protection (SIP) may prevent profiling.");
virtualinvoke v.<java.io.PrintWriter: void println(java.lang.String)>("In such case, temporarily disabling SIP with \'csrutil disable\' might help.");
label:
v = v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler: boolean savePerfOutput>;
if v == 0 goto label;
v = v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler: java.lang.String savePerfOutputToFile>;
if v != null goto label;
v = v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler: java.lang.String savePerfOutputTo>;
v = virtualinvoke v.<org.openjdk.jmh.results.BenchmarkResult: org.openjdk.jmh.infra.BenchmarkParams getParams()>();
v = virtualinvoke v.<org.openjdk.jmh.infra.BenchmarkParams: java.lang.String id()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.lang.String)>(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/\u.perf");
goto label;
label:
v = v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler: java.lang.String savePerfOutputToFile>;
label:
v = v;
label:
v = v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler: org.openjdk.jmh.util.TempFile perfParsedData>;
v = virtualinvoke v.<org.openjdk.jmh.util.TempFile: java.lang.String getAbsolutePath()>();
staticinvoke <org.openjdk.jmh.util.FileUtils: void copy(java.lang.String,java.lang.String)>(v, v);
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(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[])>("Perf output saved to \u0001");
virtualinvoke v.<java.io.PrintWriter: void println(java.lang.String)>(v);
label:
goto label;
label:
v := @caughtexception;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(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[])>("Unable to save perf output to \u0001");
virtualinvoke v.<java.io.PrintWriter: void println(java.lang.String)>(v);
label:
v = v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler: boolean savePerfBin>;
if v == 0 goto label;
v = v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler: java.lang.String savePerfBinFile>;
if v != null goto label;
v = v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler: java.lang.String savePerfBinTo>;
v = virtualinvoke v.<org.openjdk.jmh.results.BenchmarkResult: org.openjdk.jmh.infra.BenchmarkParams getParams()>();
v = virtualinvoke v.<org.openjdk.jmh.infra.BenchmarkParams: java.lang.String id()>();
v = virtualinvoke v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler: java.lang.String perfBinaryExtension()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.lang.String,java.lang.String)>(v, 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/\u0001\u0001");
goto label;
label:
v = v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler: java.lang.String savePerfBinFile>;
label:
v = v;
label:
v = v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler: org.openjdk.jmh.util.TempFile perfBinData>;
v = virtualinvoke v.<org.openjdk.jmh.util.TempFile: java.lang.String getAbsolutePath()>();
staticinvoke <org.openjdk.jmh.util.FileUtils: void copy(java.lang.String,java.lang.String)>(v, v);
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(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[])>("Perf binary output saved to \u0001");
virtualinvoke v.<java.io.PrintWriter: void println(java.lang.String)>(v);
label:
goto label;
label:
v := @caughtexception;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(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[])>("Unable to save perf binary output to \u0001");
virtualinvoke v.<java.io.PrintWriter: void println(java.lang.String)>(v);
label:
v = v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler: boolean saveLog>;
if v == 0 goto label;
v = v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler: java.lang.String saveLogToFile>;
if v != null goto label;
v = v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler: java.lang.String saveLogTo>;
v = virtualinvoke v.<org.openjdk.jmh.results.BenchmarkResult: org.openjdk.jmh.infra.BenchmarkParams getParams()>();
v = virtualinvoke v.<org.openjdk.jmh.infra.BenchmarkParams: java.lang.String id()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.lang.String)>(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/\u.log");
goto label;
label:
v = v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler: java.lang.String saveLogToFile>;
label:
v = v;
label:
v = new java.io.FileOutputStream;
specialinvoke v.<java.io.FileOutputStream: void <init>(java.lang.String)>(v);
label:
v = new java.io.PrintWriter;
specialinvoke v.<java.io.PrintWriter: void <init>(java.io.OutputStream)>(v);
label:
v = v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler$Assembly: java.util.List lines>;
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 = 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 = v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler$ASMLine: java.lang.Long addr>;
if v == null goto label;
v = virtualinvoke v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler$PerfEvents: org.openjdk.jmh.util.Multiset get(java.lang.String)>(v);
v = v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler$ASMLine: java.lang.Long addr>;
v = interfaceinvoke v.<org.openjdk.jmh.util.Multiset: long count(java.lang.Object)>(v);
goto label;
label:
v = 0L;
label:
staticinvoke <org.openjdk.jmh.profile.AbstractPerfAsmProfiler: void printLine(java.io.PrintWriter,org.openjdk.jmh.profile.AbstractPerfAsmProfiler$PerfEvents,java.lang.String,long,org.openjdk.jmh.profile.AbstractPerfAsmProfiler$PrintContext)>(v, v, v, v, v);
goto label;
label:
v = v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler$ASMLine: java.lang.String code>;
virtualinvoke v.<java.io.PrintWriter: void println(java.lang.String)>(v);
goto label;
label:
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(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[])>("Perf-annotated Hotspot log is saved to \u0001");
virtualinvoke v.<java.io.PrintWriter: void println(java.lang.String)>(v);
label:
virtualinvoke v.<java.io.PrintWriter: void close()>();
goto label;
label:
v := @caughtexception;
throw v;
label:
virtualinvoke v.<java.io.FileOutputStream: void close()>();
goto label;
label:
v := @caughtexception;
throw v;
label:
v := @caughtexception;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(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[])>("Unable to save Hotspot log to \u0001");
virtualinvoke v.<java.io.PrintWriter: void println(java.lang.String)>(v);
label:
virtualinvoke v.<java.io.PrintWriter: void flush()>();
virtualinvoke v.<java.io.PrintWriter: void close()>();
v = new org.openjdk.jmh.results.TextResult;
v = virtualinvoke v.<java.io.StringWriter: java.lang.String toString()>();
specialinvoke v.<org.openjdk.jmh.results.TextResult: void <init>(java.lang.String,java.lang.String)>(v, "asm");
return v;
catch java.io.IOException from label to label with label;
catch java.io.IOException 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;
}
private static void printLine(java.io.PrintWriter, org.openjdk.jmh.profile.AbstractPerfAsmProfiler$PerfEvents, java.lang.String, long, org.openjdk.jmh.profile.AbstractPerfAsmProfiler$PrintContext)
{
org.openjdk.jmh.profile.AbstractPerfAsmProfiler$PerfEvents v;
java.lang.IllegalStateException v;
byte v;
int[] v;
java.lang.Long v, v;
java.io.PrintWriter v;
java.lang.Object[] v, v, v, v;
java.lang.Double v, v;
long v, v, v;
int v, v, v, v, v, v, v, v;
java.lang.String v, v, v, v, v, v;
org.openjdk.jmh.profile.AbstractPerfAsmProfiler$ShowCounts v, v;
double v, v, v, v;
org.openjdk.jmh.profile.AbstractPerfAsmProfiler$PrintContext v;
v := @parameter: java.io.PrintWriter;
v := @parameter: org.openjdk.jmh.profile.AbstractPerfAsmProfiler$PerfEvents;
v := @parameter: java.lang.String;
v := @parameter: long;
v := @parameter: org.openjdk.jmh.profile.AbstractPerfAsmProfiler$PrintContext;
v = v cmp 0L;
if v <= 0 goto label;
v = <org.openjdk.jmh.profile.AbstractPerfAsmProfiler$2: int[] $SwitchMap$org$openjdk$jmh$profile$AbstractPerfAsmProfiler$ShowCounts>;
v = v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler$PrintContext: org.openjdk.jmh.profile.AbstractPerfAsmProfiler$ShowCounts mode>;
v = virtualinvoke v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler$ShowCounts: int ordinal()>();
v = v[v];
tableswitch(v)
{
case 1: goto label;
case 2: goto label;
case 3: goto label;
default: goto label;
};
label:
v = v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler$PrintContext: int formatWidth>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (int)>(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[])>("%\u0001d   ");
v = newarray (java.lang.Object)[1];
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
v[0] = v;
virtualinvoke v.<java.io.PrintWriter: java.io.PrintWriter printf(java.lang.String,java.lang.Object[])>(v, v);
goto label;
label:
v = v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler$PrintContext: int formatWidth>;
v = v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler$PrintContext: int formatMinor>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (int,int)>(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[])>("%\u.\u0001f   ");
v = newarray (java.lang.Object)[1];
v = 100.0 * v;
v = v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler$PrintContext: long ops>;
v = v / v;
v = staticinvoke <java.lang.Double: java.lang.Double valueOf(double)>(v);
v[0] = v;
virtualinvoke v.<java.io.PrintWriter: java.io.PrintWriter printf(java.lang.String,java.lang.Object[])>(v, v);
goto label;
label:
v = v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler$PrintContext: int formatWidth>;
v = v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler$PrintContext: int formatMinor>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (int,int)>(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[])>("%\u.\u0001f%%  ");
v = newarray (java.lang.Object)[1];
v = 100.0 * v;
v = virtualinvoke v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler$PerfEvents: java.lang.Long getTotalEvents(java.lang.String)>(v);
v = virtualinvoke v.<java.lang.Long: long longValue()>();
v = v / v;
v = staticinvoke <java.lang.Double: java.lang.Double valueOf(double)>(v);
v[0] = v;
virtualinvoke v.<java.io.PrintWriter: java.io.PrintWriter printf(java.lang.String,java.lang.Object[])>(v, v);
goto label;
label:
v = new java.lang.IllegalStateException;
v = v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler$PrintContext: org.openjdk.jmh.profile.AbstractPerfAsmProfiler$ShowCounts mode>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (org.openjdk.jmh.profile.AbstractPerfAsmProfiler$ShowCounts)>(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[])>("Unhandled enum: \u0001");
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>(v);
throw v;
label:
v = v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler$PrintContext: int formatWidth>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (int)>(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[])>("%\u0001s   ");
v = newarray (java.lang.Object)[1];
v[0] = "";
virtualinvoke v.<java.io.PrintWriter: java.io.PrintWriter printf(java.lang.String,java.lang.Object[])>(v, v);
label:
return;
}
private void printDottedLine(java.io.PrintWriter)
{
java.io.PrintWriter v;
org.openjdk.jmh.profile.AbstractPerfAsmProfiler v;
v := @this: org.openjdk.jmh.profile.AbstractPerfAsmProfiler;
v := @parameter: java.io.PrintWriter;
specialinvoke v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler: void printDottedLine(java.io.PrintWriter,java.lang.String)>(v, null);
return;
}
private void printDottedLine(java.io.PrintWriter, java.lang.String)
{
java.io.PrintWriter v;
org.openjdk.jmh.profile.AbstractPerfAsmProfiler v;
int v, v, v;
java.lang.String v, v;
v := @this: org.openjdk.jmh.profile.AbstractPerfAsmProfiler;
v := @parameter: java.io.PrintWriter;
v := @parameter: java.lang.String;
virtualinvoke v.<java.io.PrintWriter: void print(java.lang.String)>("....");
if v == null goto label;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(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[])>("[\u]");
virtualinvoke v.<java.io.PrintWriter: void print(java.lang.String)>(v);
goto label;
label:
v = "";
label:
v = 0;
label:
v = virtualinvoke v.<java.lang.String: int length()>();
v = 96 - v;
if v >= v goto label;
virtualinvoke v.<java.io.PrintWriter: void print(java.lang.String)>(".");
v = v + 1;
goto label;
label:
virtualinvoke v.<java.io.PrintWriter: void println()>();
return;
}
private java.util.List makeRegions(org.openjdk.jmh.profile.AbstractPerfAsmProfiler$Assembly, org.openjdk.jmh.profile.AbstractPerfAsmProfiler$PerfEvents, org.openjdk.jmh.profile.AbstractPerfAsmProfiler$PrintContext)
{
org.openjdk.jmh.profile.AbstractPerfAsmProfiler$PerfEvents v;
java.util.SortedSet v, v;
java.lang.Long v, v;
boolean v, v, v, v;
org.openjdk.jmh.profile.AbstractPerfAsmProfiler$MethodDesc v, v;
org.openjdk.jmh.profile.AbstractPerfAsmProfiler$NativeRegion v;
java.util.List v, v, v, v;
long v, v, v, v, v, v, v, v, v, v, v;
java.util.ArrayList v;
int v, v;
java.util.Iterator v;
org.openjdk.jmh.profile.AbstractPerfAsmProfiler$Assembly v;
org.openjdk.jmh.profile.AbstractPerfAsmProfiler v;
java.lang.Object v;
org.openjdk.jmh.profile.AbstractPerfAsmProfiler$GeneratedRegion v;
org.openjdk.jmh.profile.AbstractPerfAsmProfiler$PrintContext v;
v := @this: org.openjdk.jmh.profile.AbstractPerfAsmProfiler;
v := @parameter: org.openjdk.jmh.profile.AbstractPerfAsmProfiler$Assembly;
v := @parameter: org.openjdk.jmh.profile.AbstractPerfAsmProfiler$PerfEvents;
v := @parameter: org.openjdk.jmh.profile.AbstractPerfAsmProfiler$PrintContext;
v = v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler: java.util.List requestedEventNames>;
v = virtualinvoke v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler: java.util.List stripEventNames(java.util.List)>(v);
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>()>();
v = virtualinvoke v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler$PerfEvents: java.util.SortedSet getAllAddresses()>();
v = specialinvoke v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler: java.util.List figureHotIntervals(java.util.SortedSet,org.openjdk.jmh.profile.AbstractPerfAsmProfiler$Assembly)>(v, v);
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 = v.<org.openjdk.jmh.util.Interval: long src>;
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
v = v.<org.openjdk.jmh.util.Interval: long dst>;
v = v + 1L;
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
v = interfaceinvoke v.<java.util.SortedSet: java.util.SortedSet subSet(java.lang.Object,java.lang.Object)>(v, v);
v = v.<org.openjdk.jmh.util.Interval: long src>;
v = v.<org.openjdk.jmh.util.Interval: long dst>;
v = v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler: int printMargin>;
v = virtualinvoke v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler$Assembly: java.util.List getLines(long,long,int)>(v, v, v);
v = interfaceinvoke v.<java.util.List: boolean isEmpty()>();
if v != 0 goto label;
v = v.<org.openjdk.jmh.util.Interval: long src>;
v = virtualinvoke v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler$Assembly: org.openjdk.jmh.profile.AbstractPerfAsmProfiler$MethodDesc getMethod(long)>(v);
if v != null goto label;
v = staticinvoke <org.openjdk.jmh.profile.AbstractPerfAsmProfiler$MethodDesc: org.openjdk.jmh.profile.AbstractPerfAsmProfiler$MethodDesc 'unknown'()>();
label:
v = new org.openjdk.jmh.profile.AbstractPerfAsmProfiler$GeneratedRegion;
v = v.<org.openjdk.jmh.util.Interval: long src>;
v = v.<org.openjdk.jmh.util.Interval: long dst>;
v = v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler: int regionTooBigThreshold>;
v = v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler: boolean drawIntraJumps>;
v = v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler: boolean drawInterJumps>;
specialinvoke v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler$GeneratedRegion: void <init>(java.util.Collection,org.openjdk.jmh.profile.AbstractPerfAsmProfiler$Assembly,org.openjdk.jmh.profile.AbstractPerfAsmProfiler$MethodDesc,long,long,java.util.Collection,java.util.Set,int,boolean,boolean,org.openjdk.jmh.profile.AbstractPerfAsmProfiler$PrintContext)>(v, v, v, v, v, v, v, v, v, v, v);
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
goto label;
label:
v = v.<org.openjdk.jmh.util.Interval: long src>;
v = virtualinvoke v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler$PerfEvents: org.openjdk.jmh.profile.AbstractPerfAsmProfiler$MethodDesc getMethod(long)>(v);
if v != null goto label;
v = staticinvoke <org.openjdk.jmh.profile.AbstractPerfAsmProfiler$MethodDesc: org.openjdk.jmh.profile.AbstractPerfAsmProfiler$MethodDesc 'unknown'()>();
label:
v = new org.openjdk.jmh.profile.AbstractPerfAsmProfiler$NativeRegion;
v = v.<org.openjdk.jmh.util.Interval: long src>;
v = v.<org.openjdk.jmh.util.Interval: long dst>;
specialinvoke v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler$NativeRegion: void <init>(org.openjdk.jmh.profile.AbstractPerfAsmProfiler$MethodDesc,long,long,java.util.Set)>(v, v, v, v);
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
goto label;
label:
return v;
}
private java.util.List figureHotIntervals(java.util.SortedSet, org.openjdk.jmh.profile.AbstractPerfAsmProfiler$Assembly)
{
java.util.SortedSet v;
long v, v, v, v;
java.util.ArrayList v;
byte v, v;
int v;
boolean v, v;
java.util.Iterator v;
org.openjdk.jmh.profile.AbstractPerfAsmProfiler$Assembly v;
java.util.List v;
org.openjdk.jmh.profile.AbstractPerfAsmProfiler v;
java.lang.Object v, v, v;
v := @this: org.openjdk.jmh.profile.AbstractPerfAsmProfiler;
v := @parameter: java.util.SortedSet;
v := @parameter: org.openjdk.jmh.profile.AbstractPerfAsmProfiler$Assembly;
v = interfaceinvoke v.<java.util.SortedSet: boolean isEmpty()>();
if v == 0 goto label;
v = staticinvoke <java.util.Collections: java.util.List emptyList()>();
return v;
label:
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>()>();
v = interfaceinvoke v.<java.util.SortedSet: java.lang.Object first()>();
v = virtualinvoke v.<java.lang.Long: long longValue()>();
v = interfaceinvoke v.<java.util.SortedSet: java.lang.Object first()>();
v = virtualinvoke v.<java.lang.Long: long longValue()>();
v = interfaceinvoke v.<java.util.SortedSet: 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.Long: long longValue()>();
v = v - v;
v = v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler: int mergeMargin>;
v = v cmp v;
if v <= 0 goto label;
specialinvoke v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler: void addInterval(java.util.List,long,long,org.openjdk.jmh.profile.AbstractPerfAsmProfiler$Assembly)>(v, v, v, v);
v = v;
label:
v = v;
goto label;
label:
v = v cmp v;
if v == 0 goto label;
specialinvoke v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler: void addInterval(java.util.List,long,long,org.openjdk.jmh.profile.AbstractPerfAsmProfiler$Assembly)>(v, v, v, v);
label:
return v;
}
private void addInterval(java.util.List, long, long, org.openjdk.jmh.profile.AbstractPerfAsmProfiler$Assembly)
{
long v, v, v, v;
org.openjdk.jmh.util.Interval v, v, v;
int v, v, v, v;
boolean v, v, v;
org.openjdk.jmh.profile.AbstractPerfAsmProfiler$MethodDesc v, v;
org.openjdk.jmh.profile.AbstractPerfAsmProfiler$Assembly v;
java.util.List v;
org.openjdk.jmh.profile.AbstractPerfAsmProfiler v;
java.lang.Object v;
v := @this: org.openjdk.jmh.profile.AbstractPerfAsmProfiler;
v := @parameter: java.util.List;
v := @parameter: long;
v := @parameter: long;
v := @parameter: org.openjdk.jmh.profile.AbstractPerfAsmProfiler$Assembly;
v = v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler: boolean mergeMethods>;
if v == 0 goto label;
v = interfaceinvoke v.<java.util.List: boolean isEmpty()>();
if v == 0 goto label;
label:
v = new org.openjdk.jmh.util.Interval;
specialinvoke v.<org.openjdk.jmh.util.Interval: void <init>(long,long)>(v, v);
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
goto label;
label:
v = interfaceinvoke v.<java.util.List: int size()>();
v = v - 1;
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(v);
v = v.<org.openjdk.jmh.util.Interval: long src>;
v = virtualinvoke v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler$Assembly: org.openjdk.jmh.profile.AbstractPerfAsmProfiler$MethodDesc getMethod(long)>(v);
v = virtualinvoke v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler$Assembly: org.openjdk.jmh.profile.AbstractPerfAsmProfiler$MethodDesc getMethod(long)>(v);
if v == null goto label;
v = virtualinvoke v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler$MethodDesc: boolean equals(java.lang.Object)>(v);
if v != 0 goto label;
label:
v = new org.openjdk.jmh.util.Interval;
specialinvoke v.<org.openjdk.jmh.util.Interval: void <init>(long,long)>(v, v);
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
goto label;
label:
v = interfaceinvoke v.<java.util.List: int size()>();
v = v - 1;
v = new org.openjdk.jmh.util.Interval;
v = v.<org.openjdk.jmh.util.Interval: long src>;
specialinvoke v.<org.openjdk.jmh.util.Interval: void <init>(long,long)>(v, v);
interfaceinvoke v.<java.util.List: java.lang.Object set(int,java.lang.Object)>(v, v);
label:
return;
}
private java.util.Collection splitAssembly(java.io.File)
{
java.lang.Throwable v, v;
org.openjdk.jmh.util.HashMultimap v;
long v, v;
java.util.ArrayList v;
java.util.regex.Matcher v;
java.lang.Long v, v;
java.lang.String v, v;
boolean v, v, v;
java.util.Iterator v;
java.util.Collection v, v;
java.io.IOException v;
java.lang.NumberFormatException v;
java.io.File v;
java.util.List v;
org.openjdk.jmh.profile.AbstractPerfAsmProfiler v;
java.lang.Object v;
java.io.BufferedReader v;
java.io.FileReader v;
java.util.regex.Pattern v;
v := @this: org.openjdk.jmh.profile.AbstractPerfAsmProfiler;
v := @parameter: java.io.File;
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 = new org.openjdk.jmh.util.HashMultimap;
specialinvoke v.<org.openjdk.jmh.util.HashMultimap: void <init>()>();
v = -1L;
v = staticinvoke <java.util.regex.Pattern: java.util.regex.Pattern compile(java.lang.String)>("(.*)<writer thread=\'(.*)\'>(.*)");
label:
v = virtualinvoke v.<java.io.BufferedReader: java.lang.String readLine()>();
if v == null goto label;
v = virtualinvoke v.<java.lang.String: boolean contains(java.lang.CharSequence)>("<writer thread=");
if v == 0 goto label;
v = virtualinvoke v.<java.util.regex.Pattern: java.util.regex.Matcher matcher(java.lang.CharSequence)>(v);
v = virtualinvoke v.<java.util.regex.Matcher: boolean matches()>();
if v == 0 goto label;
label:
v = virtualinvoke v.<java.util.regex.Matcher: java.lang.String group(int)>(2);
v = staticinvoke <java.lang.Long: long parseLong(java.lang.String)>(v);
label:
goto label;
label:
v := @caughtexception;
goto label;
label:
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
interfaceinvoke v.<org.openjdk.jmh.util.Multimap: void put(java.lang.Object,java.lang.Object)>(v, v);
goto label;
label:
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: 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 = virtualinvoke v.<java.lang.Long: long longValue()>();
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
v = interfaceinvoke v.<org.openjdk.jmh.util.Multimap: java.util.Collection get(java.lang.Object)>(v);
interfaceinvoke v.<java.util.Collection: boolean add(java.lang.Object)>(v);
goto label;
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 = staticinvoke <java.util.Collections: java.util.List emptyList()>();
return 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;
}
private org.openjdk.jmh.profile.AbstractPerfAsmProfiler$Assembly readAssembly(java.io.File)
{
java.lang.Integer v;
org.openjdk.jmh.profile.AbstractPerfAsmProfiler$ASMLine v, v, v;
org.openjdk.jmh.util.IntervalMap v, v, v;
org.openjdk.jmh.util.Interval v;
java.util.regex.Matcher v, v;
java.lang.Long v, v;
org.openjdk.jmh.profile.AbstractPerfAsmProfiler$MethodDesc v, v, v;
long v, v, v, v, v, v, v;
java.util.ArrayList v;
java.lang.String v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
org.openjdk.jmh.profile.AbstractPerfAsmProfiler$Assembly v;
java.lang.NumberFormatException v, v;
java.io.File v;
java.util.TreeMap v;
boolean v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
java.util.Collection v;
java.util.regex.Pattern v, v;
java.lang.String[] v, v, v;
java.util.HashMap v;
java.util.HashSet v;
int v, v, v, v, v, v, v, v, v;
java.util.Iterator v, v;
org.openjdk.jmh.util.CountingMap v;
org.openjdk.jmh.profile.AbstractPerfAsmProfiler v;
java.lang.Object v, v, v, v, v, v, v, v, v;
v := @this: org.openjdk.jmh.profile.AbstractPerfAsmProfiler;
v := @parameter: java.io.File;
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>()>();
v = new java.util.TreeMap;
specialinvoke v.<java.util.TreeMap: void <init>()>();
v = new org.openjdk.jmh.util.IntervalMap;
specialinvoke v.<org.openjdk.jmh.util.IntervalMap: void <init>()>();
v = new org.openjdk.jmh.util.IntervalMap;
specialinvoke v.<org.openjdk.jmh.util.IntervalMap: void <init>()>();
v = new java.util.HashSet;
specialinvoke v.<java.util.HashSet: void <init>()>();
v = new org.openjdk.jmh.util.CountingMap;
specialinvoke v.<org.openjdk.jmh.util.CountingMap: void <init>()>();
v = staticinvoke <java.util.regex.Pattern: java.util.regex.Pattern compile(java.lang.String)>("^(\\S.*)( +)\\[(.+), (.+)[\\]\\[](.*)");
v = staticinvoke <java.util.regex.Pattern: java.util.regex.Pattern compile(java.lang.String)>("(.*?)<nmethod (.*?)/>(.*?)");
v = specialinvoke v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler: java.util.Collection splitAssembly(java.io.File)>(v);
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 = "";
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 = virtualinvoke v.<java.lang.String: java.lang.String[] split(java.lang.String)>(" ");
v = new org.openjdk.jmh.profile.AbstractPerfAsmProfiler$ASMLine;
specialinvoke v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler$ASMLine: void <init>(java.lang.String)>(v);
v = v;
v = lengthof v;
if v <= 0 goto label;
v = v[0];
v = specialinvoke v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler: boolean maybeAddress(java.lang.String)>(v);
if v == 0 goto label;
label:
v = v[0];
v = specialinvoke v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler: long parseAddress(java.lang.String)>(v);
v = interfaceinvoke v.<java.util.List: int size()>();
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
interfaceinvoke v.<java.util.SortedMap: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
v = new org.openjdk.jmh.profile.AbstractPerfAsmProfiler$ASMLine;
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
specialinvoke v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler$ASMLine: void <init>(java.lang.Long,java.lang.String)>(v, v);
v = v;
v = lengthof v;
if v <= 1 goto label;
v = v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler: boolean drawInterJumps>;
if v != 0 goto label;
v = v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler: boolean drawIntraJumps>;
if v == 0 goto label;
label:
v = 1;
label:
v = lengthof v;
if v >= v goto label;
v = v[v];
v = specialinvoke v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler: boolean maybeAddress(java.lang.String)>(v);
if v == 0 goto label;
label:
v = v[v];
v = specialinvoke v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler: long parseAddress(java.lang.String)>(v);
v = new org.openjdk.jmh.util.Interval;
specialinvoke v.<org.openjdk.jmh.util.Interval: void <init>(long,long)>(v, v);
interfaceinvoke v.<java.util.Set: boolean add(java.lang.Object)>(v);
label:
goto label;
label:
v := @caughtexception;
label:
v = v + 1;
goto label;
label:
v := @caughtexception;
label:
v = virtualinvoke v.<java.lang.String: boolean contains(java.lang.CharSequence)>("--------");
if v != 0 goto label;
v = virtualinvoke v.<java.lang.String: boolean contains(java.lang.CharSequence)>("StubRoutines::");
if v == 0 goto label;
label:
v = virtualinvoke v.<java.util.regex.Pattern: java.util.regex.Matcher matcher(java.lang.CharSequence)>(v);
v = virtualinvoke v.<java.util.regex.Matcher: boolean matches()>();
if v == 0 goto label;
v = virtualinvoke v.<java.util.regex.Matcher: java.lang.String group(int)>(1);
v = virtualinvoke v.<java.util.regex.Matcher: java.lang.String group(int)>(3);
v = virtualinvoke v.<java.util.regex.Matcher: java.lang.String group(int)>(4);
v = specialinvoke v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler: boolean maybeAddress(java.lang.String)>(v);
if v == 0 goto label;
v = specialinvoke v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler: boolean maybeAddress(java.lang.String)>(v);
if v == 0 goto label;
v = specialinvoke v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler: long parseAddress(java.lang.String)>(v);
v = specialinvoke v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler: long parseAddress(java.lang.String)>(v);
v = virtualinvoke v.<java.lang.String: boolean contains(java.lang.CharSequence)>("StubRoutines::");
if v == 0 goto label;
v = staticinvoke <org.openjdk.jmh.profile.AbstractPerfAsmProfiler$MethodDesc: org.openjdk.jmh.profile.AbstractPerfAsmProfiler$MethodDesc runtimeStub(java.lang.String)>(v);
virtualinvoke v.<org.openjdk.jmh.util.IntervalMap: void add(java.lang.Object,long,long)>(v, v, v);
goto label;
label:
v = staticinvoke <org.openjdk.jmh.profile.AbstractPerfAsmProfiler$MethodDesc: org.openjdk.jmh.profile.AbstractPerfAsmProfiler$MethodDesc interpreter(java.lang.String)>(v);
virtualinvoke v.<org.openjdk.jmh.util.IntervalMap: void add(java.lang.Object,long,long)>(v, v, v);
label:
v = virtualinvoke v.<java.lang.String: boolean contains(java.lang.CharSequence)>("<nmethod");
if v == 0 goto label;
v = virtualinvoke v.<java.util.regex.Pattern: java.util.regex.Matcher matcher(java.lang.CharSequence)>(v);
v = virtualinvoke v.<java.util.regex.Matcher: boolean matches()>();
if v == 0 goto label;
v = virtualinvoke v.<java.util.regex.Matcher: java.lang.String group(int)>(2);
v = virtualinvoke v.<java.lang.String: java.lang.String replaceAll(java.lang.String,java.lang.String)>("=\'", "=");
v = virtualinvoke v.<java.lang.String: java.lang.String[] split(java.lang.String)>("\' ");
v = new java.util.HashMap;
specialinvoke v.<java.util.HashMap: void <init>()>();
v = lengthof v;
v = 0;
label:
if v >= v goto label;
v = v[v];
v = virtualinvoke v.<java.lang.String: java.lang.String[] split(java.lang.String)>("=");
v = lengthof v;
if v != 2 goto label;
v = v[0];
v = v[1];
virtualinvoke v.<java.util.HashMap: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
goto label;
label:
v = v[0];
virtualinvoke v.<java.util.HashMap: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, null);
label:
v = v + 1;
goto label;
label:
v = virtualinvoke v.<java.util.HashMap: java.lang.Object get(java.lang.Object)>("entry");
v = specialinvoke v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler: long parseAddress(java.lang.String)>(v);
v = virtualinvoke v.<java.util.HashMap: java.lang.Object get(java.lang.Object)>("method");
v = virtualinvoke v.<java.util.HashMap: java.lang.Object get(java.lang.Object)>("compiler");
v = virtualinvoke v.<java.util.HashMap: java.lang.Object get(java.lang.Object)>("level");
v = virtualinvoke v.<java.util.HashMap: java.lang.Object get(java.lang.Object)>("method");
v = virtualinvoke v.<org.openjdk.jmh.util.CountingMap: int incrementAndGet(java.lang.Object)>(v);
v = virtualinvoke v.<java.util.HashMap: java.lang.Object get(java.lang.Object)>("compile_id");
v = staticinvoke <org.openjdk.jmh.profile.AbstractPerfAsmProfiler$MethodDesc: org.openjdk.jmh.profile.AbstractPerfAsmProfiler$MethodDesc javaMethod(java.lang.String,java.lang.String,java.lang.String,int,java.lang.String)>(v, v, v, v, v);
v = virtualinvoke v.<java.util.HashMap: java.lang.Object get(java.lang.Object)>("size");
v = staticinvoke <java.lang.Long: long parseLong(java.lang.String)>(v);
v = v + v;
virtualinvoke v.<org.openjdk.jmh.util.IntervalMap: void add(java.lang.Object,long,long)>(v, v, v);
label:
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
v = v;
goto label;
label:
v = new org.openjdk.jmh.util.IntervalMap;
specialinvoke v.<org.openjdk.jmh.util.IntervalMap: void <init>()>();
virtualinvoke v.<org.openjdk.jmh.util.IntervalMap: void merge(org.openjdk.jmh.util.IntervalMap)>(v);
virtualinvoke v.<org.openjdk.jmh.util.IntervalMap: void merge(org.openjdk.jmh.util.IntervalMap)>(v);
v = new org.openjdk.jmh.profile.AbstractPerfAsmProfiler$Assembly;
specialinvoke v.<org.openjdk.jmh.profile.AbstractPerfAsmProfiler$Assembly: void <init>(java.util.List,java.util.SortedMap,org.openjdk.jmh.util.IntervalMap,java.util.Set)>(v, v, v, v);
return v;
catch java.lang.NumberFormatException from label to label with label;
catch java.lang.NumberFormatException from label to label with label;
}
private boolean maybeAddress(java.lang.String)
{
org.openjdk.jmh.profile.AbstractPerfAsmProfiler v;
java.lang.String v;
boolean v, v, v;
v := @this: org.openjdk.jmh.profile.AbstractPerfAsmProfiler;
v := @parameter: java.lang.String;
v = virtualinvoke v.<java.lang.String: boolean startsWith(java.lang.String)>("0x");
if v != 0 goto label;
v = virtualinvoke v.<java.lang.String: boolean endsWith(java.lang.String)>("h");
if v == 0 goto label;
label:
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
private long parseAddress(java.lang.String)
{
java.lang.NumberFormatException v;
long v, v;
org.openjdk.jmh.profile.AbstractPerfAsmProfiler v;
java.lang.String v, v, v, v, v;
boolean v, v;
v := @this: org.openjdk.jmh.profile.AbstractPerfAsmProfiler;
v := @parameter: java.lang.String;
v = virtualinvoke v.<java.lang.String: boolean startsWith(java.lang.String)>("0x");
if v == 0 goto label;
v = virtualinvoke v.<java.lang.String: java.lang.String replace(java.lang.CharSequence,java.lang.CharSequence)>("0x", "");
v = virtualinvoke v.<java.lang.String: java.lang.String replace(java.lang.CharSequence,java.lang.CharSequence)>(":", "");
v = staticinvoke <java.lang.Long: long parseLong(java.lang.String,int)>(v, 16);
return v;
label:
v = virtualinvoke v.<java.lang.String: boolean endsWith(java.lang.String)>("h");
if v == 0 goto label;
v = virtualinvoke v.<java.lang.String: java.lang.String replace(java.lang.CharSequence,java.lang.CharSequence)>("h", "");
v = staticinvoke <java.lang.Long: long parseLong(java.lang.String,int)>(v, 16);
return v;
label:
v = new java.lang.NumberFormatException;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(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[])>("Address format not recognized: \u0001");
specialinvoke v.<java.lang.NumberFormatException: void <init>(java.lang.String)>(v);
throw v;
}
}