public class org.graalvm.compiler.phases.common.inlining.InliningUtil
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.graalvm.compiler.phases.common.inlining.InliningUtil
super_class: java.lang.Object
{
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 java.lang.Object.<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: 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
1: 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 2 0 method Ljdk/vm/ci/meta/ResolvedJavaMethod;
0 2 1 invoke Lorg/graalvm/compiler/nodes/Invoke;
0 2 2 inliningDepth I
0 2 3 success Z
0 2 4 msg Ljava/lang/String;
0 2 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=6, 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 4
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: invokestatic org.graalvm.compiler.phases.common.inlining.InliningUtil.shouldLogInliningDecision:()Z
ifeq 4
3: 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:(Ljava/lang/String;ZLjava/lang/String;[Ljava/lang/Object;)V
4: 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 5 0 info Lorg/graalvm/compiler/phases/common/inlining/info/InlineInfo;
0 5 1 inliningDepth I
0 5 2 allowLogging Z
0 5 3 success Z
0 5 4 msg Ljava/lang/String;
0 5 5 args [Ljava/lang/Object;
MethodParameters:
Name Flags
info
inliningDepth
allowLogging
success
msg
args final
public static void logInliningDecision(java.lang.String, java.lang.Object[]);
descriptor: (Ljava/lang/String;[Ljava/lang/Object;)V
flags: (0x0089) ACC_PUBLIC, ACC_STATIC, ACC_VARARGS
Code:
stack=2, locals=5, args_size=2
start local 0 start local 1 0: aconst_null
astore 2
aconst_null
astore 3
1: ldc "InliningDecisions"
invokestatic org.graalvm.compiler.debug.Debug.scope:(Ljava/lang/Object;)Lorg/graalvm/compiler/debug/Debug$Scope;
astore 4
start local 4 2: invokestatic org.graalvm.compiler.debug.Debug.isLogEnabled:()Z
ifeq 4
3: aload 0
aload 1
invokestatic org.graalvm.compiler.debug.Debug.logv:(Ljava/lang/String;[Ljava/lang/Object;)V
4: StackMap locals: java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Debug$Scope
StackMap stack:
aload 4
ifnull 10
aload 4
invokeinterface org.graalvm.compiler.debug.Debug$Scope.close:()V
goto 10
StackMap locals:
StackMap stack: java.lang.Throwable
5: astore 2
aload 4
ifnull 6
aload 4
invokeinterface org.graalvm.compiler.debug.Debug$Scope.close:()V
end local 4 StackMap locals:
StackMap stack:
6: aload 2
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
7: astore 3
aload 2
ifnonnull 8
aload 3
astore 2
goto 9
StackMap locals:
StackMap stack:
8: aload 2
aload 3
if_acmpeq 9
aload 2
aload 3
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
9: aload 2
athrow
10: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 msg Ljava/lang/String;
0 11 1 args [Ljava/lang/Object;
2 6 4 s Lorg/graalvm/compiler/debug/Debug$Scope;
Exception table:
from to target type
2 4 5 any
1 7 7 any
MethodParameters:
Name Flags
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=4, locals=4, args_size=2
start local 0 start local 1 0: invokestatic org.graalvm.compiler.phases.common.inlining.InliningUtil.shouldLogInliningDecision:()Z
ifeq 9
1: aload 0
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
astore 2
start local 2 2: aload 0
invokeinterface org.graalvm.compiler.nodes.Invoke.callTarget:()Lorg/graalvm/compiler/nodes/CallTargetNode;
ifnonnull 5
3: new java.lang.StringBuilder
dup
aload 2
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 2
4: goto 8
5: StackMap locals: 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 3
start local 3 6: aload 2
aload 3
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifne 8
7: new java.lang.StringBuilder
dup
aload 2
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 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 2
end local 3 8: StackMap locals:
StackMap stack:
aload 2
iconst_0
aload 1
iconst_0
anewarray java.lang.Object
invokestatic org.graalvm.compiler.phases.common.inlining.InliningUtil.logInliningDecision:(Ljava/lang/String;ZLjava/lang/String;[Ljava/lang/Object;)V
end local 2 9: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 invoke Lorg/graalvm/compiler/nodes/Invoke;
0 10 1 msg Ljava/lang/String;
2 9 2 methodString Ljava/lang/String;
6 8 3 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=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: 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
1: invokestatic org.graalvm.compiler.phases.common.inlining.InliningUtil.shouldLogInliningDecision:()Z
ifeq 4
2: 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 5
start local 5 3: aload 5
iconst_0
aload 3
aload 4
invokestatic org.graalvm.compiler.phases.common.inlining.InliningUtil.logInliningDecision:(Ljava/lang/String;ZLjava/lang/String;[Ljava/lang/Object;)V
end local 5 4: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 invoke Lorg/graalvm/compiler/nodes/Invoke;
0 5 1 inliningDepth I
0 5 2 method Ljdk/vm/ci/meta/ResolvedJavaMethod;
0 5 3 msg Ljava/lang/String;
0 5 4 args [Ljava/lang/Object;
3 4 5 methodString Ljava/lang/String;
MethodParameters:
Name Flags
invoke
inliningDepth
method
msg
args
private static void logInliningDecision(java.lang.String, boolean, java.lang.String, java.lang.Object[]);
descriptor: (Ljava/lang/String;ZLjava/lang/String;[Ljava/lang/Object;)V
flags: (0x008a) ACC_PRIVATE, ACC_STATIC, ACC_VARARGS
Code:
stack=3, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: new java.lang.StringBuilder
dup
ldc "inlining "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ": "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 4
start local 4 1: iload 1
ifne 3
2: new java.lang.StringBuilder
dup
ldc "not "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 4
3: StackMap locals: java.lang.String
StackMap stack:
aload 4
aload 3
invokestatic org.graalvm.compiler.phases.common.inlining.InliningUtil.logInliningDecision:(Ljava/lang/String;[Ljava/lang/Object;)V
4: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 methodString Ljava/lang/String;
0 5 1 success Z
0 5 2 msg Ljava/lang/String;
0 5 3 args [Ljava/lang/Object;
1 5 4 inliningMsg Ljava/lang/String;
MethodParameters:
Name Flags
methodString final
success final
msg final
args final
public static boolean shouldLogInliningDecision();
descriptor: ()Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=3, args_size=0
0: aconst_null
astore 0
aconst_null
astore 1
1: ldc "InliningDecisions"
invokestatic org.graalvm.compiler.debug.Debug.scope:(Ljava/lang/Object;)Lorg/graalvm/compiler/debug/Debug$Scope;
astore 2
start local 2 2: invokestatic org.graalvm.compiler.debug.Debug.isLogEnabled:()Z
3: aload 2
ifnull 4
aload 2
invokeinterface org.graalvm.compiler.debug.Debug$Scope.close:()V
4: StackMap locals: java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Debug$Scope
StackMap stack: int
ireturn
StackMap locals:
StackMap stack: java.lang.Throwable
5: astore 0
6: aload 2
ifnull 7
aload 2
invokeinterface org.graalvm.compiler.debug.Debug$Scope.close:()V
end local 2 StackMap locals:
StackMap stack:
7: aload 0
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
8: astore 1
aload 0
ifnonnull 9
aload 1
astore 0
goto 10
StackMap locals:
StackMap stack:
9: aload 0
aload 1
if_acmpeq 10
aload 0
aload 1
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
10: aload 0
athrow
LocalVariableTable:
Start End Slot Name Signature
2 7 2 s Lorg/graalvm/compiler/debug/Debug$Scope;
Exception table:
from to target type
2 3 5 any
1 4 8 any
5 8 8 any
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=3, 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 2
aload 0
invokevirtual org.graalvm.compiler.nodes.FrameState.getMethod:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
ldc "%h.%n"
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.format:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
5: 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
6: aload 2
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 frameState Lorg/graalvm/compiler/nodes/FrameState;
0 7 1 bci I
1 7 2 sb Ljava/lang/StringBuilder;
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.GuardedValueNode 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/GuardedValueNode;
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/GuardedValueNode;
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.GuardedValueNode 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/GuardedValueNode;
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.GuardedValueNode
dup
aload 2
aload 1
aload 3
invokespecial org.graalvm.compiler.nodes.GuardedValueNode.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/extended/GuardingNode;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.GuardedValueNode
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 java.util.Map<org.graalvm.compiler.graph.Node, org.graalvm.compiler.graph.Node> inline(org.graalvm.compiler.nodes.Invoke, org.graalvm.compiler.nodes.StructuredGraph, boolean, java.util.List<org.graalvm.compiler.graph.Node>, jdk.vm.ci.meta.ResolvedJavaMethod);
descriptor: (Lorg/graalvm/compiler/nodes/Invoke;Lorg/graalvm/compiler/nodes/StructuredGraph;ZLjava/util/List;Ljdk/vm/ci/meta/ResolvedJavaMethod;)Ljava/util/Map;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=8, locals=28, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: invokestatic org.graalvm.compiler.debug.internal.method.MethodMetricsInlineeScopeInfo.create:()Lorg/graalvm/compiler/debug/internal/method/MethodMetricsInlineeScopeInfo;
astore 5
start local 5 1: aconst_null
astore 6
aconst_null
astore 7
2: ldc "InlineEnhancement"
aload 5
iconst_0
iconst_0
anewarray java.lang.Object
invokestatic org.graalvm.compiler.debug.Debug.methodMetricsScope:(Ljava/lang/Object;Lorg/graalvm/compiler/debug/internal/DebugScope$ExtraInfo;Z[Ljava/lang/Object;)Lorg/graalvm/compiler/debug/Debug$Scope;
astore 8
start local 8 3: aload 0
invokeinterface org.graalvm.compiler.nodes.Invoke.asNode:()Lorg/graalvm/compiler/nodes/FixedNode;
astore 9
start local 9 4: aload 9
invokevirtual org.graalvm.compiler.nodes.FixedNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
astore 10
start local 10 5: getstatic org.graalvm.compiler.debug.Fingerprint.ENABLED:Z
ifeq 7
6: ldc "inlining %s into %s: %s"
iconst_3
anewarray java.lang.Object
dup
iconst_0
aload 1
invokestatic org.graalvm.compiler.phases.common.inlining.InliningUtil.formatGraph:(Lorg/graalvm/compiler/nodes/StructuredGraph;)Ljava/lang/String;
aastore
dup
iconst_1
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;
invokestatic org.graalvm.compiler.phases.common.inlining.InliningUtil.formatGraph:(Lorg/graalvm/compiler/nodes/StructuredGraph;)Ljava/lang/String;
aastore
dup
iconst_2
aload 1
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getNodes:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.snapshot:()Ljava/util/List;
aastore
invokestatic org.graalvm.compiler.debug.Fingerprint.submit:(Ljava/lang/String;[Ljava/lang/Object;)V
7: StackMap locals: org.graalvm.compiler.nodes.Invoke org.graalvm.compiler.nodes.StructuredGraph int java.util.List jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.debug.internal.method.MethodMetricsInlineeScopeInfo java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Debug$Scope org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.StructuredGraph
StackMap stack:
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 11
start local 11 8: getstatic org.graalvm.compiler.phases.common.inlining.InliningUtil.$assertionsDisabled:Z
ifne 9
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 10
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getGuardsStage:()Lorg/graalvm/compiler/nodes/StructuredGraph$GuardsStage;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph$GuardsStage.ordinal:()I
if_icmpge 9
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
9: StackMap locals: org.graalvm.compiler.graph.NodeInputList
StackMap stack:
getstatic org.graalvm.compiler.phases.common.inlining.InliningUtil.$assertionsDisabled:Z
ifne 10
aload 9
invokevirtual org.graalvm.compiler.nodes.FixedNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.isAfterFloatingReadPhase:()Z
ifeq 10
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
10: StackMap locals:
StackMap stack:
iload 2
ifeq 12
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 12
11: aload 0
invokestatic org.graalvm.compiler.phases.common.inlining.InliningUtil.nonNullReceiver:(Lorg/graalvm/compiler/nodes/Invoke;)Lorg/graalvm/compiler/nodes/ValueNode;
pop
12: 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 12
start local 12 13: new java.util.ArrayList
dup
iconst_4
invokespecial java.util.ArrayList.<init>:(I)V
astore 13
start local 13 14: aconst_null
astore 14
start local 14 15: aload 1
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.start:()Lorg/graalvm/compiler/nodes/StartNode;
astore 15
start local 15 16: aload 15
invokevirtual org.graalvm.compiler.nodes.StartNode.next:()Lorg/graalvm/compiler/nodes/FixedNode;
astore 16
start local 16 17: aload 16
ifnonnull 19
18: 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
19: StackMap locals: org.graalvm.compiler.nodes.Invoke org.graalvm.compiler.nodes.StructuredGraph int java.util.List jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.debug.internal.method.MethodMetricsInlineeScopeInfo java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Debug$Scope org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.graph.NodeInputList 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 18
goto 30
StackMap locals: org.graalvm.compiler.nodes.Invoke org.graalvm.compiler.nodes.StructuredGraph int java.util.List jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.debug.internal.method.MethodMetricsInlineeScopeInfo java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Debug$Scope org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.graph.NodeInputList 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:
20: aload 18
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.graph.Node
astore 17
start local 17 21: aload 17
aload 15
if_acmpeq 30
aload 17
aload 15
invokevirtual org.graalvm.compiler.nodes.StartNode.stateAfter:()Lorg/graalvm/compiler/nodes/FrameState;
if_acmpne 22
aload 17
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 30
StackMap locals: org.graalvm.compiler.nodes.Invoke org.graalvm.compiler.nodes.StructuredGraph int java.util.List jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.debug.internal.method.MethodMetricsInlineeScopeInfo java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Debug$Scope org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.graph.NodeInputList 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:
22: aload 17
instanceof org.graalvm.compiler.nodes.ParameterNode
ifne 30
23: aload 12
aload 17
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
24: aload 17
instanceof org.graalvm.compiler.nodes.ReturnNode
ifeq 27
25: aload 13
aload 17
checkcast org.graalvm.compiler.nodes.ReturnNode
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
26: goto 30
StackMap locals:
StackMap stack:
27: aload 17
instanceof org.graalvm.compiler.nodes.UnwindNode
ifeq 30
28: getstatic org.graalvm.compiler.phases.common.inlining.InliningUtil.$assertionsDisabled:Z
ifne 29
aload 14
ifnull 29
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
29: StackMap locals:
StackMap stack:
aload 17
checkcast org.graalvm.compiler.nodes.UnwindNode
astore 14
end local 17 30: StackMap locals: org.graalvm.compiler.nodes.Invoke org.graalvm.compiler.nodes.StructuredGraph int java.util.List jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.debug.internal.method.MethodMetricsInlineeScopeInfo java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Debug$Scope org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.graph.NodeInputList 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 18
invokeinterface java.util.Iterator.hasNext:()Z
ifne 20
31: aload 9
invokestatic org.graalvm.compiler.nodes.AbstractBeginNode.prevBegin:(Lorg/graalvm/compiler/nodes/FixedNode;)Lorg/graalvm/compiler/nodes/AbstractBeginNode;
astore 17
start local 17 32: new org.graalvm.compiler.phases.common.inlining.InliningUtil$1
dup
aload 11
aload 15
aload 17
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 18
start local 18 33: getstatic org.graalvm.compiler.phases.common.inlining.InliningUtil.$assertionsDisabled:Z
ifne 34
aload 9
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 34
new java.lang.AssertionError
dup
aload 0
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
34: StackMap locals: org.graalvm.compiler.nodes.Invoke org.graalvm.compiler.nodes.StructuredGraph int java.util.List jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.debug.internal.method.MethodMetricsInlineeScopeInfo java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Debug$Scope org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.graph.NodeInputList 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 35
aload 9
invokevirtual org.graalvm.compiler.nodes.FixedNode.predecessor:()Lorg/graalvm/compiler/graph/Node;
ifnonnull 35
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
35: StackMap locals:
StackMap stack:
aload 10
aload 12
aload 1
aload 1
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getNodeCount:()I
aload 18
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.addDuplicates:(Ljava/lang/Iterable;Lorg/graalvm/compiler/graph/Graph;ILorg/graalvm/compiler/graph/Graph$DuplicationReplacement;)Ljava/util/Map;
astore 19
start local 19 36: aload 0
invokeinterface org.graalvm.compiler.nodes.Invoke.stateAfter:()Lorg/graalvm/compiler/nodes/FrameState;
astore 20
start local 20 37: getstatic org.graalvm.compiler.phases.common.inlining.InliningUtil.$assertionsDisabled:Z
ifne 38
aload 20
ifnull 38
aload 20
invokevirtual org.graalvm.compiler.nodes.FrameState.isAlive:()Z
ifne 38
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
38: StackMap locals: java.util.Map org.graalvm.compiler.nodes.FrameState
StackMap stack:
aconst_null
astore 21
start local 21 39: aload 0
instanceof org.graalvm.compiler.nodes.InvokeWithExceptionNode
ifeq 44
40: aload 0
checkcast org.graalvm.compiler.nodes.InvokeWithExceptionNode
astore 22
start local 22 41: aload 14
ifnull 44
42: aload 22
invokevirtual org.graalvm.compiler.nodes.InvokeWithExceptionNode.exceptionEdge:()Lorg/graalvm/compiler/nodes/AbstractBeginNode;
checkcast org.graalvm.compiler.nodes.java.ExceptionObjectNode
astore 23
start local 23 43: aload 23
invokevirtual org.graalvm.compiler.nodes.java.ExceptionObjectNode.stateAfter:()Lorg/graalvm/compiler/nodes/FrameState;
astore 21
end local 23 end local 22 44: StackMap locals: org.graalvm.compiler.nodes.FrameState
StackMap stack:
aload 0
aload 1
aload 19
invokestatic org.graalvm.compiler.phases.common.inlining.InliningUtil.updateSourcePositions:(Lorg/graalvm/compiler/nodes/Invoke;Lorg/graalvm/compiler/nodes/StructuredGraph;Ljava/util/Map;)V
45: aload 20
ifnull 57
46: aload 0
aload 1
aload 19
aload 21
aload 13
invokevirtual java.util.ArrayList.size:()I
iconst_1
if_icmple 47
iconst_1
goto 48
StackMap locals: org.graalvm.compiler.nodes.Invoke org.graalvm.compiler.nodes.StructuredGraph int java.util.List jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.debug.internal.method.MethodMetricsInlineeScopeInfo java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Debug$Scope org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.graph.NodeInputList 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 java.util.Map org.graalvm.compiler.nodes.FrameState org.graalvm.compiler.nodes.FrameState
StackMap stack: org.graalvm.compiler.nodes.Invoke org.graalvm.compiler.nodes.StructuredGraph java.util.Map org.graalvm.compiler.nodes.FrameState
47: iconst_0
StackMap locals: org.graalvm.compiler.nodes.Invoke org.graalvm.compiler.nodes.StructuredGraph int java.util.List jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.debug.internal.method.MethodMetricsInlineeScopeInfo java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Debug$Scope org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.graph.NodeInputList 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 java.util.Map org.graalvm.compiler.nodes.FrameState org.graalvm.compiler.nodes.FrameState
StackMap stack: org.graalvm.compiler.nodes.Invoke org.graalvm.compiler.nodes.StructuredGraph java.util.Map org.graalvm.compiler.nodes.FrameState int
48: invokestatic org.graalvm.compiler.phases.common.inlining.InliningUtil.processFrameStates:(Lorg/graalvm/compiler/nodes/Invoke;Lorg/graalvm/compiler/nodes/StructuredGraph;Ljava/util/Map;Lorg/graalvm/compiler/nodes/FrameState;Z)V
49: aload 20
invokevirtual org.graalvm.compiler.nodes.FrameState.nestedLockDepth:()I
istore 22
start local 22 50: iload 22
ifeq 58
51: 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 24
goto 55
StackMap locals: org.graalvm.compiler.nodes.Invoke org.graalvm.compiler.nodes.StructuredGraph int java.util.List jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.debug.internal.method.MethodMetricsInlineeScopeInfo java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Debug$Scope org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.graph.NodeInputList 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 java.util.Map org.graalvm.compiler.nodes.FrameState org.graalvm.compiler.nodes.FrameState int top java.util.Iterator
StackMap stack:
52: aload 24
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.java.MonitorIdNode
astore 23
start local 23 53: aload 19
aload 23
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.java.MonitorIdNode
astore 25
start local 25 54: aload 0
invokeinterface org.graalvm.compiler.nodes.Invoke.stateAfter:()Lorg/graalvm/compiler/nodes/FrameState;
aload 25
invokestatic org.graalvm.compiler.phases.common.inlining.InliningUtil.processMonitorId:(Lorg/graalvm/compiler/nodes/FrameState;Lorg/graalvm/compiler/nodes/java/MonitorIdNode;)V
end local 25 end local 23 55: StackMap locals:
StackMap stack:
aload 24
invokeinterface java.util.Iterator.hasNext:()Z
ifne 52
end local 22 56: goto 58
57: StackMap locals: org.graalvm.compiler.nodes.Invoke org.graalvm.compiler.nodes.StructuredGraph int java.util.List jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.debug.internal.method.MethodMetricsInlineeScopeInfo java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Debug$Scope org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.graph.NodeInputList 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 java.util.Map org.graalvm.compiler.nodes.FrameState org.graalvm.compiler.nodes.FrameState
StackMap stack:
getstatic org.graalvm.compiler.phases.common.inlining.InliningUtil.$assertionsDisabled:Z
ifne 58
aload 19
invokestatic org.graalvm.compiler.phases.common.inlining.InliningUtil.checkContainsOnlyInvalidOrAfterFrameState:(Ljava/util/Map;)Z
ifne 58
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
58: StackMap locals:
StackMap stack:
aload 19
aload 16
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.FixedNode
astore 16
59: iconst_0
istore 22
start local 22 60: goto 63
61: StackMap locals: int
StackMap stack:
aload 13
iload 22
aload 19
aload 13
iload 22
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
invokeinterface java.util.Map.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
62: iinc 22 1
StackMap locals:
StackMap stack:
63: iload 22
aload 13
invokevirtual java.util.ArrayList.size:()I
if_icmplt 61
end local 22 64: aload 14
ifnull 66
65: aload 19
aload 14
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.UnwindNode
astore 14
66: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.core.common.GraalOptions.UseGraalInstrumentation:Lorg/graalvm/compiler/options/OptionValue;
invokevirtual org.graalvm.compiler.options.OptionValue.getValue:()Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
ifeq 68
67: aload 0
invokestatic org.graalvm.compiler.phases.common.inlining.InliningUtil.detachInstrumentation:(Lorg/graalvm/compiler/nodes/Invoke;)V
68: StackMap locals:
StackMap stack:
aload 0
aload 10
aload 16
aload 13
aload 14
aload 1
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getAssumptions:()Ljdk/vm/ci/meta/Assumptions;
aload 1
aload 3
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;Ljava/util/List;)Lorg/graalvm/compiler/nodes/ValueNode;
astore 22
start local 22 69: aload 3
ifnull 84
70: aload 22
ifnull 75
71: aload 22
invokevirtual org.graalvm.compiler.nodes.ValueNode.usages:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.iterator:()Ljava/util/Iterator;
astore 24
goto 74
StackMap locals: org.graalvm.compiler.nodes.Invoke org.graalvm.compiler.nodes.StructuredGraph int java.util.List jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.debug.internal.method.MethodMetricsInlineeScopeInfo java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Debug$Scope org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.graph.NodeInputList 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 java.util.Map org.graalvm.compiler.nodes.FrameState org.graalvm.compiler.nodes.FrameState org.graalvm.compiler.nodes.ValueNode top java.util.Iterator
StackMap stack:
72: aload 24
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.graph.Node
astore 23
start local 23 73: aload 3
aload 23
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 23 74: StackMap locals:
StackMap stack:
aload 24
invokeinterface java.util.Iterator.hasNext:()Z
ifne 72
75: StackMap locals: org.graalvm.compiler.nodes.Invoke org.graalvm.compiler.nodes.StructuredGraph int java.util.List jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.debug.internal.method.MethodMetricsInlineeScopeInfo java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Debug$Scope org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.graph.NodeInputList 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 java.util.Map org.graalvm.compiler.nodes.FrameState org.graalvm.compiler.nodes.FrameState org.graalvm.compiler.nodes.ValueNode
StackMap stack:
aload 1
getstatic org.graalvm.compiler.nodes.ParameterNode.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 24
goto 83
StackMap locals: org.graalvm.compiler.nodes.Invoke org.graalvm.compiler.nodes.StructuredGraph int java.util.List jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.debug.internal.method.MethodMetricsInlineeScopeInfo java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Debug$Scope org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.graph.NodeInputList 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 java.util.Map org.graalvm.compiler.nodes.FrameState org.graalvm.compiler.nodes.FrameState org.graalvm.compiler.nodes.ValueNode top java.util.Iterator
StackMap stack:
76: aload 24
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.ParameterNode
astore 23
start local 23 77: aload 23
invokevirtual org.graalvm.compiler.nodes.ParameterNode.usages:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.iterator:()Ljava/util/Iterator;
astore 26
goto 82
StackMap locals: org.graalvm.compiler.nodes.Invoke org.graalvm.compiler.nodes.StructuredGraph int java.util.List jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.debug.internal.method.MethodMetricsInlineeScopeInfo java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Debug$Scope org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.graph.NodeInputList 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 java.util.Map org.graalvm.compiler.nodes.FrameState org.graalvm.compiler.nodes.FrameState org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.ParameterNode java.util.Iterator top java.util.Iterator
StackMap stack:
78: aload 26
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.graph.Node
astore 25
start local 25 79: aload 19
aload 25
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.graalvm.compiler.graph.Node
astore 27
start local 27 80: aload 27
ifnull 82
aload 27
invokevirtual org.graalvm.compiler.graph.Node.isAlive:()Z
ifeq 82
81: aload 3
aload 27
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 27 end local 25 82: StackMap locals:
StackMap stack:
aload 26
invokeinterface java.util.Iterator.hasNext:()Z
ifne 78
end local 23 83: StackMap locals: org.graalvm.compiler.nodes.Invoke org.graalvm.compiler.nodes.StructuredGraph int java.util.List jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.debug.internal.method.MethodMetricsInlineeScopeInfo java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Debug$Scope org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.graph.NodeInputList 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 java.util.Map org.graalvm.compiler.nodes.FrameState org.graalvm.compiler.nodes.FrameState org.graalvm.compiler.nodes.ValueNode top java.util.Iterator
StackMap stack:
aload 24
invokeinterface java.util.Iterator.hasNext:()Z
ifne 76
84: StackMap locals: org.graalvm.compiler.nodes.Invoke org.graalvm.compiler.nodes.StructuredGraph int java.util.List jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.debug.internal.method.MethodMetricsInlineeScopeInfo java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Debug$Scope org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.graph.NodeInputList 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 java.util.Map org.graalvm.compiler.nodes.FrameState org.graalvm.compiler.nodes.FrameState org.graalvm.compiler.nodes.ValueNode
StackMap stack:
aload 9
invokestatic org.graalvm.compiler.nodes.util.GraphUtil.killCFG:(Lorg/graalvm/compiler/nodes/FixedNode;)V
85: invokestatic org.graalvm.compiler.debug.Debug.isMethodMeterEnabled:()Z
ifeq 87
aload 5
ifnull 87
86: aload 5
invokevirtual org.graalvm.compiler.debug.internal.method.MethodMetricsInlineeScopeInfo.getRootMethod:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
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;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.method:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
aload 4
invokestatic org.graalvm.compiler.debug.internal.method.MethodMetricsImpl.recordInlinee:(Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljdk/vm/ci/meta/ResolvedJavaMethod;)V
87: StackMap locals:
StackMap stack:
aload 19
88: aload 8
ifnull 89
aload 8
invokeinterface org.graalvm.compiler.debug.Debug$Scope.close:()V
89: StackMap locals:
StackMap stack: java.util.Map
areturn
end local 22 end local 21 end local 20 end local 19 end local 18 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 StackMap locals: org.graalvm.compiler.nodes.Invoke org.graalvm.compiler.nodes.StructuredGraph int java.util.List jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.debug.internal.method.MethodMetricsInlineeScopeInfo java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Debug$Scope
StackMap stack: java.lang.Throwable
90: astore 6
91: aload 8
ifnull 92
aload 8
invokeinterface org.graalvm.compiler.debug.Debug$Scope.close:()V
end local 8 StackMap locals:
StackMap stack:
92: aload 6
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
93: astore 7
aload 6
ifnonnull 94
aload 7
astore 6
goto 95
StackMap locals:
StackMap stack:
94: aload 6
aload 7
if_acmpeq 95
aload 6
aload 7
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
95: aload 6
athrow
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 96 0 invoke Lorg/graalvm/compiler/nodes/Invoke;
0 96 1 inlineGraph Lorg/graalvm/compiler/nodes/StructuredGraph;
0 96 2 receiverNullCheck Z
0 96 3 canonicalizedNodes Ljava/util/List<Lorg/graalvm/compiler/graph/Node;>;
0 96 4 inlineeMethod Ljdk/vm/ci/meta/ResolvedJavaMethod;
1 96 5 m Lorg/graalvm/compiler/debug/internal/method/MethodMetricsInlineeScopeInfo;
3 92 8 s Lorg/graalvm/compiler/debug/Debug$Scope;
4 90 9 invokeNode Lorg/graalvm/compiler/nodes/FixedNode;
5 90 10 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
8 90 11 parameters Lorg/graalvm/compiler/graph/NodeInputList<Lorg/graalvm/compiler/nodes/ValueNode;>;
13 90 12 nodes Ljava/util/ArrayList<Lorg/graalvm/compiler/graph/Node;>;
14 90 13 returnNodes Ljava/util/ArrayList<Lorg/graalvm/compiler/nodes/ReturnNode;>;
15 90 14 unwindNode Lorg/graalvm/compiler/nodes/UnwindNode;
16 90 15 entryPointNode Lorg/graalvm/compiler/nodes/StartNode;
17 90 16 firstCFGNode Lorg/graalvm/compiler/nodes/FixedNode;
21 30 17 node Lorg/graalvm/compiler/graph/Node;
32 90 17 prevBegin Lorg/graalvm/compiler/nodes/AbstractBeginNode;
33 90 18 localReplacement Lorg/graalvm/compiler/graph/Graph$DuplicationReplacement;
36 90 19 duplicates Ljava/util/Map<Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;>;
37 90 20 stateAfter Lorg/graalvm/compiler/nodes/FrameState;
39 90 21 stateAtExceptionEdge Lorg/graalvm/compiler/nodes/FrameState;
41 44 22 invokeWithException Lorg/graalvm/compiler/nodes/InvokeWithExceptionNode;
43 44 23 obj Lorg/graalvm/compiler/nodes/java/ExceptionObjectNode;
50 56 22 callerLockDepth I
53 55 23 original Lorg/graalvm/compiler/nodes/java/MonitorIdNode;
54 55 25 monitor Lorg/graalvm/compiler/nodes/java/MonitorIdNode;
60 64 22 i I
69 90 22 returnValue Lorg/graalvm/compiler/nodes/ValueNode;
73 74 23 usage Lorg/graalvm/compiler/graph/Node;
77 83 23 parameter Lorg/graalvm/compiler/nodes/ParameterNode;
79 82 25 usage Lorg/graalvm/compiler/graph/Node;
80 82 27 duplicate Lorg/graalvm/compiler/graph/Node;
Exception table:
from to target type
3 88 90 any
2 89 93 any
90 93 93 any
Signature: (Lorg/graalvm/compiler/nodes/Invoke;Lorg/graalvm/compiler/nodes/StructuredGraph;ZLjava/util/List<Lorg/graalvm/compiler/graph/Node;>;Ljdk/vm/ci/meta/ResolvedJavaMethod;)Ljava/util/Map<Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;>;
MethodParameters:
Name Flags
invoke
inlineGraph
receiverNullCheck
canonicalizedNodes
inlineeMethod
public 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, java.util.List<org.graalvm.compiler.graph.Node>);
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;Ljava/util/List;)Lorg/graalvm/compiler/nodes/ValueNode;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=13, args_size=8
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 0: aload 0
invokeinterface org.graalvm.compiler.nodes.Invoke.asNode:()Lorg/graalvm/compiler/nodes/FixedNode;
astore 8
start local 8 1: aload 0
invokeinterface org.graalvm.compiler.nodes.Invoke.stateAfter:()Lorg/graalvm/compiler/nodes/FrameState;
astore 9
start local 9 2: getstatic org.graalvm.compiler.phases.common.inlining.InliningUtil.$assertionsDisabled:Z
ifne 3
aload 9
ifnull 3
aload 9
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 8
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 10
start local 10 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 10
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 10
invokevirtual org.graalvm.compiler.nodes.InvokeWithExceptionNode.exceptionEdge:()Lorg/graalvm/compiler/nodes/AbstractBeginNode;
checkcast org.graalvm.compiler.nodes.java.ExceptionObjectNode
astore 11
start local 11 10: aload 11
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 11
invokevirtual org.graalvm.compiler.nodes.java.ExceptionObjectNode.next:()Lorg/graalvm/compiler/nodes/FixedNode;
astore 12
start local 12 12: aload 11
aconst_null
invokevirtual org.graalvm.compiler.nodes.java.ExceptionObjectNode.setNext:(Lorg/graalvm/compiler/nodes/FixedNode;)V
13: aload 4
aload 12
invokevirtual org.graalvm.compiler.nodes.UnwindNode.replaceAndDelete:(Lorg/graalvm/compiler/graph/Node;)V
14: aload 11
aconst_null
invokevirtual org.graalvm.compiler.nodes.java.ExceptionObjectNode.replaceAtPredecessor:(Lorg/graalvm/compiler/graph/Node;)V
15: aload 11
invokevirtual org.graalvm.compiler.nodes.java.ExceptionObjectNode.safeDelete:()V
end local 12 end local 11 16: goto 18
17: StackMap locals:
StackMap stack:
aload 10
invokevirtual org.graalvm.compiler.nodes.InvokeWithExceptionNode.killExceptionEdge:()V
18: StackMap locals:
StackMap stack:
aload 10
invokevirtual org.graalvm.compiler.nodes.InvokeWithExceptionNode.next:()Lorg/graalvm/compiler/nodes/AbstractBeginNode;
astore 11
start local 11 19: aload 11
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 12
start local 12 21: aload 1
aload 11
aload 1
aload 12
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 11
aload 12
invokevirtual org.graalvm.compiler.nodes.AbstractBeginNode.replaceAtUsages:(Lorg/graalvm/compiler/graph/Node;)V
23: aload 1
aload 11
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.removeFixed:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;)V
end local 12 end local 11 end local 10 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 10
start local 10 27: aload 4
aload 10
invokevirtual org.graalvm.compiler.nodes.UnwindNode.replaceAndDelete:(Lorg/graalvm/compiler/graph/Node;)V
end local 10 28: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.List.isEmpty:()Z
ifne 43
29: aload 0
invokeinterface org.graalvm.compiler.nodes.Invoke.next:()Lorg/graalvm/compiler/nodes/FixedNode;
astore 11
start local 11 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 12
start local 12 33: aload 12
invokevirtual org.graalvm.compiler.nodes.ReturnNode.result:()Lorg/graalvm/compiler/nodes/ValueNode;
astore 10
start local 10 34: aload 8
aload 10
invokevirtual org.graalvm.compiler.nodes.FixedNode.replaceAtUsages:(Lorg/graalvm/compiler/graph/Node;)V
35: aload 12
aload 11
invokevirtual org.graalvm.compiler.nodes.ReturnNode.replaceAndDelete:(Lorg/graalvm/compiler/graph/Node;)V
end local 12 36: goto 46
end local 10 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 java.util.List 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.AbstractMergeNode
astore 12
start local 12 38: aload 12
aload 9
invokevirtual org.graalvm.compiler.nodes.AbstractMergeNode.setStateAfter:(Lorg/graalvm/compiler/nodes/FrameState;)V
39: aload 12
aload 3
aload 7
invokestatic org.graalvm.compiler.phases.common.inlining.InliningUtil.mergeReturns:(Lorg/graalvm/compiler/nodes/AbstractMergeNode;Ljava/util/List;Ljava/util/List;)Lorg/graalvm/compiler/nodes/ValueNode;
astore 10
start local 10 40: aload 8
aload 10
invokevirtual org.graalvm.compiler.nodes.FixedNode.replaceAtUsages:(Lorg/graalvm/compiler/graph/Node;)V
41: aload 12
aload 11
invokevirtual org.graalvm.compiler.nodes.AbstractMergeNode.setNext:(Lorg/graalvm/compiler/nodes/FixedNode;)V
end local 12 end local 11 42: goto 46
end local 10 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 java.util.List org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.FrameState
StackMap stack:
aconst_null
astore 10
start local 10 44: aload 8
aconst_null
invokevirtual org.graalvm.compiler.nodes.FixedNode.replaceAtUsages:(Lorg/graalvm/compiler/graph/Node;)V
45: 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
46: StackMap locals: org.graalvm.compiler.nodes.ValueNode
StackMap stack:
aload 1
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getAssumptions:()Ljdk/vm/ci/meta/Assumptions;
astore 11
start local 11 47: aload 11
ifnull 51
48: aload 5
ifnull 52
49: aload 11
aload 5
invokevirtual jdk.vm.ci.meta.Assumptions.record:(Ljdk/vm/ci/meta/Assumptions;)V
50: goto 52
51: StackMap locals: jdk.vm.ci.meta.Assumptions
StackMap stack:
getstatic org.graalvm.compiler.phases.common.inlining.InliningUtil.$assertionsDisabled:Z
ifne 52
aload 5
ifnull 52
new java.lang.AssertionError
dup
ldc "cannot inline graph which makes assumptions into a graph that doesn't"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
52: StackMap locals:
StackMap stack:
aload 1
aload 6
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.updateMethods:(Lorg/graalvm/compiler/nodes/StructuredGraph;)V
53: aload 1
aload 6
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.updateFields:(Lorg/graalvm/compiler/nodes/StructuredGraph;)V
54: aload 6
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.hasUnsafeAccess:()Z
ifeq 56
55: aload 1
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.markUnsafeAccess:()V
56: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.phases.common.inlining.InliningUtil.$assertionsDisabled:Z
ifne 57
aload 6
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getSpeculationLog:()Ljdk/vm/ci/meta/SpeculationLog;
ifnull 57
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
57: StackMap locals:
StackMap stack:
aload 10
areturn
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 58 0 invoke Lorg/graalvm/compiler/nodes/Invoke;
0 58 1 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
0 58 2 firstNode Lorg/graalvm/compiler/nodes/FixedNode;
0 58 3 returnNodes Ljava/util/List<Lorg/graalvm/compiler/nodes/ReturnNode;>;
0 58 4 unwindNode Lorg/graalvm/compiler/nodes/UnwindNode;
0 58 5 inlinedAssumptions Ljdk/vm/ci/meta/Assumptions;
0 58 6 inlineGraph Lorg/graalvm/compiler/nodes/StructuredGraph;
0 58 7 canonicalizedNodes Ljava/util/List<Lorg/graalvm/compiler/graph/Node;>;
1 58 8 invokeNode Lorg/graalvm/compiler/nodes/FixedNode;
2 58 9 stateAfter Lorg/graalvm/compiler/nodes/FrameState;
6 24 10 invokeWithException Lorg/graalvm/compiler/nodes/InvokeWithExceptionNode;
10 16 11 obj Lorg/graalvm/compiler/nodes/java/ExceptionObjectNode;
12 16 12 n Lorg/graalvm/compiler/graph/Node;
19 24 11 begin Lorg/graalvm/compiler/nodes/AbstractBeginNode;
21 24 12 newBegin Lorg/graalvm/compiler/nodes/AbstractBeginNode;
27 28 10 deoptimizeNode Lorg/graalvm/compiler/nodes/DeoptimizeNode;
34 37 10 returnValue Lorg/graalvm/compiler/nodes/ValueNode;
40 43 10 returnValue Lorg/graalvm/compiler/nodes/ValueNode;
44 58 10 returnValue Lorg/graalvm/compiler/nodes/ValueNode;
30 42 11 n Lorg/graalvm/compiler/nodes/FixedNode;
33 36 12 returnNode Lorg/graalvm/compiler/nodes/ReturnNode;
38 42 12 merge Lorg/graalvm/compiler/nodes/AbstractMergeNode;
47 58 11 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;Ljava/util/List<Lorg/graalvm/compiler/graph/Node;>;)Lorg/graalvm/compiler/nodes/ValueNode;
MethodParameters:
Name Flags
invoke
graph
firstNode
returnNodes
unwindNode
inlinedAssumptions
inlineGraph
canonicalizedNodes
private static java.lang.String formatGraph(org.graalvm.compiler.nodes.StructuredGraph);
descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.method:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
ifnonnull 2
1: aload 0
getfield org.graalvm.compiler.nodes.StructuredGraph.name:Ljava/lang/String;
areturn
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.method:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
ldc "%H.%n(%p)"
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.format:(Ljava/lang/String;)Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
MethodParameters:
Name Flags
graph
private static void updateSourcePositions(org.graalvm.compiler.nodes.Invoke, org.graalvm.compiler.nodes.StructuredGraph, java.util.Map<org.graalvm.compiler.graph.Node, org.graalvm.compiler.graph.Node>);
descriptor: (Lorg/graalvm/compiler/nodes/Invoke;Lorg/graalvm/compiler/nodes/StructuredGraph;Ljava/util/Map;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=10, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.mayHaveNodeSourcePosition:()Z
ifeq 17
aload 0
invokeinterface org.graalvm.compiler.nodes.Invoke.stateAfter:()Lorg/graalvm/compiler/nodes/FrameState;
ifnull 17
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
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 3
start local 3 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 4
start local 4 7: getstatic org.graalvm.compiler.phases.common.inlining.InliningUtil.$assertionsDisabled:Z
ifne 8
aload 4
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:
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
astore 5
start local 5 9: aload 2
invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 7
goto 16
StackMap locals: org.graalvm.compiler.nodes.Invoke org.graalvm.compiler.nodes.StructuredGraph java.util.Map jdk.vm.ci.meta.JavaConstant org.graalvm.compiler.graph.NodeSourcePosition java.util.Map top java.util.Iterator
StackMap stack:
10: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 6
start local 6 11: aload 6
invokeinterface java.util.Map$Entry.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 16
13: aload 8
aload 3
aload 4
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 5
aload 9
aload 9
invokeinterface java.util.Map.putIfAbsent:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
15: aload 6
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast org.graalvm.compiler.graph.Node
aload 5
aload 9
invokeinterface java.util.Map.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 end local 6 16: StackMap locals:
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 10
end local 5 end local 4 end local 3 17: StackMap locals: org.graalvm.compiler.nodes.Invoke org.graalvm.compiler.nodes.StructuredGraph java.util.Map
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 invoke Lorg/graalvm/compiler/nodes/Invoke;
0 18 1 inlineGraph Lorg/graalvm/compiler/nodes/StructuredGraph;
0 18 2 duplicates Ljava/util/Map<Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;>;
6 17 3 constantReceiver Ljdk/vm/ci/meta/JavaConstant;
7 17 4 invokePos Lorg/graalvm/compiler/graph/NodeSourcePosition;
9 17 5 posMap Ljava/util/Map<Lorg/graalvm/compiler/graph/NodeSourcePosition;Lorg/graalvm/compiler/graph/NodeSourcePosition;>;
11 16 6 entry Ljava/util/Map$Entry<Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;>;
12 16 8 pos Lorg/graalvm/compiler/graph/NodeSourcePosition;
14 16 9 callerPos Lorg/graalvm/compiler/graph/NodeSourcePosition;
Signature: (Lorg/graalvm/compiler/nodes/Invoke;Lorg/graalvm/compiler/nodes/StructuredGraph;Ljava/util/Map<Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;>;)V
MethodParameters:
Name Flags
invoke
inlineGraph
duplicates
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, java.util.Map<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;Ljava/util/Map;Lorg/graalvm/compiler/nodes/FrameState;Z)V
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=8, locals=11, 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: 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 9
goto 12
StackMap locals: org.graalvm.compiler.nodes.Invoke org.graalvm.compiler.nodes.StructuredGraph java.util.Map org.graalvm.compiler.nodes.FrameState int org.graalvm.compiler.nodes.FrameState org.graalvm.compiler.nodes.FrameState jdk.vm.ci.meta.JavaKind top java.util.Iterator
StackMap stack:
4: aload 9
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.FrameState
astore 8
start local 8 5: aload 2
aload 8
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.FrameState
astore 10
start local 10 6: aload 10
ifnull 12
aload 10
invokevirtual org.graalvm.compiler.nodes.FrameState.isAlive:()Z
ifeq 12
7: aload 6
ifnonnull 9
8: 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
9: StackMap locals: org.graalvm.compiler.nodes.Invoke org.graalvm.compiler.nodes.StructuredGraph java.util.Map org.graalvm.compiler.nodes.FrameState int org.graalvm.compiler.nodes.FrameState org.graalvm.compiler.nodes.FrameState jdk.vm.ci.meta.JavaKind org.graalvm.compiler.nodes.FrameState java.util.Iterator org.graalvm.compiler.nodes.FrameState
StackMap stack:
aload 10
aload 0
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;
10: 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;
11: invokestatic org.graalvm.compiler.phases.common.inlining.InliningUtil.processFrameState:(Lorg/graalvm/compiler/nodes/FrameState;Lorg/graalvm/compiler/nodes/Invoke;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 10 end local 8 12: StackMap locals: org.graalvm.compiler.nodes.Invoke org.graalvm.compiler.nodes.StructuredGraph java.util.Map org.graalvm.compiler.nodes.FrameState int org.graalvm.compiler.nodes.FrameState org.graalvm.compiler.nodes.FrameState jdk.vm.ci.meta.JavaKind top java.util.Iterator
StackMap stack:
aload 9
invokeinterface java.util.Iterator.hasNext:()Z
ifne 4
13: return
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 14 0 invoke Lorg/graalvm/compiler/nodes/Invoke;
0 14 1 inlineGraph Lorg/graalvm/compiler/nodes/StructuredGraph;
0 14 2 duplicates Ljava/util/Map<Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;>;
0 14 3 stateAtExceptionEdge Lorg/graalvm/compiler/nodes/FrameState;
0 14 4 alwaysDuplicateStateAfter Z
1 14 5 stateAtReturn Lorg/graalvm/compiler/nodes/FrameState;
2 14 6 outerFrameState Lorg/graalvm/compiler/nodes/FrameState;
3 14 7 invokeReturnKind Ljdk/vm/ci/meta/JavaKind;
5 12 8 original Lorg/graalvm/compiler/nodes/FrameState;
6 12 10 frameState Lorg/graalvm/compiler/nodes/FrameState;
Signature: (Lorg/graalvm/compiler/nodes/Invoke;Lorg/graalvm/compiler/nodes/StructuredGraph;Ljava/util/Map<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, 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;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=14, args_size=8
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 0: getstatic org.graalvm.compiler.phases.common.inlining.InliningUtil.$assertionsDisabled:Z
ifne 1
aload 4
ifnull 1
aload 4
invokevirtual org.graalvm.compiler.nodes.FrameState.isDeleted:()Z
ifeq 1
new java.lang.AssertionError
dup
aload 4
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 8
start local 8 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 9
start local 9 3: aload 0
getfield org.graalvm.compiler.nodes.FrameState.bci:I
bipush -3
if_icmpne 20
4: aload 8
astore 10
start local 10 5: aload 0
invokevirtual org.graalvm.compiler.nodes.FrameState.getCode:()Lorg/graalvm/compiler/bytecode/Bytecode;
ifnonnull 12
6: 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 12
goto 11
StackMap locals: org.graalvm.compiler.nodes.FrameState org.graalvm.compiler.nodes.Invoke 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.FrameState top java.util.Iterator
StackMap stack:
7: aload 12
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.graph.Node
astore 11
start local 11 8: aload 11
instanceof org.graalvm.compiler.nodes.extended.ForeignCallNode
ifeq 11
9: aload 11
checkcast org.graalvm.compiler.nodes.extended.ForeignCallNode
astore 13
start local 13 10: aload 13
aload 1
invokeinterface org.graalvm.compiler.nodes.Invoke.bci:()I
invokevirtual org.graalvm.compiler.nodes.extended.ForeignCallNode.setBci:(I)V
end local 13 end local 11 11: StackMap locals:
StackMap stack:
aload 12
invokeinterface java.util.Iterator.hasNext:()Z
ifne 7
12: StackMap locals: org.graalvm.compiler.nodes.FrameState org.graalvm.compiler.nodes.Invoke 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.FrameState
StackMap stack:
aload 0
invokevirtual org.graalvm.compiler.nodes.FrameState.stackSize:()I
ifle 14
iload 5
ifne 13
aload 10
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
13: StackMap locals:
StackMap stack:
aload 8
aload 9
aload 9
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 10
14: 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 12
goto 17
StackMap locals: org.graalvm.compiler.nodes.FrameState org.graalvm.compiler.nodes.Invoke 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.FrameState top java.util.Iterator
StackMap stack:
15: aload 12
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.java.MonitorExitNode
astore 11
start local 11 16: aload 11
invokevirtual org.graalvm.compiler.nodes.java.MonitorExitNode.clearEscapedReturnValue:()V
end local 11 17: StackMap locals:
StackMap stack:
aload 12
invokeinterface java.util.Iterator.hasNext:()Z
ifne 15
18: aload 0
aload 10
invokevirtual org.graalvm.compiler.nodes.FrameState.replaceAndDelete:(Lorg/graalvm/compiler/graph/Node;)V
19: aload 10
areturn
end local 10 20: StackMap locals: org.graalvm.compiler.nodes.FrameState org.graalvm.compiler.nodes.Invoke 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
StackMap stack:
aload 3
ifnull 26
aload 0
invokestatic org.graalvm.compiler.phases.common.inlining.InliningUtil.isStateAfterException:(Lorg/graalvm/compiler/nodes/FrameState;)Z
ifeq 26
21: aload 3
astore 10
start local 10 22: aload 0
invokevirtual org.graalvm.compiler.nodes.FrameState.stackSize:()I
ifle 24
aload 3
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 24
23: aload 3
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 10
24: StackMap locals: org.graalvm.compiler.nodes.FrameState
StackMap stack:
aload 0
aload 10
invokevirtual org.graalvm.compiler.nodes.FrameState.replaceAndDelete:(Lorg/graalvm/compiler/graph/Node;)V
25: aload 10
areturn
end local 10 26: StackMap locals:
StackMap stack:
aload 0
getfield org.graalvm.compiler.nodes.FrameState.bci:I
iconst_m1
if_icmpeq 27
aload 0
getfield org.graalvm.compiler.nodes.FrameState.bci:I
bipush -4
if_icmpne 28
27: StackMap locals:
StackMap stack:
aload 0
invokestatic org.graalvm.compiler.phases.common.inlining.InliningUtil.handleMissingAfterExceptionFrameState:(Lorg/graalvm/compiler/nodes/FrameState;)Lorg/graalvm/compiler/nodes/FrameState;
areturn
28: StackMap locals:
StackMap stack:
aload 0
getfield org.graalvm.compiler.nodes.FrameState.bci:I
bipush -2
if_icmpne 40
29: getstatic org.graalvm.compiler.phases.common.inlining.InliningUtil.$assertionsDisabled:Z
ifne 30
aload 0
invokevirtual org.graalvm.compiler.nodes.FrameState.outerFrameState:()Lorg/graalvm/compiler/nodes/FrameState;
ifnull 30
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
30: StackMap locals:
StackMap stack:
aload 7
invokeinterface java.util.List.isEmpty:()Z
ifeq 31
getstatic org.graalvm.compiler.phases.common.inlining.InliningUtil.NO_ARGS:[Lorg/graalvm/compiler/nodes/ValueNode;
goto 32
StackMap locals:
StackMap stack:
31: aload 7
aload 7
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[]
32: astore 10
start local 10 33: aload 8
aload 1
invokeinterface org.graalvm.compiler.nodes.Invoke.bci:()I
aload 9
aload 6
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getSignature:()Ljdk/vm/ci/meta/Signature;
aload 6
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.isStatic:()Z
ifeq 34
iconst_0
goto 35
StackMap locals: org.graalvm.compiler.nodes.FrameState org.graalvm.compiler.nodes.Invoke 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
34: iconst_1
StackMap locals: org.graalvm.compiler.nodes.FrameState org.graalvm.compiler.nodes.Invoke 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
35: invokeinterface jdk.vm.ci.meta.Signature.toParameterKinds:(Z)[Ljdk/vm/ci/meta/JavaKind;
36: aload 10
37: 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 11
start local 11 38: aload 0
aload 11
invokevirtual org.graalvm.compiler.nodes.FrameState.replaceAndDelete:(Lorg/graalvm/compiler/graph/Node;)V
39: aload 11
areturn
end local 11 end local 10 40: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.graalvm.compiler.nodes.FrameState.outerFrameState:()Lorg/graalvm/compiler/nodes/FrameState;
ifnonnull 43
41: getstatic org.graalvm.compiler.phases.common.inlining.InliningUtil.$assertionsDisabled:Z
ifne 42
aload 1
aload 2
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 42
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
42: StackMap locals:
StackMap stack:
aload 0
aload 4
invokevirtual org.graalvm.compiler.nodes.FrameState.setOuterFrameState:(Lorg/graalvm/compiler/nodes/FrameState;)V
43: StackMap locals:
StackMap stack:
aload 0
areturn
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 44 0 frameState Lorg/graalvm/compiler/nodes/FrameState;
0 44 1 invoke Lorg/graalvm/compiler/nodes/Invoke;
0 44 2 inlinedMethod Ljdk/vm/ci/meta/ResolvedJavaMethod;
0 44 3 stateAtExceptionEdge Lorg/graalvm/compiler/nodes/FrameState;
0 44 4 outerFrameState Lorg/graalvm/compiler/nodes/FrameState;
0 44 5 alwaysDuplicateStateAfter Z
0 44 6 invokeTargetMethod Ljdk/vm/ci/meta/ResolvedJavaMethod;
0 44 7 invokeArgsList Ljava/util/List<Lorg/graalvm/compiler/nodes/ValueNode;>;
2 44 8 stateAtReturn Lorg/graalvm/compiler/nodes/FrameState;
3 44 9 invokeReturnKind Ljdk/vm/ci/meta/JavaKind;
5 20 10 stateAfterReturn Lorg/graalvm/compiler/nodes/FrameState;
8 11 11 usage Lorg/graalvm/compiler/graph/Node;
10 11 13 foreign Lorg/graalvm/compiler/nodes/extended/ForeignCallNode;
16 17 11 n Lorg/graalvm/compiler/nodes/java/MonitorExitNode;
22 26 10 stateAfterException Lorg/graalvm/compiler/nodes/FrameState;
33 40 10 invokeArgs [Lorg/graalvm/compiler/nodes/ValueNode;
38 40 11 stateBeforeCall Lorg/graalvm/compiler/nodes/FrameState;
Signature: (Lorg/graalvm/compiler/nodes/FrameState;Lorg/graalvm/compiler/nodes/Invoke;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
inlinedMethod
stateAtExceptionEdge
outerFrameState
alwaysDuplicateStateAfter
invokeTargetMethod
invokeArgsList
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);
descriptor: (Lorg/graalvm/compiler/nodes/FrameState;)Lorg/graalvm/compiler/nodes/FrameState;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=13, args_size=1
start local 0 0: aload 0
invokevirtual org.graalvm.compiler.nodes.FrameState.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
astore 1
start local 1 1: aload 1
invokevirtual org.graalvm.compiler.graph.Graph.createNodeWorkList:()Lorg/graalvm/compiler/graph/NodeWorkList;
astore 2
start local 2 2: aload 2
aload 0
invokevirtual org.graalvm.compiler.graph.NodeWorkList.add:(Lorg/graalvm/compiler/graph/Node;)V
3: aload 2
invokevirtual org.graalvm.compiler.graph.NodeWorkList.iterator:()Ljava/util/Iterator;
astore 4
goto 30
StackMap locals: org.graalvm.compiler.nodes.FrameState org.graalvm.compiler.graph.Graph org.graalvm.compiler.graph.NodeWorkList top java.util.Iterator
StackMap stack:
4: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.graph.Node
astore 3
start local 3 5: aload 3
checkcast org.graalvm.compiler.nodes.FrameState
astore 5
start local 5 6: aload 5
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 7
goto 29
StackMap locals: org.graalvm.compiler.nodes.FrameState 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 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.graph.Node
astore 6
start local 6 8: aload 6
invokevirtual org.graalvm.compiler.graph.Node.isAlive:()Z
ifne 10
9: goto 29
10: StackMap locals: org.graalvm.compiler.nodes.FrameState 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 6
instanceof org.graalvm.compiler.nodes.FrameState
ifeq 13
11: aload 2
aload 6
invokevirtual org.graalvm.compiler.graph.NodeWorkList.add:(Lorg/graalvm/compiler/graph/Node;)V
12: goto 29
13: StackMap locals:
StackMap stack:
aload 6
checkcast org.graalvm.compiler.nodes.StateSplit
astore 8
start local 8 14: aload 8
invokeinterface org.graalvm.compiler.nodes.StateSplit.asNode:()Lorg/graalvm/compiler/nodes/FixedNode;
astore 9
start local 9 15: aload 9
instanceof org.graalvm.compiler.nodes.AbstractMergeNode
ifeq 24
16: aload 9
checkcast org.graalvm.compiler.nodes.AbstractMergeNode
astore 10
start local 10 17: goto 22
18: StackMap locals: org.graalvm.compiler.nodes.StateSplit org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.AbstractMergeNode
StackMap stack:
aload 10
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 11
start local 11 19: 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.graph.Graph.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.DeoptimizeNode
astore 12
start local 12 20: aload 11
aload 12
invokevirtual org.graalvm.compiler.nodes.AbstractEndNode.replaceAtPredecessor:(Lorg/graalvm/compiler/graph/Node;)V
21: aload 11
invokestatic org.graalvm.compiler.nodes.util.GraphUtil.killCFG:(Lorg/graalvm/compiler/nodes/FixedNode;)V
end local 12 end local 11 22: StackMap locals:
StackMap stack:
aload 10
invokevirtual org.graalvm.compiler.nodes.AbstractMergeNode.isAlive:()Z
ifne 18
end local 10 23: goto 29
24: StackMap locals:
StackMap stack:
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.graph.Graph.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.FixedNode
astore 10
start local 10 25: aload 9
instanceof org.graalvm.compiler.nodes.AbstractBeginNode
ifeq 27
26: aload 10
invokestatic org.graalvm.compiler.nodes.BeginNode.begin:(Lorg/graalvm/compiler/nodes/FixedNode;)Lorg/graalvm/compiler/nodes/AbstractBeginNode;
astore 10
27: StackMap locals: org.graalvm.compiler.nodes.FixedNode
StackMap stack:
aload 9
aload 10
invokevirtual org.graalvm.compiler.nodes.FixedNode.replaceAtPredecessor:(Lorg/graalvm/compiler/graph/Node;)V
28: aload 9
invokestatic org.graalvm.compiler.nodes.util.GraphUtil.killCFG:(Lorg/graalvm/compiler/nodes/FixedNode;)V
end local 10 end local 9 end local 8 end local 6 29: StackMap locals: org.graalvm.compiler.nodes.FrameState 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 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 7
end local 5 end local 3 30: StackMap locals: org.graalvm.compiler.nodes.FrameState org.graalvm.compiler.graph.Graph org.graalvm.compiler.graph.NodeWorkList top java.util.Iterator
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 4
31: aload 0
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 32 0 nonReplaceableFrameState Lorg/graalvm/compiler/nodes/FrameState;
1 32 1 graph Lorg/graalvm/compiler/graph/Graph;
2 32 2 workList Lorg/graalvm/compiler/graph/NodeWorkList;
5 30 3 node Lorg/graalvm/compiler/graph/Node;
6 30 5 fs Lorg/graalvm/compiler/nodes/FrameState;
8 29 6 usage Lorg/graalvm/compiler/graph/Node;
14 29 8 stateSplit Lorg/graalvm/compiler/nodes/StateSplit;
15 29 9 fixedStateSplit Lorg/graalvm/compiler/nodes/FixedNode;
17 23 10 merge Lorg/graalvm/compiler/nodes/AbstractMergeNode;
19 22 11 end Lorg/graalvm/compiler/nodes/AbstractEndNode;
20 22 12 deoptimizeNode Lorg/graalvm/compiler/nodes/DeoptimizeNode;
25 29 10 deoptimizeNode Lorg/graalvm/compiler/nodes/FixedNode;
MethodParameters:
Name Flags
nonReplaceableFrameState
public static org.graalvm.compiler.nodes.ValueNode mergeReturns(org.graalvm.compiler.nodes.AbstractMergeNode, java.util.List<? extends org.graalvm.compiler.nodes.ReturnNode>, java.util.List<org.graalvm.compiler.graph.Node>);
descriptor: (Lorg/graalvm/compiler/nodes/AbstractMergeNode;Ljava/util/List;Ljava/util/List;)Lorg/graalvm/compiler/nodes/ValueNode;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
invokedynamic apply()Ljava/util/function/Function;
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;
org/graalvm/compiler/phases/common/inlining/InliningUtil.lambda$0(Lorg/graalvm/compiler/nodes/ReturnNode;)Lorg/graalvm/compiler/nodes/ValueNode; (6)
(Lorg/graalvm/compiler/nodes/ReturnNode;)Lorg/graalvm/compiler/nodes/ValueNode;
invokestatic org.graalvm.compiler.phases.common.inlining.InliningUtil.mergeValueProducers:(Lorg/graalvm/compiler/nodes/AbstractMergeNode;Ljava/util/List;Ljava/util/List;Ljava/util/function/Function;)Lorg/graalvm/compiler/nodes/ValueNode;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 merge Lorg/graalvm/compiler/nodes/AbstractMergeNode;
0 1 1 returnNodes Ljava/util/List<+Lorg/graalvm/compiler/nodes/ReturnNode;>;
0 1 2 canonicalizedNodes Ljava/util/List<Lorg/graalvm/compiler/graph/Node;>;
Signature: (Lorg/graalvm/compiler/nodes/AbstractMergeNode;Ljava/util/List<+Lorg/graalvm/compiler/nodes/ReturnNode;>;Ljava/util/List<Lorg/graalvm/compiler/graph/Node;>;)Lorg/graalvm/compiler/nodes/ValueNode;
MethodParameters:
Name Flags
merge
returnNodes
canonicalizedNodes
public static <T extends org.graalvm.compiler.nodes.ControlSinkNode> org.graalvm.compiler.nodes.ValueNode mergeValueProducers(org.graalvm.compiler.nodes.AbstractMergeNode, java.util.List<? extends T>, java.util.List<org.graalvm.compiler.graph.Node>, java.util.function.Function<T, org.graalvm.compiler.nodes.ValueNode>);
descriptor: (Lorg/graalvm/compiler/nodes/AbstractMergeNode;Ljava/util/List;Ljava/util/List;Ljava/util/function/Function;)Lorg/graalvm/compiler/nodes/ValueNode;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=10, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aconst_null
astore 4
start local 4 1: aconst_null
astore 5
start local 5 2: aload 1
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 7
goto 24
StackMap locals: org.graalvm.compiler.nodes.AbstractMergeNode java.util.List java.util.List java.util.function.Function org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.PhiNode top java.util.Iterator
StackMap stack:
3: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.ControlSinkNode
astore 6
start local 6 4: aload 3
aload 6
invokeinterface java.util.function.Function.apply:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.ValueNode
astore 8
start local 8 5: aload 8
ifnull 21
6: aload 5
ifnonnull 9
aload 4
ifnull 7
aload 4
aload 8
if_acmpne 9
7: StackMap locals: org.graalvm.compiler.nodes.AbstractMergeNode java.util.List java.util.List java.util.function.Function org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.PhiNode org.graalvm.compiler.nodes.ControlSinkNode java.util.Iterator org.graalvm.compiler.nodes.ValueNode
StackMap stack:
aload 8
astore 4
8: goto 21
StackMap locals:
StackMap stack:
9: aload 5
ifnonnull 20
10: aload 0
invokevirtual org.graalvm.compiler.nodes.AbstractMergeNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
new org.graalvm.compiler.nodes.ValuePhiNode
dup
aload 8
invokevirtual org.graalvm.compiler.nodes.ValueNode.stamp:()Lorg/graalvm/compiler/core/common/type/Stamp;
invokevirtual org.graalvm.compiler.core.common.type.Stamp.unrestricted:()Lorg/graalvm/compiler/core/common/type/Stamp;
aload 0
invokespecial org.graalvm.compiler.nodes.ValuePhiNode.<init>:(Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/AbstractMergeNode;)V
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.addWithoutUnique:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.PhiNode
astore 5
11: aload 2
ifnull 13
12: aload 2
aload 5
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
13: StackMap locals:
StackMap stack:
iconst_0
istore 9
start local 9 14: goto 17
15: StackMap locals: int
StackMap stack:
aload 5
aload 4
invokevirtual org.graalvm.compiler.nodes.PhiNode.addInput:(Lorg/graalvm/compiler/nodes/ValueNode;)V
16: iinc 9 1
StackMap locals:
StackMap stack:
17: iload 9
aload 0
invokevirtual org.graalvm.compiler.nodes.AbstractMergeNode.forwardEndCount:()I
if_icmplt 15
end local 9 18: aload 5
aload 8
invokevirtual org.graalvm.compiler.nodes.PhiNode.addInput:(Lorg/graalvm/compiler/nodes/ValueNode;)V
19: goto 21
20: StackMap locals:
StackMap stack:
aload 5
aload 8
invokevirtual org.graalvm.compiler.nodes.PhiNode.addInput:(Lorg/graalvm/compiler/nodes/ValueNode;)V
21: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.graalvm.compiler.nodes.AbstractMergeNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
new org.graalvm.compiler.nodes.EndNode
dup
invokespecial org.graalvm.compiler.nodes.EndNode.<init>:()V
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.EndNode
astore 9
start local 9 22: aload 0
aload 9
invokevirtual org.graalvm.compiler.nodes.AbstractMergeNode.addForwardEnd:(Lorg/graalvm/compiler/nodes/EndNode;)V
23: aload 6
aload 9
invokevirtual org.graalvm.compiler.nodes.ControlSinkNode.replaceAndDelete:(Lorg/graalvm/compiler/graph/Node;)V
end local 9 end local 8 end local 6 24: StackMap locals: org.graalvm.compiler.nodes.AbstractMergeNode java.util.List java.util.List java.util.function.Function org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.PhiNode top java.util.Iterator
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
25: aload 5
ifnull 29
26: getstatic org.graalvm.compiler.phases.common.inlining.InliningUtil.$assertionsDisabled:Z
ifne 27
aload 5
invokevirtual org.graalvm.compiler.nodes.PhiNode.verify:()Z
ifne 27
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
27: StackMap locals: org.graalvm.compiler.nodes.AbstractMergeNode java.util.List java.util.List java.util.function.Function org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.PhiNode
StackMap stack:
aload 5
invokevirtual org.graalvm.compiler.nodes.PhiNode.inferStamp:()Z
pop
28: aload 5
areturn
29: StackMap locals:
StackMap stack:
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 30 0 merge Lorg/graalvm/compiler/nodes/AbstractMergeNode;
0 30 1 valueProducers Ljava/util/List<+TT;>;
0 30 2 canonicalizedNodes Ljava/util/List<Lorg/graalvm/compiler/graph/Node;>;
0 30 3 valueFunction Ljava/util/function/Function<TT;Lorg/graalvm/compiler/nodes/ValueNode;>;
1 30 4 singleResult Lorg/graalvm/compiler/nodes/ValueNode;
2 30 5 phiResult Lorg/graalvm/compiler/nodes/PhiNode;
4 24 6 valueProducer TT;
5 24 8 result Lorg/graalvm/compiler/nodes/ValueNode;
14 18 9 i I
22 24 9 endNode Lorg/graalvm/compiler/nodes/EndNode;
Signature: <T:Lorg/graalvm/compiler/nodes/ControlSinkNode;>(Lorg/graalvm/compiler/nodes/AbstractMergeNode;Ljava/util/List<+TT;>;Ljava/util/List<Lorg/graalvm/compiler/graph/Node;>;Ljava/util/function/Function<TT;Lorg/graalvm/compiler/nodes/ValueNode;>;)Lorg/graalvm/compiler/nodes/ValueNode;
MethodParameters:
Name Flags
merge
valueProducers
canonicalizedNodes
valueFunction
private static boolean checkContainsOnlyInvalidOrAfterFrameState(java.util.Map<org.graalvm.compiler.graph.Node, org.graalvm.compiler.graph.Node>);
descriptor: (Ljava/util/Map;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=4, args_size=1
start local 0 0: aload 0
invokeinterface java.util.Map.values:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 2
goto 5
StackMap locals: java.util.Map top java.util.Iterator
StackMap stack:
1: aload 2
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.graph.Node
astore 1
start local 1 2: aload 1
instanceof org.graalvm.compiler.nodes.FrameState
ifeq 5
3: aload 1
checkcast org.graalvm.compiler.nodes.FrameState
astore 3
start local 3 4: getstatic org.graalvm.compiler.phases.common.inlining.InliningUtil.$assertionsDisabled:Z
ifne 5
aload 3
getfield org.graalvm.compiler.nodes.FrameState.bci:I
bipush -3
if_icmpeq 5
aload 3
getfield org.graalvm.compiler.nodes.FrameState.bci:I
bipush -6
if_icmpeq 5
new java.lang.AssertionError
dup
aload 1
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 3 end local 1 5: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
6: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 duplicates Ljava/util/Map<Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;>;
2 5 1 node Lorg/graalvm/compiler/graph/Node;
4 5 3 frameState Lorg/graalvm/compiler/nodes/FrameState;
Signature: (Ljava/util/Map<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=9, 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
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 18
5: aload 3
invokevirtual org.graalvm.compiler.nodes.ValueNode.stamp:()Lorg/graalvm/compiler/core/common/type/Stamp;
astore 4
start local 4 6: aload 4
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.objectNonNull:(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 5
start local 5 7: aload 3
invokestatic org.graalvm.compiler.nodes.type.StampTool.isPointerNonNull:(Lorg/graalvm/compiler/nodes/ValueNode;)Z
ifne 14
8: aload 2
aload 3
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 6
start local 6 9: aload 2
new org.graalvm.compiler.nodes.FixedGuardNode
dup
aload 6
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 7
start local 7 10: aload 2
new org.graalvm.compiler.nodes.PiNode
dup
aload 3
aload 5
aload 7
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 8
start local 8 11: aload 2
aload 0
invokeinterface org.graalvm.compiler.nodes.Invoke.asNode:()Lorg/graalvm/compiler/nodes/FixedNode;
aload 7
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.addBeforeFixed:(Lorg/graalvm/compiler/nodes/FixedNode;Lorg/graalvm/compiler/nodes/FixedWithNextNode;)V
12: aload 1
aload 3
aload 8
invokevirtual org.graalvm.compiler.nodes.java.MethodCallTargetNode.replaceFirstInput:(Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;)V
13: aload 8
areturn
end local 8 end local 7 end local 6 14: StackMap locals: org.graalvm.compiler.nodes.Invoke org.graalvm.compiler.nodes.java.MethodCallTargetNode org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.core.common.type.Stamp org.graalvm.compiler.core.common.type.Stamp
StackMap stack:
aload 5
aload 4
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifne 18
15: aload 2
new org.graalvm.compiler.nodes.PiNode
dup
aload 3
aload 5
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.PiNode
astore 6
start local 6 16: aload 1
aload 3
aload 6
invokevirtual org.graalvm.compiler.nodes.java.MethodCallTargetNode.replaceFirstInput:(Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;)V
17: aload 6
areturn
end local 6 end local 5 end local 4 18: StackMap locals:
StackMap stack:
aload 3
areturn
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;
1 19 1 callTarget Lorg/graalvm/compiler/nodes/java/MethodCallTargetNode;
3 19 2 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
4 19 3 firstParam Lorg/graalvm/compiler/nodes/ValueNode;
6 18 4 paramStamp Lorg/graalvm/compiler/core/common/type/Stamp;
7 18 5 stamp Lorg/graalvm/compiler/core/common/type/Stamp;
9 14 6 condition Lorg/graalvm/compiler/nodes/LogicNode;
10 14 7 fixedGuard Lorg/graalvm/compiler/nodes/FixedGuardNode;
11 14 8 nonNullReceiver Lorg/graalvm/compiler/nodes/PiNode;
16 18 6 cast 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=3, locals=1, args_size=1
start local 0 0: getstatic org.graalvm.compiler.core.common.GraalOptions.UseGraalInstrumentation:Lorg/graalvm/compiler/options/OptionValue;
invokevirtual org.graalvm.compiler.options.OptionValue.getValue:()Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
ifeq 2
1: aload 0
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getNodeCount:()I
aload 0
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getNodes:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
ldc Lorg/graalvm/compiler/nodes/debug/instrumentation/InstrumentationNode;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.filter:(Ljava/lang/Class;)Lorg/graalvm/compiler/graph/iterators/NodeIterable;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.count:()I
isub
ireturn
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getNodeCount:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
MethodParameters:
Name Flags
graph
public static void detachInstrumentation(org.graalvm.compiler.nodes.Invoke);
descriptor: (Lorg/graalvm/compiler/nodes/Invoke;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=4, args_size=1
start local 0 0: aload 0
invokeinterface org.graalvm.compiler.nodes.Invoke.asNode:()Lorg/graalvm/compiler/nodes/FixedNode;
astore 1
start local 1 1: aload 1
invokevirtual org.graalvm.compiler.nodes.FixedNode.usages:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
ldc Lorg/graalvm/compiler/nodes/debug/instrumentation/InstrumentationNode;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.filter:(Ljava/lang/Class;)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 3
goto 5
StackMap locals: org.graalvm.compiler.nodes.Invoke org.graalvm.compiler.nodes.FixedNode top java.util.Iterator
StackMap stack:
2: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.debug.instrumentation.InstrumentationNode
astore 2
start local 2 3: aload 2
invokevirtual org.graalvm.compiler.nodes.debug.instrumentation.InstrumentationNode.getTarget:()Lorg/graalvm/compiler/nodes/ValueNode;
aload 0
if_acmpne 5
4: aload 2
aload 2
invokevirtual org.graalvm.compiler.nodes.debug.instrumentation.InstrumentationNode.getTarget:()Lorg/graalvm/compiler/nodes/ValueNode;
aconst_null
invokevirtual org.graalvm.compiler.nodes.debug.instrumentation.InstrumentationNode.replaceFirstInput:(Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;)V
end local 2 5: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
6: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 invoke Lorg/graalvm/compiler/nodes/Invoke;
1 7 1 invokeNode Lorg/graalvm/compiler/nodes/FixedNode;
3 5 2 instrumentation Lorg/graalvm/compiler/nodes/debug/instrumentation/InstrumentationNode;
MethodParameters:
Name Flags
invoke
private static org.graalvm.compiler.nodes.ValueNode lambda$0(org.graalvm.compiler.nodes.ReturnNode);
descriptor: (Lorg/graalvm/compiler/nodes/ReturnNode;)Lorg/graalvm/compiler/nodes/ValueNode;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.graalvm.compiler.nodes.ReturnNode.result:()Lorg/graalvm/compiler/nodes/ValueNode;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 returnNode Lorg/graalvm/compiler/nodes/ReturnNode;
}
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 Entry = java.util.Map$Entry of java.util.Map
public abstract Scope = org.graalvm.compiler.debug.Debug$Scope of org.graalvm.compiler.debug.Debug
public abstract ExtraInfo = org.graalvm.compiler.debug.internal.DebugScope$ExtraInfo of org.graalvm.compiler.debug.internal.DebugScope
public abstract DuplicationReplacement = org.graalvm.compiler.graph.Graph$DuplicationReplacement 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