public class org.graalvm.compiler.phases.common.inlining.InliningUtil extends org.graalvm.compiler.phases.util.ValueMergeUtil
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.graalvm.compiler.phases.common.inlining.InliningUtil
super_class: org.graalvm.compiler.phases.util.ValueMergeUtil
{
private static final java.lang.String inliningDecisionsScopeString;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "InliningDecisions"
private static final org.graalvm.compiler.nodes.ValueNode[] NO_ARGS;
descriptor: [Lorg/graalvm/compiler/nodes/ValueNode;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lorg/graalvm/compiler/phases/common/inlining/InliningUtil;
invokevirtual java.lang.Class.desiredAssertionStatus:()Z
ifne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: putstatic org.graalvm.compiler.phases.common.inlining.InliningUtil.$assertionsDisabled:Z
3: iconst_0
anewarray org.graalvm.compiler.nodes.ValueNode
putstatic org.graalvm.compiler.phases.common.inlining.InliningUtil.NO_ARGS:[Lorg/graalvm/compiler/nodes/ValueNode;
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial org.graalvm.compiler.phases.util.ValueMergeUtil.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/phases/common/inlining/InliningUtil;
private static void printInlining(org.graalvm.compiler.phases.common.inlining.info.InlineInfo, int, boolean, java.lang.String, java.lang.Object[]);
descriptor: (Lorg/graalvm/compiler/phases/common/inlining/info/InlineInfo;IZLjava/lang/String;[Ljava/lang/Object;)V
flags: (0x008a) ACC_PRIVATE, ACC_STATIC, ACC_VARARGS
Code:
stack=6, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
iconst_0
invokeinterface org.graalvm.compiler.phases.common.inlining.info.InlineInfo.methodAt:(I)Ljdk/vm/ci/meta/ResolvedJavaMethod;
aload 0
invokeinterface org.graalvm.compiler.phases.common.inlining.info.InlineInfo.invoke:()Lorg/graalvm/compiler/nodes/Invoke;
iload 1
iload 2
aload 3
aload 4
invokestatic org.graalvm.compiler.phases.common.inlining.InliningUtil.printInlining:(Ljdk/vm/ci/meta/ResolvedJavaMethod;Lorg/graalvm/compiler/nodes/Invoke;IZLjava/lang/String;[Ljava/lang/Object;)V
1: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 info Lorg/graalvm/compiler/phases/common/inlining/info/InlineInfo;
0 2 1 inliningDepth I
0 2 2 success Z
0 2 3 msg Ljava/lang/String;
0 2 4 args [Ljava/lang/Object;
MethodParameters:
Name Flags
info final
inliningDepth final
success final
msg final
args final
private static void printInlining(jdk.vm.ci.meta.ResolvedJavaMethod, org.graalvm.compiler.nodes.Invoke, int, boolean, java.lang.String, java.lang.Object[]);
descriptor: (Ljdk/vm/ci/meta/ResolvedJavaMethod;Lorg/graalvm/compiler/nodes/Invoke;IZLjava/lang/String;[Ljava/lang/Object;)V
flags: (0x008a) ACC_PRIVATE, ACC_STATIC, ACC_VARARGS
Code:
stack=6, locals=6, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: getstatic org.graalvm.compiler.core.common.GraalOptions.HotSpotPrintInlining:Lorg/graalvm/compiler/options/OptionKey;
aload 1
invokeinterface org.graalvm.compiler.nodes.Invoke.asNode:()Lorg/graalvm/compiler/nodes/FixedNode;
invokevirtual org.graalvm.compiler.nodes.FixedNode.getOptions:()Lorg/graalvm/compiler/options/OptionValues;
invokevirtual org.graalvm.compiler.options.OptionKey.getValue:(Lorg/graalvm/compiler/options/OptionValues;)Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
ifeq 2
1: aload 0
aload 1
invokeinterface org.graalvm.compiler.nodes.Invoke.bci:()I
iload 2
iload 3
aload 4
aload 5
invokestatic org.graalvm.compiler.core.common.util.Util.printInlining:(Ljdk/vm/ci/meta/ResolvedJavaMethod;IIZLjava/lang/String;[Ljava/lang/Object;)V
2: StackMap locals:
StackMap stack:
return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 method Ljdk/vm/ci/meta/ResolvedJavaMethod;
0 3 1 invoke Lorg/graalvm/compiler/nodes/Invoke;
0 3 2 inliningDepth I
0 3 3 success Z
0 3 4 msg Ljava/lang/String;
0 3 5 args [Ljava/lang/Object;
MethodParameters:
Name Flags
method final
invoke final
inliningDepth final
success final
msg final
args final
public static void logInlinedMethod(org.graalvm.compiler.phases.common.inlining.info.InlineInfo, int, boolean, java.lang.String, java.lang.Object[]);
descriptor: (Lorg/graalvm/compiler/phases/common/inlining/info/InlineInfo;IZLjava/lang/String;[Ljava/lang/Object;)V
flags: (0x0089) ACC_PUBLIC, ACC_STATIC, ACC_VARARGS
Code:
stack=6, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
iload 1
iload 2
iconst_1
aload 3
aload 4
invokestatic org.graalvm.compiler.phases.common.inlining.InliningUtil.logInliningDecision:(Lorg/graalvm/compiler/phases/common/inlining/info/InlineInfo;IZZLjava/lang/String;[Ljava/lang/Object;)V
1: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 info Lorg/graalvm/compiler/phases/common/inlining/info/InlineInfo;
0 2 1 inliningDepth I
0 2 2 allowLogging Z
0 2 3 msg Ljava/lang/String;
0 2 4 args [Ljava/lang/Object;
MethodParameters:
Name Flags
info
inliningDepth
allowLogging
msg
args
public static void logNotInlinedMethod(org.graalvm.compiler.phases.common.inlining.info.InlineInfo, int, java.lang.String, java.lang.Object[]);
descriptor: (Lorg/graalvm/compiler/phases/common/inlining/info/InlineInfo;ILjava/lang/String;[Ljava/lang/Object;)V
flags: (0x0089) ACC_PUBLIC, ACC_STATIC, ACC_VARARGS
Code:
stack=6, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
iload 1
iconst_1
iconst_0
aload 2
aload 3
invokestatic org.graalvm.compiler.phases.common.inlining.InliningUtil.logInliningDecision:(Lorg/graalvm/compiler/phases/common/inlining/info/InlineInfo;IZZLjava/lang/String;[Ljava/lang/Object;)V
1: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 info Lorg/graalvm/compiler/phases/common/inlining/info/InlineInfo;
0 2 1 inliningDepth I
0 2 2 msg Ljava/lang/String;
0 2 3 args [Ljava/lang/Object;
MethodParameters:
Name Flags
info
inliningDepth
msg
args
public static void logInliningDecision(org.graalvm.compiler.phases.common.inlining.info.InlineInfo, int, boolean, boolean, java.lang.String, java.lang.Object[]);
descriptor: (Lorg/graalvm/compiler/phases/common/inlining/info/InlineInfo;IZZLjava/lang/String;[Ljava/lang/Object;)V
flags: (0x0089) ACC_PUBLIC, ACC_STATIC, ACC_VARARGS
Code:
stack=5, locals=7, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: iload 2
ifeq 5
1: aload 0
iload 1
iload 3
aload 4
aload 5
invokestatic org.graalvm.compiler.phases.common.inlining.InliningUtil.printInlining:(Lorg/graalvm/compiler/phases/common/inlining/info/InlineInfo;IZLjava/lang/String;[Ljava/lang/Object;)V
2: aload 0
invokeinterface org.graalvm.compiler.phases.common.inlining.info.InlineInfo.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getDebug:()Lorg/graalvm/compiler/debug/DebugContext;
astore 6
start local 6 3: aload 6
invokestatic org.graalvm.compiler.phases.common.inlining.InliningUtil.shouldLogInliningDecision:(Lorg/graalvm/compiler/debug/DebugContext;)Z
ifeq 5
4: aload 6
aload 0
invokestatic org.graalvm.compiler.phases.common.inlining.InliningUtil.methodName:(Lorg/graalvm/compiler/phases/common/inlining/info/InlineInfo;)Ljava/lang/String;
iload 3
aload 4
aload 5
invokestatic org.graalvm.compiler.phases.common.inlining.InliningUtil.logInliningDecision:(Lorg/graalvm/compiler/debug/DebugContext;Ljava/lang/String;ZLjava/lang/String;[Ljava/lang/Object;)V
end local 6 5: StackMap locals:
StackMap stack:
return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 info Lorg/graalvm/compiler/phases/common/inlining/info/InlineInfo;
0 6 1 inliningDepth I
0 6 2 allowLogging Z
0 6 3 success Z
0 6 4 msg Ljava/lang/String;
0 6 5 args [Ljava/lang/Object;
3 5 6 debug Lorg/graalvm/compiler/debug/DebugContext;
MethodParameters:
Name Flags
info
inliningDepth
allowLogging
success
msg
args final
public static void logInliningDecision(org.graalvm.compiler.debug.DebugContext, java.lang.String, java.lang.Object[]);
descriptor: (Lorg/graalvm/compiler/debug/DebugContext;Ljava/lang/String;[Ljava/lang/Object;)V
flags: (0x0089) ACC_PUBLIC, ACC_STATIC, ACC_VARARGS
Code:
stack=3, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aconst_null
astore 3
aconst_null
astore 4
1: aload 0
ldc "InliningDecisions"
invokevirtual org.graalvm.compiler.debug.DebugContext.scope:(Ljava/lang/Object;)Lorg/graalvm/compiler/debug/DebugContext$Scope;
astore 5
start local 5 2: aload 0
invokevirtual org.graalvm.compiler.debug.DebugContext.isLogEnabled:()Z
ifeq 4
3: aload 0
aload 1
aload 2
invokevirtual org.graalvm.compiler.debug.DebugContext.logv:(Ljava/lang/String;[Ljava/lang/Object;)V
4: StackMap locals: java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope
StackMap stack:
aload 5
ifnull 10
aload 5
invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
goto 10
StackMap locals:
StackMap stack: java.lang.Throwable
5: astore 3
aload 5
ifnull 6
aload 5
invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
end local 5 StackMap locals:
StackMap stack:
6: aload 3
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
7: astore 4
aload 3
ifnonnull 8
aload 4
astore 3
goto 9
StackMap locals:
StackMap stack:
8: aload 3
aload 4
if_acmpeq 9
aload 3
aload 4
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
9: aload 3
athrow
10: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 debug Lorg/graalvm/compiler/debug/DebugContext;
0 11 1 msg Ljava/lang/String;
0 11 2 args [Ljava/lang/Object;
2 6 5 s Lorg/graalvm/compiler/debug/DebugContext$Scope;
Exception table:
from to target type
2 4 5 any
1 7 7 any
MethodParameters:
Name Flags
debug
msg final
args final
public static void logNotInlinedMethod(org.graalvm.compiler.nodes.Invoke, java.lang.String);
descriptor: (Lorg/graalvm/compiler/nodes/Invoke;Ljava/lang/String;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=5, args_size=2
start local 0 start local 1 0: aload 0
invokeinterface org.graalvm.compiler.nodes.Invoke.asNode:()Lorg/graalvm/compiler/nodes/FixedNode;
invokevirtual org.graalvm.compiler.nodes.FixedNode.getDebug:()Lorg/graalvm/compiler/debug/DebugContext;
astore 2
start local 2 1: aload 2
invokestatic org.graalvm.compiler.phases.common.inlining.InliningUtil.shouldLogInliningDecision:(Lorg/graalvm/compiler/debug/DebugContext;)Z
ifeq 10
2: aload 0
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
astore 3
start local 3 3: aload 0
invokeinterface org.graalvm.compiler.nodes.Invoke.callTarget:()Lorg/graalvm/compiler/nodes/CallTargetNode;
ifnonnull 6
4: new java.lang.StringBuilder
dup
aload 3
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " callTarget=null"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 3
5: goto 9
6: StackMap locals: org.graalvm.compiler.debug.DebugContext java.lang.String
StackMap stack:
aload 0
invokeinterface org.graalvm.compiler.nodes.Invoke.callTarget:()Lorg/graalvm/compiler/nodes/CallTargetNode;
invokevirtual org.graalvm.compiler.nodes.CallTargetNode.targetName:()Ljava/lang/String;
astore 4
start local 4 7: aload 3
aload 4
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifne 9
8: new java.lang.StringBuilder
dup
aload 3
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 3
end local 4 9: StackMap locals:
StackMap stack:
aload 2
aload 3
iconst_0
aload 1
iconst_0
anewarray java.lang.Object
invokestatic org.graalvm.compiler.phases.common.inlining.InliningUtil.logInliningDecision:(Lorg/graalvm/compiler/debug/DebugContext;Ljava/lang/String;ZLjava/lang/String;[Ljava/lang/Object;)V
end local 3 10: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 invoke Lorg/graalvm/compiler/nodes/Invoke;
0 11 1 msg Ljava/lang/String;
1 11 2 debug Lorg/graalvm/compiler/debug/DebugContext;
3 10 3 methodString Ljava/lang/String;
7 9 4 targetName Ljava/lang/String;
MethodParameters:
Name Flags
invoke
msg
public static void logNotInlined(org.graalvm.compiler.nodes.Invoke, int, jdk.vm.ci.meta.ResolvedJavaMethod, java.lang.String);
descriptor: (Lorg/graalvm/compiler/nodes/Invoke;ILjdk/vm/ci/meta/ResolvedJavaMethod;Ljava/lang/String;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
iload 1
aload 2
aload 3
iconst_0
anewarray java.lang.Object
invokestatic org.graalvm.compiler.phases.common.inlining.InliningUtil.logNotInlinedInvoke:(Lorg/graalvm/compiler/nodes/Invoke;ILjdk/vm/ci/meta/ResolvedJavaMethod;Ljava/lang/String;[Ljava/lang/Object;)V
1: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 invoke Lorg/graalvm/compiler/nodes/Invoke;
0 2 1 inliningDepth I
0 2 2 method Ljdk/vm/ci/meta/ResolvedJavaMethod;
0 2 3 msg Ljava/lang/String;
MethodParameters:
Name Flags
invoke
inliningDepth
method
msg
public static void logNotInlinedInvoke(org.graalvm.compiler.nodes.Invoke, int, jdk.vm.ci.meta.ResolvedJavaMethod, java.lang.String, java.lang.Object[]);
descriptor: (Lorg/graalvm/compiler/nodes/Invoke;ILjdk/vm/ci/meta/ResolvedJavaMethod;Ljava/lang/String;[Ljava/lang/Object;)V
flags: (0x0089) ACC_PUBLIC, ACC_STATIC, ACC_VARARGS
Code:
stack=6, locals=7, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
invokeinterface org.graalvm.compiler.nodes.Invoke.asNode:()Lorg/graalvm/compiler/nodes/FixedNode;
invokevirtual org.graalvm.compiler.nodes.FixedNode.getDebug:()Lorg/graalvm/compiler/debug/DebugContext;
astore 5
start local 5 1: aload 2
aload 0
iload 1
iconst_0
aload 3
aload 4
invokestatic org.graalvm.compiler.phases.common.inlining.InliningUtil.printInlining:(Ljdk/vm/ci/meta/ResolvedJavaMethod;Lorg/graalvm/compiler/nodes/Invoke;IZLjava/lang/String;[Ljava/lang/Object;)V
2: aload 5
invokestatic org.graalvm.compiler.phases.common.inlining.InliningUtil.shouldLogInliningDecision:(Lorg/graalvm/compiler/debug/DebugContext;)Z
ifeq 5
3: aload 2
aload 0
invokestatic org.graalvm.compiler.phases.common.inlining.InliningUtil.methodName:(Ljdk/vm/ci/meta/ResolvedJavaMethod;Lorg/graalvm/compiler/nodes/Invoke;)Ljava/lang/String;
astore 6
start local 6 4: aload 5
aload 6
iconst_0
aload 3
aload 4
invokestatic org.graalvm.compiler.phases.common.inlining.InliningUtil.logInliningDecision:(Lorg/graalvm/compiler/debug/DebugContext;Ljava/lang/String;ZLjava/lang/String;[Ljava/lang/Object;)V
end local 6 5: StackMap locals: org.graalvm.compiler.debug.DebugContext
StackMap stack:
return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 invoke Lorg/graalvm/compiler/nodes/Invoke;
0 6 1 inliningDepth I
0 6 2 method Ljdk/vm/ci/meta/ResolvedJavaMethod;
0 6 3 msg Ljava/lang/String;
0 6 4 args [Ljava/lang/Object;
1 6 5 debug Lorg/graalvm/compiler/debug/DebugContext;
4 5 6 methodString Ljava/lang/String;
MethodParameters:
Name Flags
invoke
inliningDepth
method
msg
args
private static void logInliningDecision(org.graalvm.compiler.debug.DebugContext, java.lang.String, boolean, java.lang.String, java.lang.Object[]);
descriptor: (Lorg/graalvm/compiler/debug/DebugContext;Ljava/lang/String;ZLjava/lang/String;[Ljava/lang/Object;)V
flags: (0x008a) ACC_PRIVATE, ACC_STATIC, ACC_VARARGS
Code:
stack=3, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: new java.lang.StringBuilder
dup
ldc "inlining "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ": "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 5
start local 5 1: iload 2
ifne 3
2: new java.lang.StringBuilder
dup
ldc "not "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 5
3: StackMap locals: java.lang.String
StackMap stack:
aload 0
aload 5
aload 4
invokestatic org.graalvm.compiler.phases.common.inlining.InliningUtil.logInliningDecision:(Lorg/graalvm/compiler/debug/DebugContext;Ljava/lang/String;[Ljava/lang/Object;)V
4: return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 debug Lorg/graalvm/compiler/debug/DebugContext;
0 5 1 methodString Ljava/lang/String;
0 5 2 success Z
0 5 3 msg Ljava/lang/String;
0 5 4 args [Ljava/lang/Object;
1 5 5 inliningMsg Ljava/lang/String;
MethodParameters:
Name Flags
debug
methodString final
success final
msg final
args final
public static boolean shouldLogInliningDecision(org.graalvm.compiler.debug.DebugContext);
descriptor: (Lorg/graalvm/compiler/debug/DebugContext;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=4, args_size=1
start local 0 0: aconst_null
astore 1
aconst_null
astore 2
1: aload 0
ldc "InliningDecisions"
invokevirtual org.graalvm.compiler.debug.DebugContext.scope:(Ljava/lang/Object;)Lorg/graalvm/compiler/debug/DebugContext$Scope;
astore 3
start local 3 2: aload 0
invokevirtual org.graalvm.compiler.debug.DebugContext.isLogEnabled:()Z
3: aload 3
ifnull 4
aload 3
invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
4: StackMap locals: org.graalvm.compiler.debug.DebugContext java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope
StackMap stack: int
ireturn
StackMap locals:
StackMap stack: java.lang.Throwable
5: astore 1
6: aload 3
ifnull 7
aload 3
invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
end local 3 StackMap locals:
StackMap stack:
7: aload 1
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
8: astore 2
aload 1
ifnonnull 9
aload 2
astore 1
goto 10
StackMap locals:
StackMap stack:
9: aload 1
aload 2
if_acmpeq 10
aload 1
aload 2
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
10: aload 1
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 debug Lorg/graalvm/compiler/debug/DebugContext;
2 7 3 s Lorg/graalvm/compiler/debug/DebugContext$Scope;
Exception table:
from to target type
2 3 5 any
1 4 8 any
5 8 8 any
MethodParameters:
Name Flags
debug
private static java.lang.String methodName(jdk.vm.ci.meta.ResolvedJavaMethod, org.graalvm.compiler.nodes.Invoke);
descriptor: (Ljdk/vm/ci/meta/ResolvedJavaMethod;Lorg/graalvm/compiler/nodes/Invoke;)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ifnull 2
aload 1
invokeinterface org.graalvm.compiler.nodes.Invoke.stateAfter:()Lorg/graalvm/compiler/nodes/FrameState;
ifnull 2
1: new java.lang.StringBuilder
dup
aload 1
invokeinterface org.graalvm.compiler.nodes.Invoke.stateAfter:()Lorg/graalvm/compiler/nodes/FrameState;
aload 1
invokeinterface org.graalvm.compiler.nodes.Invoke.bci:()I
invokestatic org.graalvm.compiler.phases.common.inlining.InliningUtil.methodName:(Lorg/graalvm/compiler/nodes/FrameState;I)Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ": "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
ldc "%H.%n(%p):%r"
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.format:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " ("
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getCodeSize:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " bytes)"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
2: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
aload 0
ldc "%H.%n(%p):%r"
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.format:(Ljava/lang/String;)Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " ("
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getCodeSize:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " bytes)"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 method Ljdk/vm/ci/meta/ResolvedJavaMethod;
0 3 1 invoke Lorg/graalvm/compiler/nodes/Invoke;
MethodParameters:
Name Flags
method
invoke
private static java.lang.String methodName(org.graalvm.compiler.phases.common.inlining.info.InlineInfo);
descriptor: (Lorg/graalvm/compiler/phases/common/inlining/info/InlineInfo;)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
ifnonnull 2
1: ldc "null"
areturn
2: StackMap locals:
StackMap stack:
aload 0
invokeinterface org.graalvm.compiler.phases.common.inlining.info.InlineInfo.invoke:()Lorg/graalvm/compiler/nodes/Invoke;
ifnull 4
aload 0
invokeinterface org.graalvm.compiler.phases.common.inlining.info.InlineInfo.invoke:()Lorg/graalvm/compiler/nodes/Invoke;
invokeinterface org.graalvm.compiler.nodes.Invoke.stateAfter:()Lorg/graalvm/compiler/nodes/FrameState;
ifnull 4
3: new java.lang.StringBuilder
dup
aload 0
invokeinterface org.graalvm.compiler.phases.common.inlining.info.InlineInfo.invoke:()Lorg/graalvm/compiler/nodes/Invoke;
invokeinterface org.graalvm.compiler.nodes.Invoke.stateAfter:()Lorg/graalvm/compiler/nodes/FrameState;
aload 0
invokeinterface org.graalvm.compiler.phases.common.inlining.info.InlineInfo.invoke:()Lorg/graalvm/compiler/nodes/Invoke;
invokeinterface org.graalvm.compiler.nodes.Invoke.bci:()I
invokestatic org.graalvm.compiler.phases.common.inlining.InliningUtil.methodName:(Lorg/graalvm/compiler/nodes/FrameState;I)Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ": "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
4: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 info Lorg/graalvm/compiler/phases/common/inlining/info/InlineInfo;
MethodParameters:
Name Flags
info
private static java.lang.String methodName(org.graalvm.compiler.nodes.FrameState, int);
descriptor: (Lorg/graalvm/compiler/nodes/FrameState;I)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 2
start local 2 1: aload 0
invokevirtual org.graalvm.compiler.nodes.FrameState.outerFrameState:()Lorg/graalvm/compiler/nodes/FrameState;
ifnull 4
2: aload 2
aload 0
invokevirtual org.graalvm.compiler.nodes.FrameState.outerFrameState:()Lorg/graalvm/compiler/nodes/FrameState;
aload 0
invokevirtual org.graalvm.compiler.nodes.FrameState.outerFrameState:()Lorg/graalvm/compiler/nodes/FrameState;
getfield org.graalvm.compiler.nodes.FrameState.bci:I
invokestatic org.graalvm.compiler.phases.common.inlining.InliningUtil.methodName:(Lorg/graalvm/compiler/nodes/FrameState;I)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
3: aload 2
ldc "->"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
4: StackMap locals: java.lang.StringBuilder
StackMap stack:
aload 0
invokevirtual org.graalvm.compiler.nodes.FrameState.getMethod:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
astore 3
start local 3 5: aload 2
aload 3
ifnull 6
aload 3
ldc "%h.%n"
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.format:(Ljava/lang/String;)Ljava/lang/String;
goto 7
StackMap locals: org.graalvm.compiler.nodes.FrameState int java.lang.StringBuilder jdk.vm.ci.meta.ResolvedJavaMethod
StackMap stack: java.lang.StringBuilder
6: ldc "?"
StackMap locals: org.graalvm.compiler.nodes.FrameState int java.lang.StringBuilder jdk.vm.ci.meta.ResolvedJavaMethod
StackMap stack: java.lang.StringBuilder java.lang.String
7: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
8: aload 2
ldc "@"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 1
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
pop
9: aload 2
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 frameState Lorg/graalvm/compiler/nodes/FrameState;
0 10 1 bci I
1 10 2 sb Ljava/lang/StringBuilder;
5 10 3 method Ljdk/vm/ci/meta/ResolvedJavaMethod;
MethodParameters:
Name Flags
frameState
bci
public static void replaceInvokeCallTarget(org.graalvm.compiler.nodes.Invoke, org.graalvm.compiler.nodes.StructuredGraph, org.graalvm.compiler.nodes.CallTargetNode$InvokeKind, jdk.vm.ci.meta.ResolvedJavaMethod);
descriptor: (Lorg/graalvm/compiler/nodes/Invoke;Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/CallTargetNode$InvokeKind;Ljdk/vm/ci/meta/ResolvedJavaMethod;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=8, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokeinterface org.graalvm.compiler.nodes.Invoke.callTarget:()Lorg/graalvm/compiler/nodes/CallTargetNode;
checkcast org.graalvm.compiler.nodes.java.MethodCallTargetNode
astore 4
start local 4 1: aload 1
new org.graalvm.compiler.nodes.java.MethodCallTargetNode
dup
aload 2
aload 3
aload 4
invokevirtual org.graalvm.compiler.nodes.java.MethodCallTargetNode.arguments:()Lorg/graalvm/compiler/graph/NodeInputList;
iconst_0
anewarray org.graalvm.compiler.nodes.ValueNode
invokevirtual org.graalvm.compiler.graph.NodeInputList.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.ValueNode[]
aload 4
invokevirtual org.graalvm.compiler.nodes.java.MethodCallTargetNode.returnStamp:()Lorg/graalvm/compiler/core/common/type/StampPair;
2: aload 4
invokevirtual org.graalvm.compiler.nodes.java.MethodCallTargetNode.getProfile:()Ljdk/vm/ci/meta/JavaTypeProfile;
invokespecial org.graalvm.compiler.nodes.java.MethodCallTargetNode.<init>:(Lorg/graalvm/compiler/nodes/CallTargetNode$InvokeKind;Ljdk/vm/ci/meta/ResolvedJavaMethod;[Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/common/type/StampPair;Ljdk/vm/ci/meta/JavaTypeProfile;)V
3: invokevirtual org.graalvm.compiler.nodes.StructuredGraph.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.java.MethodCallTargetNode
astore 5
start local 5 4: aload 0
invokeinterface org.graalvm.compiler.nodes.Invoke.asNode:()Lorg/graalvm/compiler/nodes/FixedNode;
aload 4
aload 5
invokevirtual org.graalvm.compiler.nodes.FixedNode.replaceFirstInput:(Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;)V
5: return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 invoke Lorg/graalvm/compiler/nodes/Invoke;
0 6 1 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
0 6 2 invokeKind Lorg/graalvm/compiler/nodes/CallTargetNode$InvokeKind;
0 6 3 targetMethod Ljdk/vm/ci/meta/ResolvedJavaMethod;
1 6 4 oldCallTarget Lorg/graalvm/compiler/nodes/java/MethodCallTargetNode;
4 6 5 newCallTarget Lorg/graalvm/compiler/nodes/java/MethodCallTargetNode;
MethodParameters:
Name Flags
invoke
graph
invokeKind
targetMethod
public static org.graalvm.compiler.nodes.PiNode createAnchoredReceiver(org.graalvm.compiler.nodes.StructuredGraph, org.graalvm.compiler.nodes.extended.GuardingNode, jdk.vm.ci.meta.ResolvedJavaType, org.graalvm.compiler.nodes.ValueNode, boolean);
descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/extended/GuardingNode;Ljdk/vm/ci/meta/ResolvedJavaType;Lorg/graalvm/compiler/nodes/ValueNode;Z)Lorg/graalvm/compiler/nodes/PiNode;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
aload 1
aload 3
1: iload 4
ifeq 2
aload 2
invokestatic org.graalvm.compiler.core.common.type.TypeReference.createExactTrusted:(Ljdk/vm/ci/meta/ResolvedJavaType;)Lorg/graalvm/compiler/core/common/type/TypeReference;
invokestatic org.graalvm.compiler.core.common.type.StampFactory.objectNonNull:(Lorg/graalvm/compiler/core/common/type/TypeReference;)Lorg/graalvm/compiler/core/common/type/ObjectStamp;
goto 3
StackMap locals: org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.nodes.extended.GuardingNode jdk.vm.ci.meta.ResolvedJavaType org.graalvm.compiler.nodes.ValueNode int
StackMap stack: org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.nodes.extended.GuardingNode org.graalvm.compiler.nodes.ValueNode
2: aload 0
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getAssumptions:()Ljdk/vm/ci/meta/Assumptions;
aload 2
invokestatic org.graalvm.compiler.core.common.type.TypeReference.createTrusted:(Ljdk/vm/ci/meta/Assumptions;Ljdk/vm/ci/meta/ResolvedJavaType;)Lorg/graalvm/compiler/core/common/type/TypeReference;
invokestatic org.graalvm.compiler.core.common.type.StampFactory.objectNonNull:(Lorg/graalvm/compiler/core/common/type/TypeReference;)Lorg/graalvm/compiler/core/common/type/ObjectStamp;
3: StackMap locals: org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.nodes.extended.GuardingNode jdk.vm.ci.meta.ResolvedJavaType org.graalvm.compiler.nodes.ValueNode int
StackMap stack: org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.nodes.extended.GuardingNode org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.core.common.type.ObjectStamp
invokestatic org.graalvm.compiler.phases.common.inlining.InliningUtil.createAnchoredReceiver:(Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/extended/GuardingNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/common/type/Stamp;)Lorg/graalvm/compiler/nodes/PiNode;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
0 4 1 anchor Lorg/graalvm/compiler/nodes/extended/GuardingNode;
0 4 2 commonType Ljdk/vm/ci/meta/ResolvedJavaType;
0 4 3 receiver Lorg/graalvm/compiler/nodes/ValueNode;
0 4 4 exact Z
MethodParameters:
Name Flags
graph
anchor
commonType
receiver
exact
private static org.graalvm.compiler.nodes.PiNode createAnchoredReceiver(org.graalvm.compiler.nodes.StructuredGraph, org.graalvm.compiler.nodes.extended.GuardingNode, org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.core.common.type.Stamp);
descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/extended/GuardingNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/common/type/Stamp;)Lorg/graalvm/compiler/nodes/PiNode;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
new org.graalvm.compiler.nodes.PiNode
dup
aload 2
aload 3
aload 1
checkcast org.graalvm.compiler.nodes.ValueNode
invokespecial org.graalvm.compiler.nodes.PiNode.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/ValueNode;)V
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.unique:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.PiNode
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
0 1 1 anchor Lorg/graalvm/compiler/nodes/extended/GuardingNode;
0 1 2 receiver Lorg/graalvm/compiler/nodes/ValueNode;
0 1 3 stamp Lorg/graalvm/compiler/core/common/type/Stamp;
MethodParameters:
Name Flags
graph
anchor
receiver
stamp
public static java.lang.String checkInvokeConditions(org.graalvm.compiler.nodes.Invoke);
descriptor: (Lorg/graalvm/compiler/nodes/Invoke;)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=3, args_size=1
start local 0 0: aload 0
invokeinterface org.graalvm.compiler.nodes.Invoke.predecessor:()Lorg/graalvm/compiler/graph/Node;
ifnull 1
aload 0
invokeinterface org.graalvm.compiler.nodes.Invoke.asNode:()Lorg/graalvm/compiler/nodes/FixedNode;
invokevirtual org.graalvm.compiler.nodes.FixedNode.isAlive:()Z
ifne 2
1: StackMap locals:
StackMap stack:
ldc "the invoke is dead code"
areturn
2: StackMap locals:
StackMap stack:
aload 0
invokeinterface org.graalvm.compiler.nodes.Invoke.callTarget:()Lorg/graalvm/compiler/nodes/CallTargetNode;
instanceof org.graalvm.compiler.nodes.java.MethodCallTargetNode
ifne 4
3: ldc "the invoke has already been lowered, or has been created as a low-level node"
areturn
4: StackMap locals:
StackMap stack:
aload 0
invokeinterface org.graalvm.compiler.nodes.Invoke.callTarget:()Lorg/graalvm/compiler/nodes/CallTargetNode;
checkcast org.graalvm.compiler.nodes.java.MethodCallTargetNode
astore 1
start local 1 5: aload 1
invokevirtual org.graalvm.compiler.nodes.java.MethodCallTargetNode.targetMethod:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
ifnonnull 7
6: ldc "target method is null"
areturn
7: StackMap locals: org.graalvm.compiler.nodes.java.MethodCallTargetNode
StackMap stack:
getstatic org.graalvm.compiler.phases.common.inlining.InliningUtil.$assertionsDisabled:Z
ifne 8
aload 0
invokeinterface org.graalvm.compiler.nodes.Invoke.stateAfter:()Lorg/graalvm/compiler/nodes/FrameState;
ifnonnull 8
new java.lang.AssertionError
dup
aload 0
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
8: StackMap locals:
StackMap stack:
aload 0
invokeinterface org.graalvm.compiler.nodes.Invoke.useForInlining:()Z
ifne 10
9: ldc "the invoke is marked to be not used for inlining"
areturn
10: StackMap locals:
StackMap stack:
aload 1
invokevirtual org.graalvm.compiler.nodes.java.MethodCallTargetNode.receiver:()Lorg/graalvm/compiler/nodes/ValueNode;
astore 2
start local 2 11: aload 2
ifnull 13
aload 2
invokevirtual org.graalvm.compiler.nodes.ValueNode.isConstant:()Z
ifeq 13
aload 2
invokevirtual org.graalvm.compiler.nodes.ValueNode.isNullConstant:()Z
ifeq 13
12: ldc "receiver is null"
areturn
13: StackMap locals: org.graalvm.compiler.nodes.ValueNode
StackMap stack:
aconst_null
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 invoke Lorg/graalvm/compiler/nodes/Invoke;
5 14 1 callTarget Lorg/graalvm/compiler/nodes/java/MethodCallTargetNode;
11 14 2 receiver Lorg/graalvm/compiler/nodes/ValueNode;
MethodParameters:
Name Flags
invoke
public static org.graalvm.util.UnmodifiableEconomicMap<org.graalvm.compiler.graph.Node, org.graalvm.compiler.graph.Node> inline(org.graalvm.compiler.nodes.Invoke, org.graalvm.compiler.nodes.StructuredGraph, boolean, jdk.vm.ci.meta.ResolvedJavaMethod);
descriptor: (Lorg/graalvm/compiler/nodes/Invoke;Lorg/graalvm/compiler/nodes/StructuredGraph;ZLjdk/vm/ci/meta/ResolvedJavaMethod;)Lorg/graalvm/util/UnmodifiableEconomicMap;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=8, locals=22, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokeinterface org.graalvm.compiler.nodes.Invoke.asNode:()Lorg/graalvm/compiler/nodes/FixedNode;
astore 4
start local 4 1: aload 4
invokevirtual org.graalvm.compiler.nodes.FixedNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
astore 5
start local 5 2: aload 0
invokeinterface org.graalvm.compiler.nodes.Invoke.callTarget:()Lorg/graalvm/compiler/nodes/CallTargetNode;
invokevirtual org.graalvm.compiler.nodes.CallTargetNode.arguments:()Lorg/graalvm/compiler/graph/NodeInputList;
astore 6
start local 6 3: getstatic org.graalvm.compiler.phases.common.inlining.InliningUtil.$assertionsDisabled:Z
ifne 4
aload 1
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getGuardsStage:()Lorg/graalvm/compiler/nodes/StructuredGraph$GuardsStage;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph$GuardsStage.ordinal:()I
aload 5
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getGuardsStage:()Lorg/graalvm/compiler/nodes/StructuredGraph$GuardsStage;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph$GuardsStage.ordinal:()I
if_icmpge 4
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
4: StackMap locals: org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.graph.NodeInputList
StackMap stack:
getstatic org.graalvm.compiler.phases.common.inlining.InliningUtil.$assertionsDisabled:Z
ifne 5
aload 4
invokevirtual org.graalvm.compiler.nodes.FixedNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.isAfterFloatingReadPhase:()Z
ifeq 5
new java.lang.AssertionError
dup
ldc "inline isn't handled correctly after floating reads phase"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
5: StackMap locals:
StackMap stack:
iload 2
ifeq 7
aload 0
invokeinterface org.graalvm.compiler.nodes.Invoke.callTarget:()Lorg/graalvm/compiler/nodes/CallTargetNode;
checkcast org.graalvm.compiler.nodes.java.MethodCallTargetNode
invokevirtual org.graalvm.compiler.nodes.java.MethodCallTargetNode.isStatic:()Z
ifne 7
6: aload 0
invokestatic org.graalvm.compiler.phases.common.inlining.InliningUtil.nonNullReceiver:(Lorg/graalvm/compiler/nodes/Invoke;)Lorg/graalvm/compiler/nodes/ValueNode;
pop
7: StackMap locals:
StackMap stack:
new java.util.ArrayList
dup
aload 1
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getNodes:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.count:()I
invokespecial java.util.ArrayList.<init>:(I)V
astore 7
start local 7 8: new java.util.ArrayList
dup
iconst_4
invokespecial java.util.ArrayList.<init>:(I)V
astore 8
start local 8 9: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 9
start local 9 10: aconst_null
astore 10
start local 10 11: aload 1
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.start:()Lorg/graalvm/compiler/nodes/StartNode;
astore 11
start local 11 12: aload 11
invokevirtual org.graalvm.compiler.nodes.StartNode.next:()Lorg/graalvm/compiler/nodes/FixedNode;
astore 12
start local 12 13: aload 12
ifnonnull 15
14: new java.lang.IllegalStateException
dup
new java.lang.StringBuilder
dup
ldc "Inlined graph is in invalid state: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
15: StackMap locals: org.graalvm.compiler.nodes.Invoke org.graalvm.compiler.nodes.StructuredGraph int jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.graph.NodeInputList java.util.ArrayList java.util.ArrayList java.util.ArrayList org.graalvm.compiler.nodes.UnwindNode org.graalvm.compiler.nodes.StartNode org.graalvm.compiler.nodes.FixedNode
StackMap stack:
aload 1
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getNodes:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.iterator:()Ljava/util/Iterator;
astore 14
goto 36
StackMap locals: org.graalvm.compiler.nodes.Invoke org.graalvm.compiler.nodes.StructuredGraph int jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.graph.NodeInputList java.util.ArrayList java.util.ArrayList java.util.ArrayList org.graalvm.compiler.nodes.UnwindNode org.graalvm.compiler.nodes.StartNode org.graalvm.compiler.nodes.FixedNode top java.util.Iterator
StackMap stack:
16: aload 14
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.graph.Node
astore 13
start local 13 17: aload 13
aload 11
if_acmpeq 36
aload 13
aload 11
invokevirtual org.graalvm.compiler.nodes.StartNode.stateAfter:()Lorg/graalvm/compiler/nodes/FrameState;
if_acmpne 18
aload 13
invokevirtual org.graalvm.compiler.graph.Node.usages:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.count:()I
iconst_1
if_icmpeq 36
StackMap locals: org.graalvm.compiler.nodes.Invoke org.graalvm.compiler.nodes.StructuredGraph int jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.graph.NodeInputList java.util.ArrayList java.util.ArrayList java.util.ArrayList org.graalvm.compiler.nodes.UnwindNode org.graalvm.compiler.nodes.StartNode org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.graph.Node java.util.Iterator
StackMap stack:
18: aload 13
instanceof org.graalvm.compiler.nodes.ParameterNode
ifne 36
19: aload 7
aload 13
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
20: aload 13
instanceof org.graalvm.compiler.nodes.ReturnNode
ifeq 23
21: aload 8
aload 13
checkcast org.graalvm.compiler.nodes.ReturnNode
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
22: goto 36
StackMap locals:
StackMap stack:
23: aload 13
instanceof org.graalvm.compiler.nodes.Invoke
ifeq 33
24: aload 13
checkcast org.graalvm.compiler.nodes.Invoke
astore 15
start local 15 25: aload 15
invokeinterface org.graalvm.compiler.nodes.Invoke.bci:()I
bipush -5
if_icmpne 36
26: aload 3
astore 16
start local 16 27: aload 15
invokeinterface org.graalvm.compiler.nodes.Invoke.callTarget:()Lorg/graalvm/compiler/nodes/CallTargetNode;
invokevirtual org.graalvm.compiler.nodes.CallTargetNode.targetMethod:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
astore 17
start local 17 28: getstatic org.graalvm.compiler.phases.common.inlining.InliningUtil.$assertionsDisabled:Z
ifne 31
aload 16
aload 17
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifne 31
new java.lang.AssertionError
dup
ldc "invoke in inlined method expected to be partial intrinsic exit (i.e., call to %s), not a call to %s"
iconst_2
anewarray java.lang.Object
dup
iconst_0
29: aload 16
ldc "%H.%n(%p)"
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.format:(Ljava/lang/String;)Ljava/lang/String;
aastore
dup
iconst_1
aload 17
ldc "%H.%n(%p)"
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.format:(Ljava/lang/String;)Ljava/lang/String;
aastore
30: invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
31: StackMap locals: org.graalvm.compiler.nodes.Invoke jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.ResolvedJavaMethod
StackMap stack:
aload 9
aload 15
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
end local 17 end local 16 end local 15 32: goto 36
StackMap locals:
StackMap stack:
33: aload 13
instanceof org.graalvm.compiler.nodes.UnwindNode
ifeq 36
34: getstatic org.graalvm.compiler.phases.common.inlining.InliningUtil.$assertionsDisabled:Z
ifne 35
aload 10
ifnull 35
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
35: StackMap locals:
StackMap stack:
aload 13
checkcast org.graalvm.compiler.nodes.UnwindNode
astore 10
end local 13 36: StackMap locals: org.graalvm.compiler.nodes.Invoke org.graalvm.compiler.nodes.StructuredGraph int jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.graph.NodeInputList java.util.ArrayList java.util.ArrayList java.util.ArrayList org.graalvm.compiler.nodes.UnwindNode org.graalvm.compiler.nodes.StartNode org.graalvm.compiler.nodes.FixedNode top java.util.Iterator
StackMap stack:
aload 14
invokeinterface java.util.Iterator.hasNext:()Z
ifne 16
37: aload 4
invokestatic org.graalvm.compiler.nodes.AbstractBeginNode.prevBegin:(Lorg/graalvm/compiler/nodes/FixedNode;)Lorg/graalvm/compiler/nodes/AbstractBeginNode;
astore 13
start local 13 38: new org.graalvm.compiler.phases.common.inlining.InliningUtil$1
dup
aload 6
aload 11
aload 13
invokespecial org.graalvm.compiler.phases.common.inlining.InliningUtil$1.<init>:(Lorg/graalvm/compiler/graph/NodeInputList;Lorg/graalvm/compiler/nodes/StartNode;Lorg/graalvm/compiler/nodes/AbstractBeginNode;)V
astore 14
start local 14 39: getstatic org.graalvm.compiler.phases.common.inlining.InliningUtil.$assertionsDisabled:Z
ifne 40
aload 4
invokevirtual org.graalvm.compiler.nodes.FixedNode.successors:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.first:()Lorg/graalvm/compiler/graph/Node;
ifnonnull 40
new java.lang.AssertionError
dup
aload 0
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
40: StackMap locals: org.graalvm.compiler.nodes.Invoke org.graalvm.compiler.nodes.StructuredGraph int jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.graph.NodeInputList java.util.ArrayList java.util.ArrayList java.util.ArrayList org.graalvm.compiler.nodes.UnwindNode org.graalvm.compiler.nodes.StartNode org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.AbstractBeginNode org.graalvm.compiler.graph.Graph$DuplicationReplacement
StackMap stack:
getstatic org.graalvm.compiler.phases.common.inlining.InliningUtil.$assertionsDisabled:Z
ifne 41
aload 4
invokevirtual org.graalvm.compiler.nodes.FixedNode.predecessor:()Lorg/graalvm/compiler/graph/Node;
ifnonnull 41
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
41: StackMap locals:
StackMap stack:
aload 5
aload 7
aload 1
aload 1
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getNodeCount:()I
aload 14
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.addDuplicates:(Ljava/lang/Iterable;Lorg/graalvm/compiler/graph/Graph;ILorg/graalvm/compiler/graph/Graph$DuplicationReplacement;)Lorg/graalvm/util/EconomicMap;
astore 15
start local 15 42: aload 0
invokeinterface org.graalvm.compiler.nodes.Invoke.stateAfter:()Lorg/graalvm/compiler/nodes/FrameState;
astore 16
start local 16 43: getstatic org.graalvm.compiler.phases.common.inlining.InliningUtil.$assertionsDisabled:Z
ifne 44
aload 16
ifnull 44
aload 16
invokevirtual org.graalvm.compiler.nodes.FrameState.isAlive:()Z
ifne 44
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
44: StackMap locals: org.graalvm.util.EconomicMap org.graalvm.compiler.nodes.FrameState
StackMap stack:
aconst_null
astore 17
start local 17 45: aload 0
instanceof org.graalvm.compiler.nodes.InvokeWithExceptionNode
ifeq 50
46: aload 0
checkcast org.graalvm.compiler.nodes.InvokeWithExceptionNode
astore 18
start local 18 47: aload 10
ifnull 50
48: aload 18
invokevirtual org.graalvm.compiler.nodes.InvokeWithExceptionNode.exceptionEdge:()Lorg/graalvm/compiler/nodes/AbstractBeginNode;
checkcast org.graalvm.compiler.nodes.java.ExceptionObjectNode
astore 19
start local 19 49: aload 19
invokevirtual org.graalvm.compiler.nodes.java.ExceptionObjectNode.stateAfter:()Lorg/graalvm/compiler/nodes/FrameState;
astore 17
end local 19 end local 18 50: StackMap locals: org.graalvm.compiler.nodes.FrameState
StackMap stack:
aload 0
aload 1
aload 15
aload 1
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.method:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
aload 3
invokestatic java.util.Objects.equals:(Ljava/lang/Object;Ljava/lang/Object;)Z
ifeq 51
iconst_0
goto 52
StackMap locals: org.graalvm.compiler.nodes.Invoke org.graalvm.compiler.nodes.StructuredGraph int jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.graph.NodeInputList java.util.ArrayList java.util.ArrayList java.util.ArrayList org.graalvm.compiler.nodes.UnwindNode org.graalvm.compiler.nodes.StartNode org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.AbstractBeginNode org.graalvm.compiler.graph.Graph$DuplicationReplacement org.graalvm.util.EconomicMap org.graalvm.compiler.nodes.FrameState org.graalvm.compiler.nodes.FrameState
StackMap stack: org.graalvm.compiler.nodes.Invoke org.graalvm.compiler.nodes.StructuredGraph org.graalvm.util.EconomicMap
51: iconst_1
StackMap locals: org.graalvm.compiler.nodes.Invoke org.graalvm.compiler.nodes.StructuredGraph int jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.graph.NodeInputList java.util.ArrayList java.util.ArrayList java.util.ArrayList org.graalvm.compiler.nodes.UnwindNode org.graalvm.compiler.nodes.StartNode org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.AbstractBeginNode org.graalvm.compiler.graph.Graph$DuplicationReplacement org.graalvm.util.EconomicMap org.graalvm.compiler.nodes.FrameState org.graalvm.compiler.nodes.FrameState
StackMap stack: org.graalvm.compiler.nodes.Invoke org.graalvm.compiler.nodes.StructuredGraph org.graalvm.util.EconomicMap int
52: invokestatic org.graalvm.compiler.phases.common.inlining.InliningUtil.updateSourcePositions:(Lorg/graalvm/compiler/nodes/Invoke;Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/util/UnmodifiableEconomicMap;Z)V
53: aload 16
ifnull 65
54: aload 0
aload 1
aload 15
aload 17
aload 8
invokevirtual java.util.ArrayList.size:()I
iconst_1
if_icmple 55
iconst_1
goto 56
StackMap locals: org.graalvm.compiler.nodes.Invoke org.graalvm.compiler.nodes.StructuredGraph int jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.graph.NodeInputList java.util.ArrayList java.util.ArrayList java.util.ArrayList org.graalvm.compiler.nodes.UnwindNode org.graalvm.compiler.nodes.StartNode org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.AbstractBeginNode org.graalvm.compiler.graph.Graph$DuplicationReplacement org.graalvm.util.EconomicMap org.graalvm.compiler.nodes.FrameState org.graalvm.compiler.nodes.FrameState
StackMap stack: org.graalvm.compiler.nodes.Invoke org.graalvm.compiler.nodes.StructuredGraph org.graalvm.util.EconomicMap org.graalvm.compiler.nodes.FrameState
55: iconst_0
StackMap locals: org.graalvm.compiler.nodes.Invoke org.graalvm.compiler.nodes.StructuredGraph int jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.graph.NodeInputList java.util.ArrayList java.util.ArrayList java.util.ArrayList org.graalvm.compiler.nodes.UnwindNode org.graalvm.compiler.nodes.StartNode org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.AbstractBeginNode org.graalvm.compiler.graph.Graph$DuplicationReplacement org.graalvm.util.EconomicMap org.graalvm.compiler.nodes.FrameState org.graalvm.compiler.nodes.FrameState
StackMap stack: org.graalvm.compiler.nodes.Invoke org.graalvm.compiler.nodes.StructuredGraph org.graalvm.util.EconomicMap org.graalvm.compiler.nodes.FrameState int
56: invokestatic org.graalvm.compiler.phases.common.inlining.InliningUtil.processFrameStates:(Lorg/graalvm/compiler/nodes/Invoke;Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/util/EconomicMap;Lorg/graalvm/compiler/nodes/FrameState;Z)V
57: aload 16
invokevirtual org.graalvm.compiler.nodes.FrameState.nestedLockDepth:()I
istore 18
start local 18 58: iload 18
ifeq 66
59: aload 1
getstatic org.graalvm.compiler.nodes.java.MonitorIdNode.TYPE:Lorg/graalvm/compiler/graph/NodeClass;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getNodes:(Lorg/graalvm/compiler/graph/NodeClass;)Lorg/graalvm/compiler/graph/iterators/NodeIterable;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.iterator:()Ljava/util/Iterator;
astore 20
goto 63
StackMap locals: org.graalvm.compiler.nodes.Invoke org.graalvm.compiler.nodes.StructuredGraph int jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.graph.NodeInputList java.util.ArrayList java.util.ArrayList java.util.ArrayList org.graalvm.compiler.nodes.UnwindNode org.graalvm.compiler.nodes.StartNode org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.AbstractBeginNode org.graalvm.compiler.graph.Graph$DuplicationReplacement org.graalvm.util.EconomicMap org.graalvm.compiler.nodes.FrameState org.graalvm.compiler.nodes.FrameState int top java.util.Iterator
StackMap stack:
60: aload 20
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.java.MonitorIdNode
astore 19
start local 19 61: aload 15
aload 19
invokeinterface org.graalvm.util.EconomicMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.java.MonitorIdNode
astore 21
start local 21 62: aload 0
invokeinterface org.graalvm.compiler.nodes.Invoke.stateAfter:()Lorg/graalvm/compiler/nodes/FrameState;
aload 21
invokestatic org.graalvm.compiler.phases.common.inlining.InliningUtil.processMonitorId:(Lorg/graalvm/compiler/nodes/FrameState;Lorg/graalvm/compiler/nodes/java/MonitorIdNode;)V
end local 21 end local 19 63: StackMap locals:
StackMap stack:
aload 20
invokeinterface java.util.Iterator.hasNext:()Z
ifne 60
end local 18 64: goto 66
65: StackMap locals: org.graalvm.compiler.nodes.Invoke org.graalvm.compiler.nodes.StructuredGraph int jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.graph.NodeInputList java.util.ArrayList java.util.ArrayList java.util.ArrayList org.graalvm.compiler.nodes.UnwindNode org.graalvm.compiler.nodes.StartNode org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.AbstractBeginNode org.graalvm.compiler.graph.Graph$DuplicationReplacement org.graalvm.util.EconomicMap org.graalvm.compiler.nodes.FrameState org.graalvm.compiler.nodes.FrameState
StackMap stack:
getstatic org.graalvm.compiler.phases.common.inlining.InliningUtil.$assertionsDisabled:Z
ifne 66
aload 15
invokestatic org.graalvm.compiler.phases.common.inlining.InliningUtil.checkContainsOnlyInvalidOrAfterFrameState:(Lorg/graalvm/util/UnmodifiableEconomicMap;)Z
ifne 66
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
66: StackMap locals:
StackMap stack:
aload 15
aload 12
invokeinterface org.graalvm.util.EconomicMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.FixedNode
astore 12
67: iconst_0
istore 18
start local 18 68: goto 71
69: StackMap locals: int
StackMap stack:
aload 8
iload 18
aload 15
aload 8
iload 18
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
checkcast org.graalvm.compiler.graph.Node
invokeinterface org.graalvm.util.EconomicMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.ReturnNode
invokevirtual java.util.ArrayList.set:(ILjava/lang/Object;)Ljava/lang/Object;
pop
70: iinc 18 1
StackMap locals:
StackMap stack:
71: iload 18
aload 8
invokevirtual java.util.ArrayList.size:()I
if_icmplt 69
end local 18 72: aload 9
invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
astore 19
goto 80
StackMap locals: org.graalvm.compiler.nodes.Invoke org.graalvm.compiler.nodes.StructuredGraph int jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.graph.NodeInputList java.util.ArrayList java.util.ArrayList java.util.ArrayList org.graalvm.compiler.nodes.UnwindNode org.graalvm.compiler.nodes.StartNode org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.AbstractBeginNode org.graalvm.compiler.graph.Graph$DuplicationReplacement org.graalvm.util.EconomicMap org.graalvm.compiler.nodes.FrameState org.graalvm.compiler.nodes.FrameState top java.util.Iterator
StackMap stack:
73: aload 19
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.Invoke
astore 18
start local 18 74: aload 15
aload 18
invokeinterface org.graalvm.compiler.nodes.Invoke.asNode:()Lorg/graalvm/compiler/nodes/FixedNode;
invokeinterface org.graalvm.util.EconomicMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.Invoke
astore 20
start local 20 75: aload 20
instanceof org.graalvm.compiler.nodes.InvokeNode
ifeq 79
76: aload 5
new org.graalvm.compiler.nodes.InvokeNode
dup
aload 0
invokeinterface org.graalvm.compiler.nodes.Invoke.callTarget:()Lorg/graalvm/compiler/nodes/CallTargetNode;
aload 0
invokeinterface org.graalvm.compiler.nodes.Invoke.bci:()I
invokespecial org.graalvm.compiler.nodes.InvokeNode.<init>:(Lorg/graalvm/compiler/nodes/CallTargetNode;I)V
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.InvokeNode
astore 21
start local 21 77: aload 20
aload 21
invokevirtual org.graalvm.compiler.nodes.InvokeNode.asNode:()Lorg/graalvm/compiler/nodes/FixedWithNextNode;
invokeinterface org.graalvm.compiler.nodes.Invoke.intrinsify:(Lorg/graalvm/compiler/graph/Node;)V
end local 21 78: goto 80
79: StackMap locals: org.graalvm.compiler.nodes.Invoke org.graalvm.compiler.nodes.StructuredGraph int jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.graph.NodeInputList java.util.ArrayList java.util.ArrayList java.util.ArrayList org.graalvm.compiler.nodes.UnwindNode org.graalvm.compiler.nodes.StartNode org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.AbstractBeginNode org.graalvm.compiler.graph.Graph$DuplicationReplacement org.graalvm.util.EconomicMap org.graalvm.compiler.nodes.FrameState org.graalvm.compiler.nodes.FrameState org.graalvm.compiler.nodes.Invoke java.util.Iterator org.graalvm.compiler.nodes.Invoke
StackMap stack:
aload 20
checkcast org.graalvm.compiler.nodes.InvokeWithExceptionNode
aload 0
invokeinterface org.graalvm.compiler.nodes.Invoke.bci:()I
invokevirtual org.graalvm.compiler.nodes.InvokeWithExceptionNode.replaceWithNewBci:(I)V
end local 20 end local 18 80: StackMap locals: org.graalvm.compiler.nodes.Invoke org.graalvm.compiler.nodes.StructuredGraph int jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.graph.NodeInputList java.util.ArrayList java.util.ArrayList java.util.ArrayList org.graalvm.compiler.nodes.UnwindNode org.graalvm.compiler.nodes.StartNode org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.AbstractBeginNode org.graalvm.compiler.graph.Graph$DuplicationReplacement org.graalvm.util.EconomicMap org.graalvm.compiler.nodes.FrameState org.graalvm.compiler.nodes.FrameState top java.util.Iterator
StackMap stack:
aload 19
invokeinterface java.util.Iterator.hasNext:()Z
ifne 73
81: aload 10
ifnull 83
82: aload 15
aload 10
invokeinterface org.graalvm.util.EconomicMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.UnwindNode
astore 10
83: StackMap locals: org.graalvm.compiler.nodes.Invoke org.graalvm.compiler.nodes.StructuredGraph int jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.graph.NodeInputList java.util.ArrayList java.util.ArrayList java.util.ArrayList org.graalvm.compiler.nodes.UnwindNode org.graalvm.compiler.nodes.StartNode org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.AbstractBeginNode org.graalvm.compiler.graph.Graph$DuplicationReplacement org.graalvm.util.EconomicMap org.graalvm.compiler.nodes.FrameState org.graalvm.compiler.nodes.FrameState
StackMap stack:
aload 0
aload 5
aload 12
aload 8
aload 10
aload 1
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getAssumptions:()Ljdk/vm/ci/meta/Assumptions;
aload 1
invokestatic org.graalvm.compiler.phases.common.inlining.InliningUtil.finishInlining:(Lorg/graalvm/compiler/nodes/Invoke;Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/FixedNode;Ljava/util/List;Lorg/graalvm/compiler/nodes/UnwindNode;Ljdk/vm/ci/meta/Assumptions;Lorg/graalvm/compiler/nodes/StructuredGraph;)Lorg/graalvm/compiler/nodes/ValueNode;
pop
84: aload 4
invokestatic org.graalvm.compiler.nodes.util.GraphUtil.killCFG:(Lorg/graalvm/compiler/nodes/FixedNode;)V
85: aload 15
areturn
end local 17 end local 16 end local 15 end local 14 end local 13 end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 86 0 invoke Lorg/graalvm/compiler/nodes/Invoke;
0 86 1 inlineGraph Lorg/graalvm/compiler/nodes/StructuredGraph;
0 86 2 receiverNullCheck Z
0 86 3 inlineeMethod Ljdk/vm/ci/meta/ResolvedJavaMethod;
1 86 4 invokeNode Lorg/graalvm/compiler/nodes/FixedNode;
2 86 5 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
3 86 6 parameters Lorg/graalvm/compiler/graph/NodeInputList<Lorg/graalvm/compiler/nodes/ValueNode;>;
8 86 7 nodes Ljava/util/ArrayList<Lorg/graalvm/compiler/graph/Node;>;
9 86 8 returnNodes Ljava/util/ArrayList<Lorg/graalvm/compiler/nodes/ReturnNode;>;
10 86 9 partialIntrinsicExits Ljava/util/ArrayList<Lorg/graalvm/compiler/nodes/Invoke;>;
11 86 10 unwindNode Lorg/graalvm/compiler/nodes/UnwindNode;
12 86 11 entryPointNode Lorg/graalvm/compiler/nodes/StartNode;
13 86 12 firstCFGNode Lorg/graalvm/compiler/nodes/FixedNode;
17 36 13 node Lorg/graalvm/compiler/graph/Node;
25 32 15 invokeInInlineGraph Lorg/graalvm/compiler/nodes/Invoke;
27 32 16 target1 Ljdk/vm/ci/meta/ResolvedJavaMethod;
28 32 17 target2 Ljdk/vm/ci/meta/ResolvedJavaMethod;
38 86 13 prevBegin Lorg/graalvm/compiler/nodes/AbstractBeginNode;
39 86 14 localReplacement Lorg/graalvm/compiler/graph/Graph$DuplicationReplacement;
42 86 15 duplicates Lorg/graalvm/util/EconomicMap<Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;>;
43 86 16 stateAfter Lorg/graalvm/compiler/nodes/FrameState;
45 86 17 stateAtExceptionEdge Lorg/graalvm/compiler/nodes/FrameState;
47 50 18 invokeWithException Lorg/graalvm/compiler/nodes/InvokeWithExceptionNode;
49 50 19 obj Lorg/graalvm/compiler/nodes/java/ExceptionObjectNode;
58 64 18 callerLockDepth I
61 63 19 original Lorg/graalvm/compiler/nodes/java/MonitorIdNode;
62 63 21 monitor Lorg/graalvm/compiler/nodes/java/MonitorIdNode;
68 72 18 i I
74 80 18 exit Lorg/graalvm/compiler/nodes/Invoke;
75 80 20 dup Lorg/graalvm/compiler/nodes/Invoke;
77 78 21 repl Lorg/graalvm/compiler/nodes/InvokeNode;
Signature: (Lorg/graalvm/compiler/nodes/Invoke;Lorg/graalvm/compiler/nodes/StructuredGraph;ZLjdk/vm/ci/meta/ResolvedJavaMethod;)Lorg/graalvm/util/UnmodifiableEconomicMap<Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;>;
MethodParameters:
Name Flags
invoke
inlineGraph
receiverNullCheck
inlineeMethod
public static org.graalvm.util.EconomicSet<org.graalvm.compiler.graph.Node> inlineForCanonicalization(org.graalvm.compiler.nodes.Invoke, org.graalvm.compiler.nodes.StructuredGraph, boolean, jdk.vm.ci.meta.ResolvedJavaMethod);
descriptor: (Lorg/graalvm/compiler/nodes/Invoke;Lorg/graalvm/compiler/nodes/StructuredGraph;ZLjdk/vm/ci/meta/ResolvedJavaMethod;)Lorg/graalvm/util/EconomicSet;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
iload 2
aload 3
aconst_null
invokestatic org.graalvm.compiler.phases.common.inlining.InliningUtil.inlineForCanonicalization:(Lorg/graalvm/compiler/nodes/Invoke;Lorg/graalvm/compiler/nodes/StructuredGraph;ZLjdk/vm/ci/meta/ResolvedJavaMethod;Ljava/util/function/Consumer;)Lorg/graalvm/util/EconomicSet;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 invoke Lorg/graalvm/compiler/nodes/Invoke;
0 1 1 inlineGraph Lorg/graalvm/compiler/nodes/StructuredGraph;
0 1 2 receiverNullCheck Z
0 1 3 inlineeMethod Ljdk/vm/ci/meta/ResolvedJavaMethod;
Signature: (Lorg/graalvm/compiler/nodes/Invoke;Lorg/graalvm/compiler/nodes/StructuredGraph;ZLjdk/vm/ci/meta/ResolvedJavaMethod;)Lorg/graalvm/util/EconomicSet<Lorg/graalvm/compiler/graph/Node;>;
MethodParameters:
Name Flags
invoke
inlineGraph
receiverNullCheck
inlineeMethod
public static org.graalvm.util.EconomicSet<org.graalvm.compiler.graph.Node> inlineForCanonicalization(org.graalvm.compiler.nodes.Invoke, org.graalvm.compiler.nodes.StructuredGraph, boolean, jdk.vm.ci.meta.ResolvedJavaMethod, java.util.function.Consumer<org.graalvm.util.UnmodifiableEconomicMap<org.graalvm.compiler.graph.Node, org.graalvm.compiler.graph.Node>>);
descriptor: (Lorg/graalvm/compiler/nodes/Invoke;Lorg/graalvm/compiler/nodes/StructuredGraph;ZLjdk/vm/ci/meta/ResolvedJavaMethod;Ljava/util/function/Consumer;)Lorg/graalvm/util/EconomicSet;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=10, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: new org.graalvm.compiler.phases.common.util.HashSetNodeEventListener
dup
invokespecial org.graalvm.compiler.phases.common.util.HashSetNodeEventListener.<init>:()V
astore 5
start local 5 1: aconst_null
astore 6
aconst_null
astore 7
2: aload 0
invokeinterface org.graalvm.compiler.nodes.Invoke.asNode:()Lorg/graalvm/compiler/nodes/FixedNode;
invokevirtual org.graalvm.compiler.nodes.FixedNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
aload 5
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.trackNodeEvents:(Lorg/graalvm/compiler/graph/Graph$NodeEventListener;)Lorg/graalvm/compiler/graph/Graph$NodeEventScope;
astore 8
start local 8 3: aload 0
aload 1
iload 2
aload 3
invokestatic org.graalvm.compiler.phases.common.inlining.InliningUtil.inline:(Lorg/graalvm/compiler/nodes/Invoke;Lorg/graalvm/compiler/nodes/StructuredGraph;ZLjdk/vm/ci/meta/ResolvedJavaMethod;)Lorg/graalvm/util/UnmodifiableEconomicMap;
astore 9
start local 9 4: aload 4
ifnull 6
5: aload 4
aload 9
invokeinterface java.util.function.Consumer.accept:(Ljava/lang/Object;)V
end local 9 6: StackMap locals: org.graalvm.compiler.nodes.Invoke org.graalvm.compiler.nodes.StructuredGraph int jdk.vm.ci.meta.ResolvedJavaMethod java.util.function.Consumer org.graalvm.compiler.phases.common.util.HashSetNodeEventListener java.lang.Throwable java.lang.Throwable org.graalvm.compiler.graph.Graph$NodeEventScope
StackMap stack:
aload 8
ifnull 12
aload 8
invokevirtual org.graalvm.compiler.graph.Graph$NodeEventScope.close:()V
goto 12
StackMap locals:
StackMap stack: java.lang.Throwable
7: astore 6
aload 8
ifnull 8
aload 8
invokevirtual org.graalvm.compiler.graph.Graph$NodeEventScope.close:()V
end local 8 StackMap locals:
StackMap stack:
8: aload 6
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
9: astore 7
aload 6
ifnonnull 10
aload 7
astore 6
goto 11
StackMap locals:
StackMap stack:
10: aload 6
aload 7
if_acmpeq 11
aload 6
aload 7
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
11: aload 6
athrow
12: StackMap locals:
StackMap stack:
aload 5
invokevirtual org.graalvm.compiler.phases.common.util.HashSetNodeEventListener.getNodes:()Lorg/graalvm/util/EconomicSet;
areturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 invoke Lorg/graalvm/compiler/nodes/Invoke;
0 13 1 inlineGraph Lorg/graalvm/compiler/nodes/StructuredGraph;
0 13 2 receiverNullCheck Z
0 13 3 inlineeMethod Ljdk/vm/ci/meta/ResolvedJavaMethod;
0 13 4 duplicatesConsumer Ljava/util/function/Consumer<Lorg/graalvm/util/UnmodifiableEconomicMap<Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;>;>;
1 13 5 listener Lorg/graalvm/compiler/phases/common/util/HashSetNodeEventListener;
3 8 8 nes Lorg/graalvm/compiler/graph/Graph$NodeEventScope;
4 6 9 duplicates Lorg/graalvm/util/UnmodifiableEconomicMap<Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;>;
Exception table:
from to target type
3 6 7 any
2 9 9 any
Signature: (Lorg/graalvm/compiler/nodes/Invoke;Lorg/graalvm/compiler/nodes/StructuredGraph;ZLjdk/vm/ci/meta/ResolvedJavaMethod;Ljava/util/function/Consumer<Lorg/graalvm/util/UnmodifiableEconomicMap<Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;>;>;)Lorg/graalvm/util/EconomicSet<Lorg/graalvm/compiler/graph/Node;>;
MethodParameters:
Name Flags
invoke
inlineGraph
receiverNullCheck
inlineeMethod
duplicatesConsumer
private static org.graalvm.compiler.nodes.ValueNode finishInlining(org.graalvm.compiler.nodes.Invoke, org.graalvm.compiler.nodes.StructuredGraph, org.graalvm.compiler.nodes.FixedNode, java.util.List<org.graalvm.compiler.nodes.ReturnNode>, org.graalvm.compiler.nodes.UnwindNode, jdk.vm.ci.meta.Assumptions, org.graalvm.compiler.nodes.StructuredGraph);
descriptor: (Lorg/graalvm/compiler/nodes/Invoke;Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/FixedNode;Ljava/util/List;Lorg/graalvm/compiler/nodes/UnwindNode;Ljdk/vm/ci/meta/Assumptions;Lorg/graalvm/compiler/nodes/StructuredGraph;)Lorg/graalvm/compiler/nodes/ValueNode;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=7, locals=12, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: aload 0
invokeinterface org.graalvm.compiler.nodes.Invoke.asNode:()Lorg/graalvm/compiler/nodes/FixedNode;
astore 7
start local 7 1: aload 0
invokeinterface org.graalvm.compiler.nodes.Invoke.stateAfter:()Lorg/graalvm/compiler/nodes/FrameState;
astore 8
start local 8 2: getstatic org.graalvm.compiler.phases.common.inlining.InliningUtil.$assertionsDisabled:Z
ifne 3
aload 8
ifnull 3
aload 8
invokevirtual org.graalvm.compiler.nodes.FrameState.isAlive:()Z
ifne 3
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
3: StackMap locals: org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.FrameState
StackMap stack:
aload 7
aload 2
invokevirtual org.graalvm.compiler.nodes.FixedNode.replaceAtPredecessor:(Lorg/graalvm/compiler/graph/Node;)V
4: aload 0
instanceof org.graalvm.compiler.nodes.InvokeWithExceptionNode
ifeq 25
5: aload 0
checkcast org.graalvm.compiler.nodes.InvokeWithExceptionNode
astore 9
start local 9 6: aload 4
ifnull 17
aload 4
invokevirtual org.graalvm.compiler.nodes.UnwindNode.isAlive:()Z
ifeq 17
7: getstatic org.graalvm.compiler.phases.common.inlining.InliningUtil.$assertionsDisabled:Z
ifne 8
aload 4
invokevirtual org.graalvm.compiler.nodes.UnwindNode.predecessor:()Lorg/graalvm/compiler/graph/Node;
ifnonnull 8
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
8: StackMap locals: org.graalvm.compiler.nodes.InvokeWithExceptionNode
StackMap stack:
getstatic org.graalvm.compiler.phases.common.inlining.InliningUtil.$assertionsDisabled:Z
ifne 9
aload 9
invokevirtual org.graalvm.compiler.nodes.InvokeWithExceptionNode.exceptionEdge:()Lorg/graalvm/compiler/nodes/AbstractBeginNode;
invokevirtual org.graalvm.compiler.nodes.AbstractBeginNode.successors:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.count:()I
iconst_1
if_icmpeq 9
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
9: StackMap locals:
StackMap stack:
aload 9
invokevirtual org.graalvm.compiler.nodes.InvokeWithExceptionNode.exceptionEdge:()Lorg/graalvm/compiler/nodes/AbstractBeginNode;
checkcast org.graalvm.compiler.nodes.java.ExceptionObjectNode
astore 10
start local 10 10: aload 10
aload 4
invokevirtual org.graalvm.compiler.nodes.UnwindNode.exception:()Lorg/graalvm/compiler/nodes/ValueNode;
invokevirtual org.graalvm.compiler.nodes.java.ExceptionObjectNode.replaceAtUsages:(Lorg/graalvm/compiler/graph/Node;)V
11: aload 10
invokevirtual org.graalvm.compiler.nodes.java.ExceptionObjectNode.next:()Lorg/graalvm/compiler/nodes/FixedNode;
astore 11
start local 11 12: aload 10
aconst_null
invokevirtual org.graalvm.compiler.nodes.java.ExceptionObjectNode.setNext:(Lorg/graalvm/compiler/nodes/FixedNode;)V
13: aload 4
aload 11
invokevirtual org.graalvm.compiler.nodes.UnwindNode.replaceAndDelete:(Lorg/graalvm/compiler/graph/Node;)V
14: aload 10
aconst_null
invokevirtual org.graalvm.compiler.nodes.java.ExceptionObjectNode.replaceAtPredecessor:(Lorg/graalvm/compiler/graph/Node;)V
15: aload 10
invokevirtual org.graalvm.compiler.nodes.java.ExceptionObjectNode.safeDelete:()V
end local 11 end local 10 16: goto 18
17: StackMap locals:
StackMap stack:
aload 9
invokevirtual org.graalvm.compiler.nodes.InvokeWithExceptionNode.killExceptionEdge:()V
18: StackMap locals:
StackMap stack:
aload 9
invokevirtual org.graalvm.compiler.nodes.InvokeWithExceptionNode.next:()Lorg/graalvm/compiler/nodes/AbstractBeginNode;
astore 10
start local 10 19: aload 10
instanceof org.graalvm.compiler.nodes.KillingBeginNode
ifeq 28
20: new org.graalvm.compiler.nodes.BeginNode
dup
invokespecial org.graalvm.compiler.nodes.BeginNode.<init>:()V
astore 11
start local 11 21: aload 1
aload 10
aload 1
aload 11
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.FixedNode
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.addAfterFixed:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;Lorg/graalvm/compiler/nodes/FixedNode;)V
22: aload 10
aload 11
invokevirtual org.graalvm.compiler.nodes.AbstractBeginNode.replaceAtUsages:(Lorg/graalvm/compiler/graph/Node;)V
23: aload 1
aload 10
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.removeFixed:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;)V
end local 11 end local 10 end local 9 24: goto 28
25: StackMap locals:
StackMap stack:
aload 4
ifnull 28
aload 4
invokevirtual org.graalvm.compiler.nodes.UnwindNode.isAlive:()Z
ifeq 28
26: aload 1
new org.graalvm.compiler.nodes.DeoptimizeNode
dup
getstatic jdk.vm.ci.meta.DeoptimizationAction.InvalidateRecompile:Ljdk/vm/ci/meta/DeoptimizationAction;
getstatic jdk.vm.ci.meta.DeoptimizationReason.NotCompiledExceptionHandler:Ljdk/vm/ci/meta/DeoptimizationReason;
invokespecial org.graalvm.compiler.nodes.DeoptimizeNode.<init>:(Ljdk/vm/ci/meta/DeoptimizationAction;Ljdk/vm/ci/meta/DeoptimizationReason;)V
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.DeoptimizeNode
astore 9
start local 9 27: aload 4
aload 9
invokevirtual org.graalvm.compiler.nodes.UnwindNode.replaceAndDelete:(Lorg/graalvm/compiler/graph/Node;)V
end local 9 28: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.List.isEmpty:()Z
ifne 45
29: aload 0
invokeinterface org.graalvm.compiler.nodes.Invoke.next:()Lorg/graalvm/compiler/nodes/FixedNode;
astore 10
start local 10 30: aload 0
aconst_null
invokeinterface org.graalvm.compiler.nodes.Invoke.setNext:(Lorg/graalvm/compiler/nodes/FixedNode;)V
31: aload 3
invokeinterface java.util.List.size:()I
iconst_1
if_icmpne 37
32: aload 3
iconst_0
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.ReturnNode
astore 11
start local 11 33: aload 11
invokevirtual org.graalvm.compiler.nodes.ReturnNode.result:()Lorg/graalvm/compiler/nodes/ValueNode;
astore 9
start local 9 34: aload 7
aload 9
invokevirtual org.graalvm.compiler.nodes.FixedNode.replaceAtUsages:(Lorg/graalvm/compiler/graph/Node;)V
35: aload 11
aload 10
invokevirtual org.graalvm.compiler.nodes.ReturnNode.replaceAndDelete:(Lorg/graalvm/compiler/graph/Node;)V
end local 11 36: goto 48
end local 9 37: StackMap locals: org.graalvm.compiler.nodes.Invoke org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.nodes.FixedNode java.util.List org.graalvm.compiler.nodes.UnwindNode jdk.vm.ci.meta.Assumptions org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.FrameState top org.graalvm.compiler.nodes.FixedNode
StackMap stack:
aload 1
new org.graalvm.compiler.nodes.MergeNode
dup
invokespecial org.graalvm.compiler.nodes.MergeNode.<init>:()V
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.MergeNode
astore 11
start local 11 38: aload 11
aload 8
invokevirtual org.graalvm.compiler.nodes.MergeNode.setStateAfter:(Lorg/graalvm/compiler/nodes/FrameState;)V
39: aload 11
aload 3
invokestatic org.graalvm.compiler.phases.common.inlining.InliningUtil.mergeReturns:(Lorg/graalvm/compiler/nodes/AbstractMergeNode;Ljava/util/List;)Lorg/graalvm/compiler/nodes/ValueNode;
astore 9
start local 9 40: aload 7
aload 9
invokevirtual org.graalvm.compiler.nodes.FixedNode.replaceAtUsages:(Lorg/graalvm/compiler/graph/Node;)V
41: aload 11
aload 9
invokevirtual org.graalvm.compiler.nodes.MergeNode.isPhiAtMerge:(Lorg/graalvm/compiler/graph/Node;)Z
ifeq 43
42: aload 1
aload 11
aload 9
checkcast org.graalvm.compiler.nodes.PhiNode
invokestatic org.graalvm.compiler.phases.common.inlining.InliningUtil.fixFrameStates:(Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/MergeNode;Lorg/graalvm/compiler/nodes/PhiNode;)V
43: StackMap locals: org.graalvm.compiler.nodes.Invoke org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.nodes.FixedNode java.util.List org.graalvm.compiler.nodes.UnwindNode jdk.vm.ci.meta.Assumptions org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.FrameState org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.MergeNode
StackMap stack:
aload 11
aload 10
invokevirtual org.graalvm.compiler.nodes.MergeNode.setNext:(Lorg/graalvm/compiler/nodes/FixedNode;)V
end local 11 end local 10 44: goto 48
end local 9 45: StackMap locals:
StackMap stack:
aconst_null
astore 9
start local 9 46: aload 7
aconst_null
invokevirtual org.graalvm.compiler.nodes.FixedNode.replaceAtUsages:(Lorg/graalvm/compiler/graph/Node;)V
47: aload 0
invokeinterface org.graalvm.compiler.nodes.Invoke.next:()Lorg/graalvm/compiler/nodes/FixedNode;
invokestatic org.graalvm.compiler.nodes.util.GraphUtil.killCFG:(Lorg/graalvm/compiler/nodes/FixedNode;)V
48: StackMap locals: org.graalvm.compiler.nodes.ValueNode
StackMap stack:
aload 1
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getAssumptions:()Ljdk/vm/ci/meta/Assumptions;
astore 10
start local 10 49: aload 10
ifnull 53
50: aload 5
ifnull 54
51: aload 10
aload 5
invokevirtual jdk.vm.ci.meta.Assumptions.record:(Ljdk/vm/ci/meta/Assumptions;)V
52: goto 54
53: StackMap locals: jdk.vm.ci.meta.Assumptions
StackMap stack:
getstatic org.graalvm.compiler.phases.common.inlining.InliningUtil.$assertionsDisabled:Z
ifne 54
aload 5
ifnull 54
new java.lang.AssertionError
dup
ldc "cannot inline graph (%s) which makes assumptions into a graph (%s) that doesn't"
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 6
aastore
dup
iconst_1
aload 1
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
54: StackMap locals:
StackMap stack:
aload 1
aload 6
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.updateMethods:(Lorg/graalvm/compiler/nodes/StructuredGraph;)V
55: getstatic org.graalvm.compiler.core.common.GraalOptions.GeneratePIC:Lorg/graalvm/compiler/options/OptionKey;
aload 1
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getOptions:()Lorg/graalvm/compiler/options/OptionValues;
invokevirtual org.graalvm.compiler.options.OptionKey.getValue:(Lorg/graalvm/compiler/options/OptionValues;)Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
ifeq 57
56: aload 1
aload 6
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.updateFields:(Lorg/graalvm/compiler/nodes/StructuredGraph;)V
57: StackMap locals:
StackMap stack:
aload 6
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.hasUnsafeAccess:()Z
ifeq 59
58: aload 1
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.markUnsafeAccess:()V
59: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.phases.common.inlining.InliningUtil.$assertionsDisabled:Z
ifne 60
aload 6
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getSpeculationLog:()Ljdk/vm/ci/meta/SpeculationLog;
ifnull 60
aload 6
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getSpeculationLog:()Ljdk/vm/ci/meta/SpeculationLog;
aload 1
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getSpeculationLog:()Ljdk/vm/ci/meta/SpeculationLog;
if_acmpeq 60
new java.lang.AssertionError
dup
ldc "Only the root graph should have a speculation log"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
60: StackMap locals:
StackMap stack:
aload 9
areturn
end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 61 0 invoke Lorg/graalvm/compiler/nodes/Invoke;
0 61 1 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
0 61 2 firstNode Lorg/graalvm/compiler/nodes/FixedNode;
0 61 3 returnNodes Ljava/util/List<Lorg/graalvm/compiler/nodes/ReturnNode;>;
0 61 4 unwindNode Lorg/graalvm/compiler/nodes/UnwindNode;
0 61 5 inlinedAssumptions Ljdk/vm/ci/meta/Assumptions;
0 61 6 inlineGraph Lorg/graalvm/compiler/nodes/StructuredGraph;
1 61 7 invokeNode Lorg/graalvm/compiler/nodes/FixedNode;
2 61 8 stateAfter Lorg/graalvm/compiler/nodes/FrameState;
6 24 9 invokeWithException Lorg/graalvm/compiler/nodes/InvokeWithExceptionNode;
10 16 10 obj Lorg/graalvm/compiler/nodes/java/ExceptionObjectNode;
12 16 11 n Lorg/graalvm/compiler/graph/Node;
19 24 10 begin Lorg/graalvm/compiler/nodes/AbstractBeginNode;
21 24 11 newBegin Lorg/graalvm/compiler/nodes/AbstractBeginNode;
27 28 9 deoptimizeNode Lorg/graalvm/compiler/nodes/DeoptimizeNode;
34 37 9 returnValue Lorg/graalvm/compiler/nodes/ValueNode;
40 45 9 returnValue Lorg/graalvm/compiler/nodes/ValueNode;
46 61 9 returnValue Lorg/graalvm/compiler/nodes/ValueNode;
30 44 10 n Lorg/graalvm/compiler/nodes/FixedNode;
33 36 11 returnNode Lorg/graalvm/compiler/nodes/ReturnNode;
38 44 11 merge Lorg/graalvm/compiler/nodes/MergeNode;
49 61 10 assumptions Ljdk/vm/ci/meta/Assumptions;
Signature: (Lorg/graalvm/compiler/nodes/Invoke;Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/FixedNode;Ljava/util/List<Lorg/graalvm/compiler/nodes/ReturnNode;>;Lorg/graalvm/compiler/nodes/UnwindNode;Ljdk/vm/ci/meta/Assumptions;Lorg/graalvm/compiler/nodes/StructuredGraph;)Lorg/graalvm/compiler/nodes/ValueNode;
MethodParameters:
Name Flags
invoke
graph
firstNode
returnNodes
unwindNode
inlinedAssumptions
inlineGraph
private static void fixFrameStates(org.graalvm.compiler.nodes.StructuredGraph, org.graalvm.compiler.nodes.MergeNode, org.graalvm.compiler.nodes.PhiNode);
descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/MergeNode;Lorg/graalvm/compiler/nodes/PhiNode;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=14, args_size=3
start local 0 start local 1 start local 2 0: new org.graalvm.compiler.graph.NodeMap
dup
aload 0
invokespecial org.graalvm.compiler.graph.NodeMap.<init>:(Lorg/graalvm/compiler/graph/Graph;)V
astore 3
start local 3 1: new java.util.ArrayDeque
dup
invokespecial java.util.ArrayDeque.<init>:()V
astore 4
start local 4 2: new java.util.ArrayDeque
dup
invokespecial java.util.ArrayDeque.<init>:()V
astore 5
start local 5 3: aload 4
aload 1
invokevirtual java.util.ArrayDeque.push:(Ljava/lang/Object;)V
4: aload 5
aload 2
invokevirtual java.util.ArrayDeque.push:(Ljava/lang/Object;)V
5: goto 40
6: StackMap locals: org.graalvm.compiler.graph.NodeMap java.util.ArrayDeque java.util.ArrayDeque
StackMap stack:
aload 4
invokevirtual java.util.ArrayDeque.pop:()Ljava/lang/Object;
checkcast org.graalvm.compiler.graph.Node
astore 6
start local 6 7: aload 5
invokevirtual java.util.ArrayDeque.pop:()Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.ValueNode
astore 7
start local 7 8: aload 3
aload 6
invokevirtual org.graalvm.compiler.graph.NodeMap.containsKey:(Lorg/graalvm/compiler/graph/Node;)Z
ifeq 10
9: goto 40
10: StackMap locals: org.graalvm.compiler.graph.Node org.graalvm.compiler.nodes.ValueNode
StackMap stack:
aload 3
aload 6
aload 6
invokevirtual org.graalvm.compiler.graph.NodeMap.put:(Lorg/graalvm/compiler/graph/Node;Ljava/lang/Object;)Ljava/lang/Object;
pop
11: aload 6
instanceof org.graalvm.compiler.nodes.StateSplit
ifeq 25
aload 6
aload 1
if_acmpeq 25
12: aload 6
checkcast org.graalvm.compiler.nodes.StateSplit
astore 8
start local 8 13: aload 8
invokeinterface org.graalvm.compiler.nodes.StateSplit.stateAfter:()Lorg/graalvm/compiler/nodes/FrameState;
astore 9
start local 9 14: aload 9
ifnull 25
aload 9
invokevirtual org.graalvm.compiler.nodes.FrameState.values:()Lorg/graalvm/compiler/graph/NodeInputList;
aload 2
invokevirtual org.graalvm.compiler.graph.NodeInputList.contains:(Lorg/graalvm/compiler/graph/Node;)Z
ifeq 25
15: iconst_0
istore 10
start local 10 16: aload 9
invokevirtual org.graalvm.compiler.nodes.FrameState.duplicate:()Lorg/graalvm/compiler/nodes/FrameState;
astore 11
start local 11 17: aload 9
invokevirtual org.graalvm.compiler.nodes.FrameState.values:()Lorg/graalvm/compiler/graph/NodeInputList;
invokevirtual org.graalvm.compiler.graph.NodeInputList.iterator:()Ljava/util/Iterator;
astore 13
goto 22
StackMap locals: org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.nodes.MergeNode org.graalvm.compiler.nodes.PhiNode org.graalvm.compiler.graph.NodeMap java.util.ArrayDeque java.util.ArrayDeque org.graalvm.compiler.graph.Node org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.StateSplit org.graalvm.compiler.nodes.FrameState int org.graalvm.compiler.nodes.FrameState top java.util.Iterator
StackMap stack:
18: aload 13
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.ValueNode
astore 12
start local 12 19: aload 12
aload 2
if_acmpne 21
20: aload 11
invokevirtual org.graalvm.compiler.nodes.FrameState.values:()Lorg/graalvm/compiler/graph/NodeInputList;
iload 10
aload 7
invokevirtual org.graalvm.compiler.graph.NodeInputList.set:(ILorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
pop
21: StackMap locals: org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.nodes.MergeNode org.graalvm.compiler.nodes.PhiNode org.graalvm.compiler.graph.NodeMap java.util.ArrayDeque java.util.ArrayDeque org.graalvm.compiler.graph.Node org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.StateSplit org.graalvm.compiler.nodes.FrameState int org.graalvm.compiler.nodes.FrameState org.graalvm.compiler.nodes.ValueNode java.util.Iterator
StackMap stack:
iinc 10 1
end local 12 22: StackMap locals: org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.nodes.MergeNode org.graalvm.compiler.nodes.PhiNode org.graalvm.compiler.graph.NodeMap java.util.ArrayDeque java.util.ArrayDeque org.graalvm.compiler.graph.Node org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.StateSplit org.graalvm.compiler.nodes.FrameState int org.graalvm.compiler.nodes.FrameState top java.util.Iterator
StackMap stack:
aload 13
invokeinterface java.util.Iterator.hasNext:()Z
ifne 18
23: aload 8
aload 11
invokeinterface org.graalvm.compiler.nodes.StateSplit.setStateAfter:(Lorg/graalvm/compiler/nodes/FrameState;)V
24: aload 9
invokestatic org.graalvm.compiler.nodes.util.GraphUtil.tryKillUnused:(Lorg/graalvm/compiler/graph/Node;)Z
pop
end local 11 end local 10 end local 9 end local 8 25: StackMap locals: org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.nodes.MergeNode org.graalvm.compiler.nodes.PhiNode org.graalvm.compiler.graph.NodeMap java.util.ArrayDeque java.util.ArrayDeque org.graalvm.compiler.graph.Node org.graalvm.compiler.nodes.ValueNode
StackMap stack:
aload 6
instanceof org.graalvm.compiler.nodes.AbstractMergeNode
ifeq 37
26: aload 6
checkcast org.graalvm.compiler.nodes.AbstractMergeNode
astore 8
start local 8 27: aload 8
invokevirtual org.graalvm.compiler.nodes.AbstractMergeNode.cfgPredecessors:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.iterator:()Ljava/util/Iterator;
astore 10
goto 35
StackMap locals: org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.nodes.MergeNode org.graalvm.compiler.nodes.PhiNode org.graalvm.compiler.graph.NodeMap java.util.ArrayDeque java.util.ArrayDeque org.graalvm.compiler.graph.Node org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.AbstractMergeNode top java.util.Iterator
StackMap stack:
28: aload 10
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.EndNode
astore 9
start local 9 29: aload 7
astore 11
start local 11 30: aload 8
aload 7
invokevirtual org.graalvm.compiler.nodes.AbstractMergeNode.isPhiAtMerge:(Lorg/graalvm/compiler/graph/Node;)Z
ifeq 33
31: aload 7
checkcast org.graalvm.compiler.nodes.PhiNode
astore 12
start local 12 32: aload 12
aload 9
invokevirtual org.graalvm.compiler.nodes.PhiNode.valueAt:(Lorg/graalvm/compiler/nodes/AbstractEndNode;)Lorg/graalvm/compiler/nodes/ValueNode;
astore 11
end local 12 33: StackMap locals: org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.nodes.MergeNode org.graalvm.compiler.nodes.PhiNode org.graalvm.compiler.graph.NodeMap java.util.ArrayDeque java.util.ArrayDeque org.graalvm.compiler.graph.Node org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.AbstractMergeNode org.graalvm.compiler.nodes.EndNode java.util.Iterator org.graalvm.compiler.nodes.ValueNode
StackMap stack:
aload 4
aload 9
invokevirtual java.util.ArrayDeque.push:(Ljava/lang/Object;)V
34: aload 5
aload 11
invokevirtual java.util.ArrayDeque.push:(Ljava/lang/Object;)V
end local 11 end local 9 35: StackMap locals: org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.nodes.MergeNode org.graalvm.compiler.nodes.PhiNode org.graalvm.compiler.graph.NodeMap java.util.ArrayDeque java.util.ArrayDeque org.graalvm.compiler.graph.Node org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.AbstractMergeNode top java.util.Iterator
StackMap stack:
aload 10
invokeinterface java.util.Iterator.hasNext:()Z
ifne 28
end local 8 36: goto 40
StackMap locals: org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.nodes.MergeNode org.graalvm.compiler.nodes.PhiNode org.graalvm.compiler.graph.NodeMap java.util.ArrayDeque java.util.ArrayDeque org.graalvm.compiler.graph.Node org.graalvm.compiler.nodes.ValueNode
StackMap stack:
37: aload 6
invokevirtual org.graalvm.compiler.graph.Node.predecessor:()Lorg/graalvm/compiler/graph/Node;
ifnull 40
38: aload 4
aload 6
invokevirtual org.graalvm.compiler.graph.Node.predecessor:()Lorg/graalvm/compiler/graph/Node;
invokevirtual java.util.ArrayDeque.push:(Ljava/lang/Object;)V
39: aload 5
aload 7
invokevirtual java.util.ArrayDeque.push:(Ljava/lang/Object;)V
end local 7 end local 6 40: StackMap locals:
StackMap stack:
aload 4
invokevirtual java.util.ArrayDeque.isEmpty:()Z
ifeq 6
41: return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 42 0 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
0 42 1 originalMerge Lorg/graalvm/compiler/nodes/MergeNode;
0 42 2 returnPhi Lorg/graalvm/compiler/nodes/PhiNode;
1 42 3 seen Lorg/graalvm/compiler/graph/NodeMap<Lorg/graalvm/compiler/graph/Node;>;
2 42 4 workList Ljava/util/ArrayDeque<Lorg/graalvm/compiler/graph/Node;>;
3 42 5 valueList Ljava/util/ArrayDeque<Lorg/graalvm/compiler/nodes/ValueNode;>;
7 40 6 current Lorg/graalvm/compiler/graph/Node;
8 40 7 currentValue Lorg/graalvm/compiler/nodes/ValueNode;
13 25 8 stateSplit Lorg/graalvm/compiler/nodes/StateSplit;
14 25 9 state Lorg/graalvm/compiler/nodes/FrameState;
16 25 10 index I
17 25 11 duplicate Lorg/graalvm/compiler/nodes/FrameState;
19 22 12 value Lorg/graalvm/compiler/nodes/ValueNode;
27 36 8 currentMerge Lorg/graalvm/compiler/nodes/AbstractMergeNode;
29 35 9 pred Lorg/graalvm/compiler/nodes/EndNode;
30 35 11 newValue Lorg/graalvm/compiler/nodes/ValueNode;
32 33 12 currentPhi Lorg/graalvm/compiler/nodes/PhiNode;
MethodParameters:
Name Flags
graph
originalMerge
returnPhi
private static void updateSourcePositions(org.graalvm.compiler.nodes.Invoke, org.graalvm.compiler.nodes.StructuredGraph, org.graalvm.util.UnmodifiableEconomicMap<org.graalvm.compiler.graph.Node, org.graalvm.compiler.graph.Node>, );
descriptor: (Lorg/graalvm/compiler/nodes/Invoke;Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/util/UnmodifiableEconomicMap;Z)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=10, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.mayHaveNodeSourcePosition:()Z
ifeq 18
aload 0
invokeinterface org.graalvm.compiler.nodes.Invoke.stateAfter:()Lorg/graalvm/compiler/nodes/FrameState;
ifnull 18
1: aload 0
invokeinterface org.graalvm.compiler.nodes.Invoke.asNode:()Lorg/graalvm/compiler/nodes/FixedNode;
invokevirtual org.graalvm.compiler.nodes.FixedNode.getNodeSourcePosition:()Lorg/graalvm/compiler/graph/NodeSourcePosition;
ifnonnull 3
2: return
3: StackMap locals:
StackMap stack:
aload 0
invokeinterface org.graalvm.compiler.nodes.Invoke.getInvokeKind:()Lorg/graalvm/compiler/nodes/CallTargetNode$InvokeKind;
invokevirtual org.graalvm.compiler.nodes.CallTargetNode$InvokeKind.hasReceiver:()Z
ifeq 4
iload 3
ifne 4
aload 0
invokeinterface org.graalvm.compiler.nodes.Invoke.getReceiver:()Lorg/graalvm/compiler/nodes/ValueNode;
invokevirtual org.graalvm.compiler.nodes.ValueNode.asJavaConstant:()Ljdk/vm/ci/meta/JavaConstant;
goto 5
StackMap locals:
StackMap stack:
4: aconst_null
StackMap locals:
StackMap stack: jdk.vm.ci.meta.JavaConstant
5: astore 4
start local 4 6: aload 0
invokeinterface org.graalvm.compiler.nodes.Invoke.asNode:()Lorg/graalvm/compiler/nodes/FixedNode;
invokevirtual org.graalvm.compiler.nodes.FixedNode.getNodeSourcePosition:()Lorg/graalvm/compiler/graph/NodeSourcePosition;
astore 5
start local 5 7: getstatic org.graalvm.compiler.phases.common.inlining.InliningUtil.$assertionsDisabled:Z
ifne 8
aload 5
ifnonnull 8
new java.lang.AssertionError
dup
ldc "missing source information"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
8: StackMap locals: jdk.vm.ci.meta.JavaConstant org.graalvm.compiler.graph.NodeSourcePosition
StackMap stack:
getstatic org.graalvm.util.Equivalence.DEFAULT:Lorg/graalvm/util/Equivalence;
invokestatic org.graalvm.util.EconomicMap.create:(Lorg/graalvm/util/Equivalence;)Lorg/graalvm/util/EconomicMap;
astore 6
start local 6 9: aload 2
invokeinterface org.graalvm.util.UnmodifiableEconomicMap.getEntries:()Lorg/graalvm/util/UnmodifiableMapCursor;
astore 7
start local 7 10: goto 17
11: StackMap locals: org.graalvm.util.EconomicMap org.graalvm.util.UnmodifiableMapCursor
StackMap stack:
aload 7
invokeinterface org.graalvm.util.UnmodifiableMapCursor.getKey:()Ljava/lang/Object;
checkcast org.graalvm.compiler.graph.Node
invokevirtual org.graalvm.compiler.graph.Node.getNodeSourcePosition:()Lorg/graalvm/compiler/graph/NodeSourcePosition;
astore 8
start local 8 12: aload 8
ifnull 17
13: aload 8
aload 4
aload 5
invokevirtual org.graalvm.compiler.graph.NodeSourcePosition.addCaller:(Ljdk/vm/ci/meta/JavaConstant;Lorg/graalvm/compiler/graph/NodeSourcePosition;)Lorg/graalvm/compiler/graph/NodeSourcePosition;
astore 9
start local 9 14: aload 6
aload 9
invokeinterface org.graalvm.util.EconomicMap.containsKey:(Ljava/lang/Object;)Z
ifne 16
15: aload 6
aload 9
aload 9
invokeinterface org.graalvm.util.EconomicMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
16: StackMap locals: org.graalvm.compiler.graph.NodeSourcePosition org.graalvm.compiler.graph.NodeSourcePosition
StackMap stack:
aload 7
invokeinterface org.graalvm.util.UnmodifiableMapCursor.getValue:()Ljava/lang/Object;
checkcast org.graalvm.compiler.graph.Node
aload 6
aload 9
invokeinterface org.graalvm.util.EconomicMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.graalvm.compiler.graph.NodeSourcePosition
invokevirtual org.graalvm.compiler.graph.Node.setNodeSourcePosition:(Lorg/graalvm/compiler/graph/NodeSourcePosition;)V
end local 9 end local 8 17: StackMap locals:
StackMap stack:
aload 7
invokeinterface org.graalvm.util.UnmodifiableMapCursor.advance:()Z
ifne 11
end local 7 end local 6 end local 5 end local 4 18: StackMap locals: org.graalvm.compiler.nodes.Invoke org.graalvm.compiler.nodes.StructuredGraph org.graalvm.util.UnmodifiableEconomicMap int
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 invoke Lorg/graalvm/compiler/nodes/Invoke;
0 19 1 inlineGraph Lorg/graalvm/compiler/nodes/StructuredGraph;
0 19 2 duplicates Lorg/graalvm/util/UnmodifiableEconomicMap<Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;>;
0 19 3 isSubstitution Z
6 18 4 constantReceiver Ljdk/vm/ci/meta/JavaConstant;
7 18 5 invokePos Lorg/graalvm/compiler/graph/NodeSourcePosition;
9 18 6 posMap Lorg/graalvm/util/EconomicMap<Lorg/graalvm/compiler/graph/NodeSourcePosition;Lorg/graalvm/compiler/graph/NodeSourcePosition;>;
10 18 7 cursor Lorg/graalvm/util/UnmodifiableMapCursor<Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;>;
12 17 8 pos Lorg/graalvm/compiler/graph/NodeSourcePosition;
14 17 9 callerPos Lorg/graalvm/compiler/graph/NodeSourcePosition;
Signature: (Lorg/graalvm/compiler/nodes/Invoke;Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/util/UnmodifiableEconomicMap<Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;>;Z)V
MethodParameters:
Name Flags
invoke
inlineGraph
duplicates
isSubstitution
public static void processMonitorId(org.graalvm.compiler.nodes.FrameState, org.graalvm.compiler.nodes.java.MonitorIdNode);
descriptor: (Lorg/graalvm/compiler/nodes/FrameState;Lorg/graalvm/compiler/nodes/java/MonitorIdNode;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
ifnull 3
1: aload 0
invokevirtual org.graalvm.compiler.nodes.FrameState.nestedLockDepth:()I
istore 2
start local 2 2: aload 1
aload 1
invokevirtual org.graalvm.compiler.nodes.java.MonitorIdNode.getLockDepth:()I
iload 2
iadd
invokevirtual org.graalvm.compiler.nodes.java.MonitorIdNode.setLockDepth:(I)V
end local 2 3: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 stateAfter Lorg/graalvm/compiler/nodes/FrameState;
0 4 1 monitorIdNode Lorg/graalvm/compiler/nodes/java/MonitorIdNode;
2 3 2 callerLockDepth I
MethodParameters:
Name Flags
stateAfter
monitorIdNode
protected static void processFrameStates(org.graalvm.compiler.nodes.Invoke, org.graalvm.compiler.nodes.StructuredGraph, org.graalvm.util.EconomicMap<org.graalvm.compiler.graph.Node, org.graalvm.compiler.graph.Node>, org.graalvm.compiler.nodes.FrameState, );
descriptor: (Lorg/graalvm/compiler/nodes/Invoke;Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/util/EconomicMap;Lorg/graalvm/compiler/nodes/FrameState;Z)V
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=9, locals=12, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
invokeinterface org.graalvm.compiler.nodes.Invoke.stateAfter:()Lorg/graalvm/compiler/nodes/FrameState;
astore 5
start local 5 1: aconst_null
astore 6
start local 6 2: aload 0
invokeinterface org.graalvm.compiler.nodes.Invoke.asNode:()Lorg/graalvm/compiler/nodes/FixedNode;
invokevirtual org.graalvm.compiler.nodes.FixedNode.getStackKind:()Ljdk/vm/ci/meta/JavaKind;
astore 7
start local 7 3: invokestatic org.graalvm.util.EconomicMap.create:()Lorg/graalvm/util/EconomicMap;
astore 8
start local 8 4: aload 1
getstatic org.graalvm.compiler.nodes.FrameState.TYPE:Lorg/graalvm/compiler/graph/NodeClass;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getNodes:(Lorg/graalvm/compiler/graph/NodeClass;)Lorg/graalvm/compiler/graph/iterators/NodeIterable;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.iterator:()Ljava/util/Iterator;
astore 10
goto 13
StackMap locals: org.graalvm.compiler.nodes.Invoke org.graalvm.compiler.nodes.StructuredGraph org.graalvm.util.EconomicMap org.graalvm.compiler.nodes.FrameState int org.graalvm.compiler.nodes.FrameState org.graalvm.compiler.nodes.FrameState jdk.vm.ci.meta.JavaKind org.graalvm.util.EconomicMap top java.util.Iterator
StackMap stack:
5: aload 10
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.FrameState
astore 9
start local 9 6: aload 2
aload 9
invokeinterface org.graalvm.util.EconomicMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.FrameState
astore 11
start local 11 7: aload 11
ifnull 13
aload 11
invokevirtual org.graalvm.compiler.nodes.FrameState.isAlive:()Z
ifeq 13
8: aload 6
ifnonnull 10
9: aload 5
aload 0
invokeinterface org.graalvm.compiler.nodes.Invoke.bci:()I
aload 7
invokevirtual org.graalvm.compiler.nodes.FrameState.duplicateModifiedDuringCall:(ILjdk/vm/ci/meta/JavaKind;)Lorg/graalvm/compiler/nodes/FrameState;
astore 6
10: StackMap locals: org.graalvm.compiler.nodes.Invoke org.graalvm.compiler.nodes.StructuredGraph org.graalvm.util.EconomicMap org.graalvm.compiler.nodes.FrameState int org.graalvm.compiler.nodes.FrameState org.graalvm.compiler.nodes.FrameState jdk.vm.ci.meta.JavaKind org.graalvm.util.EconomicMap org.graalvm.compiler.nodes.FrameState java.util.Iterator org.graalvm.compiler.nodes.FrameState
StackMap stack:
aload 11
aload 0
aload 8
aload 1
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.method:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
aload 3
aload 6
iload 4
aload 0
invokeinterface org.graalvm.compiler.nodes.Invoke.callTarget:()Lorg/graalvm/compiler/nodes/CallTargetNode;
invokevirtual org.graalvm.compiler.nodes.CallTargetNode.targetMethod:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
11: aload 0
invokeinterface org.graalvm.compiler.nodes.Invoke.callTarget:()Lorg/graalvm/compiler/nodes/CallTargetNode;
invokevirtual org.graalvm.compiler.nodes.CallTargetNode.arguments:()Lorg/graalvm/compiler/graph/NodeInputList;
12: invokestatic org.graalvm.compiler.phases.common.inlining.InliningUtil.processFrameState:(Lorg/graalvm/compiler/nodes/FrameState;Lorg/graalvm/compiler/nodes/Invoke;Lorg/graalvm/util/EconomicMap;Ljdk/vm/ci/meta/ResolvedJavaMethod;Lorg/graalvm/compiler/nodes/FrameState;Lorg/graalvm/compiler/nodes/FrameState;ZLjdk/vm/ci/meta/ResolvedJavaMethod;Ljava/util/List;)Lorg/graalvm/compiler/nodes/FrameState;
pop
end local 11 end local 9 13: StackMap locals: org.graalvm.compiler.nodes.Invoke org.graalvm.compiler.nodes.StructuredGraph org.graalvm.util.EconomicMap org.graalvm.compiler.nodes.FrameState int org.graalvm.compiler.nodes.FrameState org.graalvm.compiler.nodes.FrameState jdk.vm.ci.meta.JavaKind org.graalvm.util.EconomicMap top java.util.Iterator
StackMap stack:
aload 10
invokeinterface java.util.Iterator.hasNext:()Z
ifne 5
14: aload 2
aload 8
invokedynamic apply(Lorg/graalvm/util/EconomicMap;)Ljava/util/function/BiFunction;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
org/graalvm/compiler/phases/common/inlining/InliningUtil.lambda$0(Lorg/graalvm/util/EconomicMap;Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node; (6)
(Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
invokeinterface org.graalvm.util.EconomicMap.replaceAll:(Ljava/util/function/BiFunction;)V
15: return
end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 invoke Lorg/graalvm/compiler/nodes/Invoke;
0 16 1 inlineGraph Lorg/graalvm/compiler/nodes/StructuredGraph;
0 16 2 duplicates Lorg/graalvm/util/EconomicMap<Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;>;
0 16 3 stateAtExceptionEdge Lorg/graalvm/compiler/nodes/FrameState;
0 16 4 alwaysDuplicateStateAfter Z
1 16 5 stateAtReturn Lorg/graalvm/compiler/nodes/FrameState;
2 16 6 outerFrameState Lorg/graalvm/compiler/nodes/FrameState;
3 16 7 invokeReturnKind Ljdk/vm/ci/meta/JavaKind;
4 16 8 replacements Lorg/graalvm/util/EconomicMap<Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;>;
6 13 9 original Lorg/graalvm/compiler/nodes/FrameState;
7 13 11 frameState Lorg/graalvm/compiler/nodes/FrameState;
Signature: (Lorg/graalvm/compiler/nodes/Invoke;Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/util/EconomicMap<Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;>;Lorg/graalvm/compiler/nodes/FrameState;Z)V
MethodParameters:
Name Flags
invoke
inlineGraph
duplicates
stateAtExceptionEdge
alwaysDuplicateStateAfter
public static org.graalvm.compiler.nodes.FrameState processFrameState(org.graalvm.compiler.nodes.FrameState, org.graalvm.compiler.nodes.Invoke, org.graalvm.util.EconomicMap<org.graalvm.compiler.graph.Node, org.graalvm.compiler.graph.Node>, jdk.vm.ci.meta.ResolvedJavaMethod, org.graalvm.compiler.nodes.FrameState, org.graalvm.compiler.nodes.FrameState, boolean, jdk.vm.ci.meta.ResolvedJavaMethod, java.util.List<org.graalvm.compiler.nodes.ValueNode>);
descriptor: (Lorg/graalvm/compiler/nodes/FrameState;Lorg/graalvm/compiler/nodes/Invoke;Lorg/graalvm/util/EconomicMap;Ljdk/vm/ci/meta/ResolvedJavaMethod;Lorg/graalvm/compiler/nodes/FrameState;Lorg/graalvm/compiler/nodes/FrameState;ZLjdk/vm/ci/meta/ResolvedJavaMethod;Ljava/util/List;)Lorg/graalvm/compiler/nodes/FrameState;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=13, args_size=9
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 start local 8 0: getstatic org.graalvm.compiler.phases.common.inlining.InliningUtil.$assertionsDisabled:Z
ifne 1
aload 5
ifnull 1
aload 5
invokevirtual org.graalvm.compiler.nodes.FrameState.isDeleted:()Z
ifeq 1
new java.lang.AssertionError
dup
aload 5
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
1: StackMap locals:
StackMap stack:
aload 1
invokeinterface org.graalvm.compiler.nodes.Invoke.stateAfter:()Lorg/graalvm/compiler/nodes/FrameState;
astore 9
start local 9 2: aload 1
invokeinterface org.graalvm.compiler.nodes.Invoke.asNode:()Lorg/graalvm/compiler/nodes/FixedNode;
invokevirtual org.graalvm.compiler.nodes.FixedNode.getStackKind:()Ljdk/vm/ci/meta/JavaKind;
astore 10
start local 10 3: aload 0
getfield org.graalvm.compiler.nodes.FrameState.bci:I
bipush -3
if_icmpne 5
4: aload 0
aload 1
iload 6
invokestatic org.graalvm.compiler.phases.common.inlining.InliningUtil.handleAfterBciFrameState:(Lorg/graalvm/compiler/nodes/FrameState;Lorg/graalvm/compiler/nodes/Invoke;Z)Lorg/graalvm/compiler/nodes/FrameState;
areturn
5: StackMap locals: org.graalvm.compiler.nodes.FrameState jdk.vm.ci.meta.JavaKind
StackMap stack:
aload 4
ifnull 11
aload 0
invokestatic org.graalvm.compiler.phases.common.inlining.InliningUtil.isStateAfterException:(Lorg/graalvm/compiler/nodes/FrameState;)Z
ifeq 11
6: aload 4
astore 11
start local 11 7: aload 0
invokevirtual org.graalvm.compiler.nodes.FrameState.stackSize:()I
ifle 9
aload 4
iconst_0
invokevirtual org.graalvm.compiler.nodes.FrameState.stackAt:(I)Lorg/graalvm/compiler/nodes/ValueNode;
aload 0
iconst_0
invokevirtual org.graalvm.compiler.nodes.FrameState.stackAt:(I)Lorg/graalvm/compiler/nodes/ValueNode;
if_acmpeq 9
8: aload 4
getstatic jdk.vm.ci.meta.JavaKind.Object:Ljdk/vm/ci/meta/JavaKind;
getstatic jdk.vm.ci.meta.JavaKind.Object:Ljdk/vm/ci/meta/JavaKind;
aload 0
iconst_0
invokevirtual org.graalvm.compiler.nodes.FrameState.stackAt:(I)Lorg/graalvm/compiler/nodes/ValueNode;
invokevirtual org.graalvm.compiler.nodes.FrameState.duplicateModified:(Ljdk/vm/ci/meta/JavaKind;Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/FrameState;
astore 11
9: StackMap locals: org.graalvm.compiler.nodes.FrameState
StackMap stack:
aload 0
aload 11
invokevirtual org.graalvm.compiler.nodes.FrameState.replaceAndDelete:(Lorg/graalvm/compiler/graph/Node;)V
10: aload 11
areturn
end local 11 11: StackMap locals:
StackMap stack:
aload 0
getfield org.graalvm.compiler.nodes.FrameState.bci:I
iconst_m1
if_icmpeq 12
aload 0
getfield org.graalvm.compiler.nodes.FrameState.bci:I
bipush -4
if_icmpne 14
12: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
iload 6
invokestatic org.graalvm.compiler.phases.common.inlining.InliningUtil.handleMissingAfterExceptionFrameState:(Lorg/graalvm/compiler/nodes/FrameState;Lorg/graalvm/compiler/nodes/Invoke;Lorg/graalvm/util/EconomicMap;Z)Lorg/graalvm/compiler/nodes/FrameState;
pop
13: aload 0
areturn
14: StackMap locals:
StackMap stack:
aload 0
getfield org.graalvm.compiler.nodes.FrameState.bci:I
bipush -2
if_icmpne 26
15: getstatic org.graalvm.compiler.phases.common.inlining.InliningUtil.$assertionsDisabled:Z
ifne 16
aload 0
invokevirtual org.graalvm.compiler.nodes.FrameState.outerFrameState:()Lorg/graalvm/compiler/nodes/FrameState;
ifnull 16
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
16: StackMap locals:
StackMap stack:
aload 8
invokeinterface java.util.List.isEmpty:()Z
ifeq 17
getstatic org.graalvm.compiler.phases.common.inlining.InliningUtil.NO_ARGS:[Lorg/graalvm/compiler/nodes/ValueNode;
goto 18
StackMap locals:
StackMap stack:
17: aload 8
aload 8
invokeinterface java.util.List.size:()I
anewarray org.graalvm.compiler.nodes.ValueNode
invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.ValueNode[]
StackMap locals:
StackMap stack: org.graalvm.compiler.nodes.ValueNode[]
18: astore 11
start local 11 19: aload 9
aload 1
invokeinterface org.graalvm.compiler.nodes.Invoke.bci:()I
aload 10
aload 7
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getSignature:()Ljdk/vm/ci/meta/Signature;
aload 7
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.isStatic:()Z
ifeq 20
iconst_0
goto 21
StackMap locals: org.graalvm.compiler.nodes.FrameState org.graalvm.compiler.nodes.Invoke org.graalvm.util.EconomicMap jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.nodes.FrameState org.graalvm.compiler.nodes.FrameState int jdk.vm.ci.meta.ResolvedJavaMethod java.util.List org.graalvm.compiler.nodes.FrameState jdk.vm.ci.meta.JavaKind org.graalvm.compiler.nodes.ValueNode[]
StackMap stack: org.graalvm.compiler.nodes.FrameState int jdk.vm.ci.meta.JavaKind jdk.vm.ci.meta.Signature
20: iconst_1
StackMap locals: org.graalvm.compiler.nodes.FrameState org.graalvm.compiler.nodes.Invoke org.graalvm.util.EconomicMap jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.nodes.FrameState org.graalvm.compiler.nodes.FrameState int jdk.vm.ci.meta.ResolvedJavaMethod java.util.List org.graalvm.compiler.nodes.FrameState jdk.vm.ci.meta.JavaKind org.graalvm.compiler.nodes.ValueNode[]
StackMap stack: org.graalvm.compiler.nodes.FrameState int jdk.vm.ci.meta.JavaKind jdk.vm.ci.meta.Signature int
21: invokeinterface jdk.vm.ci.meta.Signature.toParameterKinds:(Z)[Ljdk/vm/ci/meta/JavaKind;
22: aload 11
23: invokevirtual org.graalvm.compiler.nodes.FrameState.duplicateModifiedBeforeCall:(ILjdk/vm/ci/meta/JavaKind;[Ljdk/vm/ci/meta/JavaKind;[Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/FrameState;
astore 12
start local 12 24: aload 0
aload 12
invokevirtual org.graalvm.compiler.nodes.FrameState.replaceAndDelete:(Lorg/graalvm/compiler/graph/Node;)V
25: aload 12
areturn
end local 12 end local 11 26: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.graalvm.compiler.nodes.FrameState.outerFrameState:()Lorg/graalvm/compiler/nodes/FrameState;
ifnonnull 29
27: getstatic org.graalvm.compiler.phases.common.inlining.InliningUtil.$assertionsDisabled:Z
ifne 28
aload 1
aload 3
aload 0
invokestatic org.graalvm.compiler.phases.common.inlining.InliningUtil.checkInlineeFrameState:(Lorg/graalvm/compiler/nodes/Invoke;Ljdk/vm/ci/meta/ResolvedJavaMethod;Lorg/graalvm/compiler/nodes/FrameState;)Z
ifne 28
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
28: StackMap locals:
StackMap stack:
aload 0
aload 5
invokevirtual org.graalvm.compiler.nodes.FrameState.setOuterFrameState:(Lorg/graalvm/compiler/nodes/FrameState;)V
29: StackMap locals:
StackMap stack:
aload 0
areturn
end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 30 0 frameState Lorg/graalvm/compiler/nodes/FrameState;
0 30 1 invoke Lorg/graalvm/compiler/nodes/Invoke;
0 30 2 replacements Lorg/graalvm/util/EconomicMap<Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;>;
0 30 3 inlinedMethod Ljdk/vm/ci/meta/ResolvedJavaMethod;
0 30 4 stateAtExceptionEdge Lorg/graalvm/compiler/nodes/FrameState;
0 30 5 outerFrameState Lorg/graalvm/compiler/nodes/FrameState;
0 30 6 alwaysDuplicateStateAfter Z
0 30 7 invokeTargetMethod Ljdk/vm/ci/meta/ResolvedJavaMethod;
0 30 8 invokeArgsList Ljava/util/List<Lorg/graalvm/compiler/nodes/ValueNode;>;
2 30 9 stateAtReturn Lorg/graalvm/compiler/nodes/FrameState;
3 30 10 invokeReturnKind Ljdk/vm/ci/meta/JavaKind;
7 11 11 stateAfterException Lorg/graalvm/compiler/nodes/FrameState;
19 26 11 invokeArgs [Lorg/graalvm/compiler/nodes/ValueNode;
24 26 12 stateBeforeCall Lorg/graalvm/compiler/nodes/FrameState;
Signature: (Lorg/graalvm/compiler/nodes/FrameState;Lorg/graalvm/compiler/nodes/Invoke;Lorg/graalvm/util/EconomicMap<Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;>;Ljdk/vm/ci/meta/ResolvedJavaMethod;Lorg/graalvm/compiler/nodes/FrameState;Lorg/graalvm/compiler/nodes/FrameState;ZLjdk/vm/ci/meta/ResolvedJavaMethod;Ljava/util/List<Lorg/graalvm/compiler/nodes/ValueNode;>;)Lorg/graalvm/compiler/nodes/FrameState;
MethodParameters:
Name Flags
frameState
invoke
replacements
inlinedMethod
stateAtExceptionEdge
outerFrameState
alwaysDuplicateStateAfter
invokeTargetMethod
invokeArgsList
private static org.graalvm.compiler.nodes.FrameState handleAfterBciFrameState(org.graalvm.compiler.nodes.FrameState, org.graalvm.compiler.nodes.Invoke, boolean);
descriptor: (Lorg/graalvm/compiler/nodes/FrameState;Lorg/graalvm/compiler/nodes/Invoke;Z)Lorg/graalvm/compiler/nodes/FrameState;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=9, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokeinterface org.graalvm.compiler.nodes.Invoke.stateAfter:()Lorg/graalvm/compiler/nodes/FrameState;
astore 3
start local 3 1: aload 1
invokeinterface org.graalvm.compiler.nodes.Invoke.asNode:()Lorg/graalvm/compiler/nodes/FixedNode;
invokevirtual org.graalvm.compiler.nodes.FixedNode.getStackKind:()Ljdk/vm/ci/meta/JavaKind;
astore 4
start local 4 2: aload 3
astore 5
start local 5 3: aload 0
invokevirtual org.graalvm.compiler.nodes.FrameState.getCode:()Lorg/graalvm/compiler/bytecode/Bytecode;
ifnonnull 10
4: aload 0
invokevirtual org.graalvm.compiler.nodes.FrameState.usages:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.iterator:()Ljava/util/Iterator;
astore 7
goto 9
StackMap locals: org.graalvm.compiler.nodes.FrameState org.graalvm.compiler.nodes.Invoke int org.graalvm.compiler.nodes.FrameState jdk.vm.ci.meta.JavaKind org.graalvm.compiler.nodes.FrameState top java.util.Iterator
StackMap stack:
5: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.graph.Node
astore 6
start local 6 6: aload 6
instanceof org.graalvm.compiler.nodes.extended.ForeignCallNode
ifeq 9
7: aload 6
checkcast org.graalvm.compiler.nodes.extended.ForeignCallNode
astore 8
start local 8 8: aload 8
aload 1
invokeinterface org.graalvm.compiler.nodes.Invoke.bci:()I
invokevirtual org.graalvm.compiler.nodes.extended.ForeignCallNode.setBci:(I)V
end local 8 end local 6 9: StackMap locals:
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 5
10: StackMap locals: org.graalvm.compiler.nodes.FrameState org.graalvm.compiler.nodes.Invoke int org.graalvm.compiler.nodes.FrameState jdk.vm.ci.meta.JavaKind org.graalvm.compiler.nodes.FrameState
StackMap stack:
getstatic org.graalvm.compiler.phases.common.inlining.InliningUtil.$assertionsDisabled:Z
ifne 11
aload 0
invokevirtual org.graalvm.compiler.nodes.FrameState.rethrowException:()Z
ifeq 11
new java.lang.AssertionError
dup
aload 0
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
11: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.graalvm.compiler.nodes.FrameState.stackSize:()I
ifle 14
iload 2
ifne 12
aload 5
iconst_0
invokevirtual org.graalvm.compiler.nodes.FrameState.stackAt:(I)Lorg/graalvm/compiler/nodes/ValueNode;
aload 0
iconst_0
invokevirtual org.graalvm.compiler.nodes.FrameState.stackAt:(I)Lorg/graalvm/compiler/nodes/ValueNode;
if_acmpeq 14
12: StackMap locals:
StackMap stack:
aload 3
aload 4
aload 4
aload 0
iconst_0
invokevirtual org.graalvm.compiler.nodes.FrameState.stackAt:(I)Lorg/graalvm/compiler/nodes/ValueNode;
invokevirtual org.graalvm.compiler.nodes.FrameState.duplicateModified:(Ljdk/vm/ci/meta/JavaKind;Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/FrameState;
astore 5
13: goto 15
14: StackMap locals:
StackMap stack:
aload 3
invokevirtual org.graalvm.compiler.nodes.FrameState.duplicate:()Lorg/graalvm/compiler/nodes/FrameState;
astore 5
15: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.phases.common.inlining.InliningUtil.$assertionsDisabled:Z
ifne 16
aload 5
getfield org.graalvm.compiler.nodes.FrameState.bci:I
bipush -5
if_icmpne 16
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
16: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.graalvm.compiler.nodes.FrameState.usages:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
ldc Lorg/graalvm/compiler/nodes/java/MonitorExitNode;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.filter:(Ljava/lang/Class;)Lorg/graalvm/compiler/graph/iterators/NodeIterable;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.iterator:()Ljava/util/Iterator;
astore 7
goto 19
StackMap locals: org.graalvm.compiler.nodes.FrameState org.graalvm.compiler.nodes.Invoke int org.graalvm.compiler.nodes.FrameState jdk.vm.ci.meta.JavaKind org.graalvm.compiler.nodes.FrameState top java.util.Iterator
StackMap stack:
17: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.java.MonitorExitNode
astore 6
start local 6 18: aload 6
invokevirtual org.graalvm.compiler.nodes.java.MonitorExitNode.clearEscapedReturnValue:()V
end local 6 19: StackMap locals:
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 17
20: aload 0
aload 5
invokevirtual org.graalvm.compiler.nodes.FrameState.replaceAndDelete:(Lorg/graalvm/compiler/graph/Node;)V
21: aload 5
areturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 frameState Lorg/graalvm/compiler/nodes/FrameState;
0 22 1 invoke Lorg/graalvm/compiler/nodes/Invoke;
0 22 2 alwaysDuplicateStateAfter Z
1 22 3 stateAtReturn Lorg/graalvm/compiler/nodes/FrameState;
2 22 4 invokeReturnKind Ljdk/vm/ci/meta/JavaKind;
3 22 5 stateAfterReturn Lorg/graalvm/compiler/nodes/FrameState;
6 9 6 usage Lorg/graalvm/compiler/graph/Node;
8 9 8 foreign Lorg/graalvm/compiler/nodes/extended/ForeignCallNode;
18 19 6 n Lorg/graalvm/compiler/nodes/java/MonitorExitNode;
MethodParameters:
Name Flags
frameState
invoke
alwaysDuplicateStateAfter
static boolean checkInlineeFrameState(org.graalvm.compiler.nodes.Invoke, jdk.vm.ci.meta.ResolvedJavaMethod, org.graalvm.compiler.nodes.FrameState);
descriptor: (Lorg/graalvm/compiler/nodes/Invoke;Ljdk/vm/ci/meta/ResolvedJavaMethod;Lorg/graalvm/compiler/nodes/FrameState;)Z
flags: (0x0008) ACC_STATIC
Code:
stack=7, locals=4, args_size=3
start local 0 start local 1 start local 2 0: getstatic org.graalvm.compiler.phases.common.inlining.InliningUtil.$assertionsDisabled:Z
ifne 1
aload 2
getfield org.graalvm.compiler.nodes.FrameState.bci:I
bipush -4
if_icmpne 1
new java.lang.AssertionError
dup
aload 2
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
1: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.phases.common.inlining.InliningUtil.$assertionsDisabled:Z
ifne 2
aload 2
getfield org.graalvm.compiler.nodes.FrameState.bci:I
bipush -2
if_icmpne 2
new java.lang.AssertionError
dup
aload 2
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
2: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.phases.common.inlining.InliningUtil.$assertionsDisabled:Z
ifne 3
aload 2
getfield org.graalvm.compiler.nodes.FrameState.bci:I
bipush -5
if_icmpne 3
new java.lang.AssertionError
dup
aload 2
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
3: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.phases.common.inlining.InliningUtil.$assertionsDisabled:Z
ifne 4
aload 2
getfield org.graalvm.compiler.nodes.FrameState.bci:I
iconst_m1
if_icmpne 4
new java.lang.AssertionError
dup
aload 2
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
4: StackMap locals:
StackMap stack:
aload 2
getfield org.graalvm.compiler.nodes.FrameState.bci:I
bipush -6
if_icmpeq 18
5: aload 2
invokevirtual org.graalvm.compiler.nodes.FrameState.getMethod:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
astore 3
start local 3 6: aload 3
aload 1
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifne 18
7: aload 3
aload 0
invokeinterface org.graalvm.compiler.nodes.Invoke.callTarget:()Lorg/graalvm/compiler/nodes/CallTargetNode;
invokevirtual org.graalvm.compiler.nodes.CallTargetNode.targetMethod:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 14
8: getstatic org.graalvm.compiler.phases.common.inlining.InliningUtil.$assertionsDisabled:Z
ifne 18
aload 1
9: ldc Lorg/graalvm/compiler/api/replacements/MethodSubstitution;
10: invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
ifnonnull 18
new java.lang.AssertionError
dup
11: new java.lang.StringBuilder
dup
ldc "expected an intrinsic when inlinee frame state matches method of call target but does not match the method of the inlinee graph: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
12: aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
13: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
14: StackMap locals: jdk.vm.ci.meta.ResolvedJavaMethod
StackMap stack:
aload 3
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getName:()Ljava/lang/String;
aload 1
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getName:()Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 18
15: new java.lang.AssertionError
dup
ldc "inlinedMethod=%s frameState.method=%s frameState=%s invoke.method=%s"
iconst_4
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
dup
iconst_1
aload 3
aastore
dup
iconst_2
aload 2
aastore
dup
iconst_3
16: aload 0
invokeinterface org.graalvm.compiler.nodes.Invoke.callTarget:()Lorg/graalvm/compiler/nodes/CallTargetNode;
invokevirtual org.graalvm.compiler.nodes.CallTargetNode.targetMethod:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
aastore
17: invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
end local 3 18: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 invoke Lorg/graalvm/compiler/nodes/Invoke;
0 19 1 inlinedMethod Ljdk/vm/ci/meta/ResolvedJavaMethod;
0 19 2 frameState Lorg/graalvm/compiler/nodes/FrameState;
6 18 3 method Ljdk/vm/ci/meta/ResolvedJavaMethod;
MethodParameters:
Name Flags
invoke
inlinedMethod
frameState
private static boolean isStateAfterException(org.graalvm.compiler.nodes.FrameState);
descriptor: (Lorg/graalvm/compiler/nodes/FrameState;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield org.graalvm.compiler.nodes.FrameState.bci:I
bipush -4
if_icmpeq 2
aload 0
getfield org.graalvm.compiler.nodes.FrameState.bci:I
iconst_m1
if_icmpne 1
aload 0
invokevirtual org.graalvm.compiler.nodes.FrameState.getMethod:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.isSynchronized:()Z
ifeq 2
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
StackMap locals:
StackMap stack:
2: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 frameState Lorg/graalvm/compiler/nodes/FrameState;
MethodParameters:
Name Flags
frameState
public static org.graalvm.compiler.nodes.FrameState handleMissingAfterExceptionFrameState(org.graalvm.compiler.nodes.FrameState, org.graalvm.compiler.nodes.Invoke, org.graalvm.util.EconomicMap<org.graalvm.compiler.graph.Node, org.graalvm.compiler.graph.Node>, boolean);
descriptor: (Lorg/graalvm/compiler/nodes/FrameState;Lorg/graalvm/compiler/nodes/Invoke;Lorg/graalvm/util/EconomicMap;Z)Lorg/graalvm/compiler/nodes/FrameState;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=16, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokevirtual org.graalvm.compiler.nodes.FrameState.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
astore 4
start local 4 1: aload 4
invokevirtual org.graalvm.compiler.graph.Graph.createNodeWorkList:()Lorg/graalvm/compiler/graph/NodeWorkList;
astore 5
start local 5 2: aload 5
aload 0
invokevirtual org.graalvm.compiler.graph.NodeWorkList.add:(Lorg/graalvm/compiler/graph/Node;)V
3: aload 5
invokevirtual org.graalvm.compiler.graph.NodeWorkList.iterator:()Ljava/util/Iterator;
astore 7
goto 39
StackMap locals: org.graalvm.compiler.nodes.FrameState org.graalvm.compiler.nodes.Invoke org.graalvm.util.EconomicMap int org.graalvm.compiler.graph.Graph org.graalvm.compiler.graph.NodeWorkList top java.util.Iterator
StackMap stack:
4: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.graph.Node
astore 6
start local 6 5: aload 6
checkcast org.graalvm.compiler.nodes.FrameState
astore 8
start local 8 6: aload 8
invokevirtual org.graalvm.compiler.nodes.FrameState.usages:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.snapshot:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 10
goto 38
StackMap locals: org.graalvm.compiler.nodes.FrameState org.graalvm.compiler.nodes.Invoke org.graalvm.util.EconomicMap int org.graalvm.compiler.graph.Graph org.graalvm.compiler.graph.NodeWorkList org.graalvm.compiler.graph.Node java.util.Iterator org.graalvm.compiler.nodes.FrameState top java.util.Iterator
StackMap stack:
7: aload 10
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.graph.Node
astore 9
start local 9 8: aload 9
invokevirtual org.graalvm.compiler.graph.Node.isAlive:()Z
ifne 10
9: goto 38
10: StackMap locals: org.graalvm.compiler.nodes.FrameState org.graalvm.compiler.nodes.Invoke org.graalvm.util.EconomicMap int org.graalvm.compiler.graph.Graph org.graalvm.compiler.graph.NodeWorkList org.graalvm.compiler.graph.Node java.util.Iterator org.graalvm.compiler.nodes.FrameState org.graalvm.compiler.graph.Node java.util.Iterator
StackMap stack:
aload 9
instanceof org.graalvm.compiler.nodes.FrameState
ifeq 13
11: aload 5
aload 9
invokevirtual org.graalvm.compiler.graph.NodeWorkList.add:(Lorg/graalvm/compiler/graph/Node;)V
12: goto 38
13: StackMap locals:
StackMap stack:
aload 9
checkcast org.graalvm.compiler.nodes.StateSplit
astore 11
start local 11 14: aload 11
invokeinterface org.graalvm.compiler.nodes.StateSplit.asNode:()Lorg/graalvm/compiler/nodes/FixedNode;
astore 12
start local 12 15: aload 12
instanceof org.graalvm.compiler.nodes.AbstractMergeNode
ifeq 24
16: aload 12
checkcast org.graalvm.compiler.nodes.AbstractMergeNode
astore 13
start local 13 17: goto 22
18: StackMap locals: org.graalvm.compiler.nodes.StateSplit org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.AbstractMergeNode
StackMap stack:
aload 13
invokevirtual org.graalvm.compiler.nodes.AbstractMergeNode.forwardEnds:()Lorg/graalvm/compiler/graph/NodeInputList;
invokevirtual org.graalvm.compiler.graph.NodeInputList.first:()Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.AbstractEndNode
astore 14
start local 14 19: aload 4
new org.graalvm.compiler.nodes.DeoptimizeNode
dup
getstatic jdk.vm.ci.meta.DeoptimizationAction.InvalidateRecompile:Ljdk/vm/ci/meta/DeoptimizationAction;
getstatic jdk.vm.ci.meta.DeoptimizationReason.NotCompiledExceptionHandler:Ljdk/vm/ci/meta/DeoptimizationReason;
invokespecial org.graalvm.compiler.nodes.DeoptimizeNode.<init>:(Ljdk/vm/ci/meta/DeoptimizationAction;Ljdk/vm/ci/meta/DeoptimizationReason;)V
invokevirtual org.graalvm.compiler.graph.Graph.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.DeoptimizeNode
astore 15
start local 15 20: aload 14
aload 15
invokevirtual org.graalvm.compiler.nodes.AbstractEndNode.replaceAtPredecessor:(Lorg/graalvm/compiler/graph/Node;)V
21: aload 14
invokestatic org.graalvm.compiler.nodes.util.GraphUtil.killCFG:(Lorg/graalvm/compiler/nodes/FixedNode;)V
end local 15 end local 14 22: StackMap locals:
StackMap stack:
aload 13
invokevirtual org.graalvm.compiler.nodes.AbstractMergeNode.isAlive:()Z
ifne 18
end local 13 23: goto 38
StackMap locals:
StackMap stack:
24: aload 12
instanceof org.graalvm.compiler.nodes.java.ExceptionObjectNode
ifeq 33
25: aload 12
invokevirtual org.graalvm.compiler.nodes.FixedNode.predecessor:()Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.InvokeWithExceptionNode
astore 13
start local 13 26: aload 13
invokevirtual org.graalvm.compiler.nodes.InvokeWithExceptionNode.stateAfter:()Lorg/graalvm/compiler/nodes/FrameState;
astore 14
start local 14 27: aload 13
invokevirtual org.graalvm.compiler.nodes.InvokeWithExceptionNode.replaceWithInvoke:()Lorg/graalvm/compiler/nodes/InvokeNode;
astore 15
start local 15 28: aload 15
aload 14
invokevirtual org.graalvm.compiler.nodes.FrameState.duplicate:()Lorg/graalvm/compiler/nodes/FrameState;
invokevirtual org.graalvm.compiler.nodes.InvokeNode.setStateAfter:(Lorg/graalvm/compiler/nodes/FrameState;)V
29: aload 2
ifnull 31
30: aload 2
aload 13
aload 15
invokeinterface org.graalvm.util.EconomicMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
31: StackMap locals: org.graalvm.compiler.nodes.InvokeWithExceptionNode org.graalvm.compiler.nodes.FrameState org.graalvm.compiler.nodes.InvokeNode
StackMap stack:
aload 15
invokevirtual org.graalvm.compiler.nodes.InvokeNode.stateAfter:()Lorg/graalvm/compiler/nodes/FrameState;
aload 1
iload 3
invokestatic org.graalvm.compiler.phases.common.inlining.InliningUtil.handleAfterBciFrameState:(Lorg/graalvm/compiler/nodes/FrameState;Lorg/graalvm/compiler/nodes/Invoke;Z)Lorg/graalvm/compiler/nodes/FrameState;
pop
end local 15 end local 14 end local 13 32: goto 38
33: StackMap locals:
StackMap stack:
aload 4
new org.graalvm.compiler.nodes.DeoptimizeNode
dup
getstatic jdk.vm.ci.meta.DeoptimizationAction.InvalidateRecompile:Ljdk/vm/ci/meta/DeoptimizationAction;
getstatic jdk.vm.ci.meta.DeoptimizationReason.NotCompiledExceptionHandler:Ljdk/vm/ci/meta/DeoptimizationReason;
invokespecial org.graalvm.compiler.nodes.DeoptimizeNode.<init>:(Ljdk/vm/ci/meta/DeoptimizationAction;Ljdk/vm/ci/meta/DeoptimizationReason;)V
invokevirtual org.graalvm.compiler.graph.Graph.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.FixedNode
astore 13
start local 13 34: aload 12
instanceof org.graalvm.compiler.nodes.AbstractBeginNode
ifeq 36
35: aload 13
invokestatic org.graalvm.compiler.nodes.BeginNode.begin:(Lorg/graalvm/compiler/nodes/FixedNode;)Lorg/graalvm/compiler/nodes/AbstractBeginNode;
astore 13
36: StackMap locals: org.graalvm.compiler.nodes.FixedNode
StackMap stack:
aload 12
aload 13
invokevirtual org.graalvm.compiler.nodes.FixedNode.replaceAtPredecessor:(Lorg/graalvm/compiler/graph/Node;)V
37: aload 12
invokestatic org.graalvm.compiler.nodes.util.GraphUtil.killCFG:(Lorg/graalvm/compiler/nodes/FixedNode;)V
end local 13 end local 12 end local 11 end local 9 38: StackMap locals: org.graalvm.compiler.nodes.FrameState org.graalvm.compiler.nodes.Invoke org.graalvm.util.EconomicMap int org.graalvm.compiler.graph.Graph org.graalvm.compiler.graph.NodeWorkList org.graalvm.compiler.graph.Node java.util.Iterator org.graalvm.compiler.nodes.FrameState top java.util.Iterator
StackMap stack:
aload 10
invokeinterface java.util.Iterator.hasNext:()Z
ifne 7
end local 8 end local 6 39: StackMap locals: org.graalvm.compiler.nodes.FrameState org.graalvm.compiler.nodes.Invoke org.graalvm.util.EconomicMap int org.graalvm.compiler.graph.Graph org.graalvm.compiler.graph.NodeWorkList top java.util.Iterator
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 4
40: aload 0
areturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 41 0 nonReplaceableFrameState Lorg/graalvm/compiler/nodes/FrameState;
0 41 1 invoke Lorg/graalvm/compiler/nodes/Invoke;
0 41 2 replacements Lorg/graalvm/util/EconomicMap<Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;>;
0 41 3 alwaysDuplicateStateAfter Z
1 41 4 graph Lorg/graalvm/compiler/graph/Graph;
2 41 5 workList Lorg/graalvm/compiler/graph/NodeWorkList;
5 39 6 node Lorg/graalvm/compiler/graph/Node;
6 39 8 fs Lorg/graalvm/compiler/nodes/FrameState;
8 38 9 usage Lorg/graalvm/compiler/graph/Node;
14 38 11 stateSplit Lorg/graalvm/compiler/nodes/StateSplit;
15 38 12 fixedStateSplit Lorg/graalvm/compiler/nodes/FixedNode;
17 23 13 merge Lorg/graalvm/compiler/nodes/AbstractMergeNode;
19 22 14 end Lorg/graalvm/compiler/nodes/AbstractEndNode;
20 22 15 deoptimizeNode Lorg/graalvm/compiler/nodes/DeoptimizeNode;
26 32 13 oldInvoke Lorg/graalvm/compiler/nodes/InvokeWithExceptionNode;
27 32 14 oldFrameState Lorg/graalvm/compiler/nodes/FrameState;
28 32 15 newInvoke Lorg/graalvm/compiler/nodes/InvokeNode;
34 38 13 deoptimizeNode Lorg/graalvm/compiler/nodes/FixedNode;
Signature: (Lorg/graalvm/compiler/nodes/FrameState;Lorg/graalvm/compiler/nodes/Invoke;Lorg/graalvm/util/EconomicMap<Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;>;Z)Lorg/graalvm/compiler/nodes/FrameState;
MethodParameters:
Name Flags
nonReplaceableFrameState
invoke
replacements
alwaysDuplicateStateAfter
private static boolean checkContainsOnlyInvalidOrAfterFrameState(org.graalvm.util.UnmodifiableEconomicMap<org.graalvm.compiler.graph.Node, org.graalvm.compiler.graph.Node>);
descriptor: (Lorg/graalvm/util/UnmodifiableEconomicMap;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=5, args_size=1
start local 0 0: bipush -6
istore 1
start local 1 1: aload 0
invokeinterface org.graalvm.util.UnmodifiableEconomicMap.getValues:()Ljava/lang/Iterable;
invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
astore 3
goto 13
StackMap locals: org.graalvm.util.UnmodifiableEconomicMap int top java.util.Iterator
StackMap stack:
2: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.graph.Node
astore 2
start local 2 3: aload 2
instanceof org.graalvm.compiler.nodes.FrameState
ifeq 13
4: aload 2
checkcast org.graalvm.compiler.nodes.FrameState
astore 4
start local 4 5: aload 4
getfield org.graalvm.compiler.nodes.FrameState.bci:I
bipush -6
if_icmpne 7
6: goto 13
7: StackMap locals: org.graalvm.util.UnmodifiableEconomicMap int org.graalvm.compiler.graph.Node java.util.Iterator org.graalvm.compiler.nodes.FrameState
StackMap stack:
aload 4
getfield org.graalvm.compiler.nodes.FrameState.bci:I
bipush -3
if_icmpeq 8
aload 4
getfield org.graalvm.compiler.nodes.FrameState.bci:I
bipush -2
if_icmpne 12
8: StackMap locals:
StackMap stack:
iload 1
bipush -6
if_icmpne 11
9: aload 4
getfield org.graalvm.compiler.nodes.FrameState.bci:I
istore 1
10: goto 13
11: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.phases.common.inlining.InliningUtil.$assertionsDisabled:Z
ifne 13
iload 1
aload 4
getfield org.graalvm.compiler.nodes.FrameState.bci:I
if_icmpeq 13
new java.lang.AssertionError
dup
aload 2
getstatic org.graalvm.compiler.nodeinfo.Verbosity.Debugger:Lorg/graalvm/compiler/nodeinfo/Verbosity;
invokevirtual org.graalvm.compiler.graph.Node.toString:(Lorg/graalvm/compiler/nodeinfo/Verbosity;)Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
12: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.phases.common.inlining.InliningUtil.$assertionsDisabled:Z
ifne 13
new java.lang.AssertionError
dup
aload 2
getstatic org.graalvm.compiler.nodeinfo.Verbosity.Debugger:Lorg/graalvm/compiler/nodeinfo/Verbosity;
invokevirtual org.graalvm.compiler.graph.Node.toString:(Lorg/graalvm/compiler/nodeinfo/Verbosity;)Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
end local 4 end local 2 13: StackMap locals: org.graalvm.util.UnmodifiableEconomicMap int top java.util.Iterator
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
14: iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 duplicates Lorg/graalvm/util/UnmodifiableEconomicMap<Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;>;
1 15 1 okBci I
3 13 2 node Lorg/graalvm/compiler/graph/Node;
5 13 4 frameState Lorg/graalvm/compiler/nodes/FrameState;
Signature: (Lorg/graalvm/util/UnmodifiableEconomicMap<Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;>;)Z
MethodParameters:
Name Flags
duplicates
public static org.graalvm.compiler.nodes.ValueNode nonNullReceiver(org.graalvm.compiler.nodes.Invoke);
descriptor: (Lorg/graalvm/compiler/nodes/Invoke;)Lorg/graalvm/compiler/nodes/ValueNode;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=7, locals=8, args_size=1
start local 0 0: aload 0
invokeinterface org.graalvm.compiler.nodes.Invoke.callTarget:()Lorg/graalvm/compiler/nodes/CallTargetNode;
checkcast org.graalvm.compiler.nodes.java.MethodCallTargetNode
astore 1
start local 1 1: getstatic org.graalvm.compiler.phases.common.inlining.InliningUtil.$assertionsDisabled:Z
ifne 2
aload 1
invokevirtual org.graalvm.compiler.nodes.java.MethodCallTargetNode.isStatic:()Z
ifeq 2
new java.lang.AssertionError
dup
aload 1
invokevirtual org.graalvm.compiler.nodes.java.MethodCallTargetNode.targetMethod:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
2: StackMap locals: org.graalvm.compiler.nodes.java.MethodCallTargetNode
StackMap stack:
aload 1
invokevirtual org.graalvm.compiler.nodes.java.MethodCallTargetNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
astore 2
start local 2 3: aload 1
invokevirtual org.graalvm.compiler.nodes.java.MethodCallTargetNode.arguments:()Lorg/graalvm/compiler/graph/NodeInputList;
iconst_0
invokevirtual org.graalvm.compiler.graph.NodeInputList.get:(I)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.ValueNode
astore 3
start local 3 4: aload 3
astore 4
start local 4 5: aload 4
invokevirtual org.graalvm.compiler.nodes.ValueNode.getStackKind:()Ljdk/vm/ci/meta/JavaKind;
getstatic jdk.vm.ci.meta.JavaKind.Object:Ljdk/vm/ci/meta/JavaKind;
if_acmpne 17
6: aload 0
invokeinterface org.graalvm.compiler.nodes.Invoke.getInvokeKind:()Lorg/graalvm/compiler/nodes/CallTargetNode$InvokeKind;
getstatic org.graalvm.compiler.nodes.CallTargetNode$InvokeKind.Special:Lorg/graalvm/compiler/nodes/CallTargetNode$InvokeKind;
if_acmpne 11
7: aload 4
getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
invokevirtual org.graalvm.compiler.nodes.ValueNode.stamp:(Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/core/common/type/Stamp;
astore 5
start local 5 8: aload 5
aload 2
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getAssumptions:()Ljdk/vm/ci/meta/Assumptions;
aload 1
invokevirtual org.graalvm.compiler.nodes.java.MethodCallTargetNode.targetMethod:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getDeclaringClass:()Ljdk/vm/ci/meta/ResolvedJavaType;
invokestatic org.graalvm.compiler.core.common.type.TypeReference.create:(Ljdk/vm/ci/meta/Assumptions;Ljdk/vm/ci/meta/ResolvedJavaType;)Lorg/graalvm/compiler/core/common/type/TypeReference;
invokestatic org.graalvm.compiler.core.common.type.StampFactory.object:(Lorg/graalvm/compiler/core/common/type/TypeReference;)Lorg/graalvm/compiler/core/common/type/ObjectStamp;
invokevirtual org.graalvm.compiler.core.common.type.Stamp.join:(Lorg/graalvm/compiler/core/common/type/Stamp;)Lorg/graalvm/compiler/core/common/type/Stamp;
astore 6
start local 6 9: aload 6
aload 5
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifne 11
10: aload 2
new org.graalvm.compiler.nodes.PiNode
dup
aload 4
aload 6
invokespecial org.graalvm.compiler.nodes.PiNode.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/common/type/Stamp;)V
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.unique:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.ValueNode
astore 4
end local 6 end local 5 11: StackMap locals: org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.ValueNode
StackMap stack:
aload 4
invokestatic org.graalvm.compiler.nodes.type.StampTool.isPointerNonNull:(Lorg/graalvm/compiler/nodes/ValueNode;)Z
ifne 17
12: aload 2
aload 4
invokestatic org.graalvm.compiler.nodes.calc.IsNullNode.create:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/LogicNode;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.unique:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.LogicNode
astore 5
start local 5 13: aload 2
new org.graalvm.compiler.nodes.FixedGuardNode
dup
aload 5
getstatic jdk.vm.ci.meta.DeoptimizationReason.NullCheckException:Ljdk/vm/ci/meta/DeoptimizationReason;
getstatic jdk.vm.ci.meta.DeoptimizationAction.InvalidateReprofile:Ljdk/vm/ci/meta/DeoptimizationAction;
iconst_1
invokespecial org.graalvm.compiler.nodes.FixedGuardNode.<init>:(Lorg/graalvm/compiler/nodes/LogicNode;Ljdk/vm/ci/meta/DeoptimizationReason;Ljdk/vm/ci/meta/DeoptimizationAction;Z)V
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.FixedGuardNode
astore 6
start local 6 14: aload 2
new org.graalvm.compiler.nodes.PiNode
dup
aload 4
invokestatic org.graalvm.compiler.core.common.type.StampFactory.objectNonNull:()Lorg/graalvm/compiler/core/common/type/Stamp;
aload 6
invokespecial org.graalvm.compiler.nodes.PiNode.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/ValueNode;)V
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.unique:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.PiNode
astore 7
start local 7 15: aload 2
aload 0
invokeinterface org.graalvm.compiler.nodes.Invoke.asNode:()Lorg/graalvm/compiler/nodes/FixedNode;
aload 6
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.addBeforeFixed:(Lorg/graalvm/compiler/nodes/FixedNode;Lorg/graalvm/compiler/nodes/FixedWithNextNode;)V
16: aload 7
astore 4
end local 7 end local 6 end local 5 17: StackMap locals:
StackMap stack:
aload 4
aload 3
if_acmpeq 19
18: aload 1
aload 3
aload 4
invokevirtual org.graalvm.compiler.nodes.java.MethodCallTargetNode.replaceFirstInput:(Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;)V
19: StackMap locals:
StackMap stack:
aload 4
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 invoke Lorg/graalvm/compiler/nodes/Invoke;
1 20 1 callTarget Lorg/graalvm/compiler/nodes/java/MethodCallTargetNode;
3 20 2 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
4 20 3 oldReceiver Lorg/graalvm/compiler/nodes/ValueNode;
5 20 4 newReceiver Lorg/graalvm/compiler/nodes/ValueNode;
8 11 5 paramStamp Lorg/graalvm/compiler/core/common/type/Stamp;
9 11 6 stamp Lorg/graalvm/compiler/core/common/type/Stamp;
13 17 5 condition Lorg/graalvm/compiler/nodes/LogicNode;
14 17 6 fixedGuard Lorg/graalvm/compiler/nodes/FixedGuardNode;
15 17 7 nonNullReceiver Lorg/graalvm/compiler/nodes/PiNode;
MethodParameters:
Name Flags
invoke
public static boolean canIntrinsify(org.graalvm.compiler.nodes.spi.Replacements, jdk.vm.ci.meta.ResolvedJavaMethod, int);
descriptor: (Lorg/graalvm/compiler/nodes/spi/Replacements;Ljdk/vm/ci/meta/ResolvedJavaMethod;I)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
iload 2
invokeinterface org.graalvm.compiler.nodes.spi.Replacements.hasSubstitution:(Ljdk/vm/ci/meta/ResolvedJavaMethod;I)Z
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 replacements Lorg/graalvm/compiler/nodes/spi/Replacements;
0 1 1 target Ljdk/vm/ci/meta/ResolvedJavaMethod;
0 1 2 invokeBci I
MethodParameters:
Name Flags
replacements
target
invokeBci
public static org.graalvm.compiler.nodes.StructuredGraph getIntrinsicGraph(org.graalvm.compiler.nodes.spi.Replacements, jdk.vm.ci.meta.ResolvedJavaMethod, int);
descriptor: (Lorg/graalvm/compiler/nodes/spi/Replacements;Ljdk/vm/ci/meta/ResolvedJavaMethod;I)Lorg/graalvm/compiler/nodes/StructuredGraph;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
iload 2
invokeinterface org.graalvm.compiler.nodes.spi.Replacements.getSubstitution:(Ljdk/vm/ci/meta/ResolvedJavaMethod;I)Lorg/graalvm/compiler/nodes/StructuredGraph;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 replacements Lorg/graalvm/compiler/nodes/spi/Replacements;
0 1 1 target Ljdk/vm/ci/meta/ResolvedJavaMethod;
0 1 2 invokeBci I
MethodParameters:
Name Flags
replacements
target
invokeBci
public static org.graalvm.compiler.nodes.FixedWithNextNode inlineMacroNode(org.graalvm.compiler.nodes.Invoke, jdk.vm.ci.meta.ResolvedJavaMethod, java.lang.Class<? extends org.graalvm.compiler.nodes.FixedWithNextNode>);
descriptor: (Lorg/graalvm/compiler/nodes/Invoke;Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljava/lang/Class;)Lorg/graalvm/compiler/nodes/FixedWithNextNode;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokeinterface org.graalvm.compiler.nodes.Invoke.asNode:()Lorg/graalvm/compiler/nodes/FixedNode;
invokevirtual org.graalvm.compiler.nodes.FixedNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
astore 3
start local 3 1: aload 1
aload 0
invokeinterface org.graalvm.compiler.nodes.Invoke.callTarget:()Lorg/graalvm/compiler/nodes/CallTargetNode;
checkcast org.graalvm.compiler.nodes.java.MethodCallTargetNode
invokevirtual org.graalvm.compiler.nodes.java.MethodCallTargetNode.targetMethod:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifne 4
2: getstatic org.graalvm.compiler.phases.common.inlining.InliningUtil.$assertionsDisabled:Z
ifne 3
aload 0
invokeinterface org.graalvm.compiler.nodes.Invoke.callTarget:()Lorg/graalvm/compiler/nodes/CallTargetNode;
checkcast org.graalvm.compiler.nodes.java.MethodCallTargetNode
invokevirtual org.graalvm.compiler.nodes.java.MethodCallTargetNode.invokeKind:()Lorg/graalvm/compiler/nodes/CallTargetNode$InvokeKind;
invokevirtual org.graalvm.compiler.nodes.CallTargetNode$InvokeKind.hasReceiver:()Z
ifne 3
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
3: StackMap locals: org.graalvm.compiler.nodes.StructuredGraph
StackMap stack:
aload 0
aload 3
getstatic org.graalvm.compiler.nodes.CallTargetNode$InvokeKind.Special:Lorg/graalvm/compiler/nodes/CallTargetNode$InvokeKind;
aload 1
invokestatic org.graalvm.compiler.phases.common.inlining.InliningUtil.replaceInvokeCallTarget:(Lorg/graalvm/compiler/nodes/Invoke;Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/CallTargetNode$InvokeKind;Ljdk/vm/ci/meta/ResolvedJavaMethod;)V
4: StackMap locals:
StackMap stack:
aload 2
aload 0
invokestatic org.graalvm.compiler.phases.common.inlining.InliningUtil.createMacroNodeInstance:(Ljava/lang/Class;Lorg/graalvm/compiler/nodes/Invoke;)Lorg/graalvm/compiler/nodes/FixedWithNextNode;
astore 4
start local 4 5: aload 0
invokeinterface org.graalvm.compiler.nodes.Invoke.callTarget:()Lorg/graalvm/compiler/nodes/CallTargetNode;
astore 5
start local 5 6: aload 0
instanceof org.graalvm.compiler.nodes.InvokeNode
ifeq 9
7: aload 3
aload 0
checkcast org.graalvm.compiler.nodes.InvokeNode
aload 3
aload 4
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.FixedWithNextNode
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.replaceFixedWithFixed:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;Lorg/graalvm/compiler/nodes/FixedWithNextNode;)V
8: goto 12
9: StackMap locals: org.graalvm.compiler.nodes.FixedWithNextNode org.graalvm.compiler.nodes.CallTargetNode
StackMap stack:
aload 0
checkcast org.graalvm.compiler.nodes.InvokeWithExceptionNode
astore 6
start local 6 10: aload 6
invokevirtual org.graalvm.compiler.nodes.InvokeWithExceptionNode.killExceptionEdge:()V
11: aload 3
aload 6
aload 3
aload 4
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.FixedWithNextNode
aload 6
invokevirtual org.graalvm.compiler.nodes.InvokeWithExceptionNode.next:()Lorg/graalvm/compiler/nodes/AbstractBeginNode;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.replaceSplitWithFixed:(Lorg/graalvm/compiler/nodes/ControlSplitNode;Lorg/graalvm/compiler/nodes/FixedWithNextNode;Lorg/graalvm/compiler/nodes/AbstractBeginNode;)V
end local 6 12: StackMap locals:
StackMap stack:
aload 5
invokestatic org.graalvm.compiler.nodes.util.GraphUtil.killWithUnusedFloatingInputs:(Lorg/graalvm/compiler/graph/Node;)V
13: aload 4
areturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 invoke Lorg/graalvm/compiler/nodes/Invoke;
0 14 1 concrete Ljdk/vm/ci/meta/ResolvedJavaMethod;
0 14 2 macroNodeClass Ljava/lang/Class<+Lorg/graalvm/compiler/nodes/FixedWithNextNode;>;
1 14 3 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
5 14 4 macroNode Lorg/graalvm/compiler/nodes/FixedWithNextNode;
6 14 5 callTarget Lorg/graalvm/compiler/nodes/CallTargetNode;
10 12 6 invokeWithException Lorg/graalvm/compiler/nodes/InvokeWithExceptionNode;
Exceptions:
throws org.graalvm.compiler.debug.GraalError
Signature: (Lorg/graalvm/compiler/nodes/Invoke;Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljava/lang/Class<+Lorg/graalvm/compiler/nodes/FixedWithNextNode;>;)Lorg/graalvm/compiler/nodes/FixedWithNextNode;
MethodParameters:
Name Flags
invoke
concrete
macroNodeClass
private static org.graalvm.compiler.nodes.FixedWithNextNode createMacroNodeInstance(java.lang.Class<? extends org.graalvm.compiler.nodes.FixedWithNextNode>, org.graalvm.compiler.nodes.Invoke);
descriptor: (Ljava/lang/Class;Lorg/graalvm/compiler/nodes/Invoke;)Lorg/graalvm/compiler/nodes/FixedWithNextNode;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 0
iconst_1
anewarray java.lang.Class
dup
iconst_0
ldc Lorg/graalvm/compiler/nodes/Invoke;
aastore
invokevirtual java.lang.Class.getDeclaredConstructor:([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
astore 2
start local 2 1: aload 2
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
invokevirtual java.lang.reflect.Constructor.newInstance:([Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.FixedWithNextNode
2: areturn
end local 2 3: StackMap locals:
StackMap stack: java.lang.Exception
astore 2
start local 2 4: new org.graalvm.compiler.graph.GraalGraphError
dup
aload 2
invokespecial org.graalvm.compiler.graph.GraalGraphError.<init>:(Ljava/lang/Throwable;)V
aload 1
invokeinterface org.graalvm.compiler.nodes.Invoke.asNode:()Lorg/graalvm/compiler/nodes/FixedNode;
invokevirtual org.graalvm.compiler.graph.GraalGraphError.addContext:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/GraalGraphError;
ldc "macroSubstitution"
aload 0
invokevirtual org.graalvm.compiler.graph.GraalGraphError.addContext:(Ljava/lang/String;Ljava/lang/Object;)Lorg/graalvm/compiler/debug/GraalError;
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 macroNodeClass Ljava/lang/Class<+Lorg/graalvm/compiler/nodes/FixedWithNextNode;>;
0 5 1 invoke Lorg/graalvm/compiler/nodes/Invoke;
1 3 2 cons Ljava/lang/reflect/Constructor<*>;
4 5 2 e Ljava/lang/Exception;
Exception table:
from to target type
0 2 3 Class java.lang.ReflectiveOperationException
0 2 3 Class java.lang.IllegalArgumentException
0 2 3 Class java.lang.SecurityException
Exceptions:
throws org.graalvm.compiler.debug.GraalError
Signature: (Ljava/lang/Class<+Lorg/graalvm/compiler/nodes/FixedWithNextNode;>;Lorg/graalvm/compiler/nodes/Invoke;)Lorg/graalvm/compiler/nodes/FixedWithNextNode;
MethodParameters:
Name Flags
macroNodeClass
invoke
public static int getNodeCount(org.graalvm.compiler.nodes.StructuredGraph);
descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getNodeCount:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
MethodParameters:
Name Flags
graph
private static org.graalvm.compiler.graph.Node lambda$0(org.graalvm.util.EconomicMap, org.graalvm.compiler.graph.Node, org.graalvm.compiler.graph.Node);
descriptor: (Lorg/graalvm/util/EconomicMap;Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=3, args_size=3
start local 1 start local 2 0: aload 0
aload 2
invokeinterface org.graalvm.util.EconomicMap.containsKey:(Ljava/lang/Object;)Z
ifeq 1
aload 0
aload 2
invokeinterface org.graalvm.util.EconomicMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.graalvm.compiler.graph.Node
goto 2
StackMap locals:
StackMap stack:
1: aload 2
StackMap locals:
StackMap stack: org.graalvm.compiler.graph.Node
2: areturn
end local 2 end local 1 LocalVariableTable:
Start End Slot Name Signature
0 3 1 key Lorg/graalvm/compiler/graph/Node;
0 3 2 value Lorg/graalvm/compiler/graph/Node;
}
SourceFile: "InliningUtil.java"
NestMembers:
org.graalvm.compiler.phases.common.inlining.InliningUtil$1
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
public abstract Scope = org.graalvm.compiler.debug.DebugContext$Scope of org.graalvm.compiler.debug.DebugContext
public abstract DuplicationReplacement = org.graalvm.compiler.graph.Graph$DuplicationReplacement of org.graalvm.compiler.graph.Graph
public abstract NodeEventListener = org.graalvm.compiler.graph.Graph$NodeEventListener of org.graalvm.compiler.graph.Graph
public final NodeEventScope = org.graalvm.compiler.graph.Graph$NodeEventScope of org.graalvm.compiler.graph.Graph
public abstract ValueNumberable = org.graalvm.compiler.graph.Node$ValueNumberable of org.graalvm.compiler.graph.Node
public final InvokeKind = org.graalvm.compiler.nodes.CallTargetNode$InvokeKind of org.graalvm.compiler.nodes.CallTargetNode
public final GuardsStage = org.graalvm.compiler.nodes.StructuredGraph$GuardsStage of org.graalvm.compiler.nodes.StructuredGraph
org.graalvm.compiler.phases.common.inlining.InliningUtil$1