public class org.graalvm.compiler.replacements.GraphKit implements org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderTool
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.graalvm.compiler.replacements.GraphKit
super_class: java.lang.Object
{
protected final org.graalvm.compiler.phases.util.Providers providers;
descriptor: Lorg/graalvm/compiler/phases/util/Providers;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
protected final org.graalvm.compiler.nodes.StructuredGraph graph;
descriptor: Lorg/graalvm/compiler/nodes/StructuredGraph;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
protected final org.graalvm.compiler.word.WordTypes wordTypes;
descriptor: Lorg/graalvm/compiler/word/WordTypes;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
protected final org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration$Plugins graphBuilderPlugins;
descriptor: Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderConfiguration$Plugins;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
protected org.graalvm.compiler.nodes.FixedWithNextNode lastFixedNode;
descriptor: Lorg/graalvm/compiler/nodes/FixedWithNextNode;
flags: (0x0004) ACC_PROTECTED
private final java.util.List<org.graalvm.compiler.replacements.GraphKit$Structure> structures;
descriptor: Ljava/util/List;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/List<Lorg/graalvm/compiler/replacements/GraphKit$Structure;>;
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
private static volatile int[] $SWITCH_TABLE$org$graalvm$compiler$replacements$GraphKit$IfState;
descriptor: [I
flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lorg/graalvm/compiler/replacements/GraphKit;
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.replacements.GraphKit.$assertionsDisabled:Z
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(org.graalvm.compiler.nodes.StructuredGraph, org.graalvm.compiler.phases.util.Providers, org.graalvm.compiler.word.WordTypes, org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration$Plugins);
descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/phases/util/Providers;Lorg/graalvm/compiler/word/WordTypes;Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderConfiguration$Plugins;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 2
putfield org.graalvm.compiler.replacements.GraphKit.providers:Lorg/graalvm/compiler/phases/util/Providers;
2: aload 0
aload 1
putfield org.graalvm.compiler.replacements.GraphKit.graph:Lorg/graalvm/compiler/nodes/StructuredGraph;
3: aload 0
aload 3
putfield org.graalvm.compiler.replacements.GraphKit.wordTypes:Lorg/graalvm/compiler/word/WordTypes;
4: aload 0
aload 4
putfield org.graalvm.compiler.replacements.GraphKit.graphBuilderPlugins:Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderConfiguration$Plugins;
5: aload 0
aload 1
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.start:()Lorg/graalvm/compiler/nodes/StartNode;
putfield org.graalvm.compiler.replacements.GraphKit.lastFixedNode:Lorg/graalvm/compiler/nodes/FixedWithNextNode;
6: aload 0
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putfield org.graalvm.compiler.replacements.GraphKit.structures:Ljava/util/List;
7: aload 0
getfield org.graalvm.compiler.replacements.GraphKit.structures:Ljava/util/List;
new org.graalvm.compiler.replacements.GraphKit$1
dup
aload 0
invokespecial org.graalvm.compiler.replacements.GraphKit$1.<init>:(Lorg/graalvm/compiler/replacements/GraphKit;)V
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
8: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/graalvm/compiler/replacements/GraphKit;
0 9 1 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
0 9 2 providers Lorg/graalvm/compiler/phases/util/Providers;
0 9 3 wordTypes Lorg/graalvm/compiler/word/WordTypes;
0 9 4 graphBuilderPlugins Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderConfiguration$Plugins;
MethodParameters:
Name Flags
graph
providers
wordTypes
graphBuilderPlugins
public org.graalvm.compiler.nodes.StructuredGraph getGraph();
descriptor: ()Lorg/graalvm/compiler/nodes/StructuredGraph;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.graalvm.compiler.replacements.GraphKit.graph:Lorg/graalvm/compiler/nodes/StructuredGraph;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/replacements/GraphKit;
public jdk.vm.ci.meta.ConstantReflectionProvider getConstantReflection();
descriptor: ()Ljdk/vm/ci/meta/ConstantReflectionProvider;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.graalvm.compiler.replacements.GraphKit.providers:Lorg/graalvm/compiler/phases/util/Providers;
invokevirtual org.graalvm.compiler.phases.util.Providers.getConstantReflection:()Ljdk/vm/ci/meta/ConstantReflectionProvider;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/replacements/GraphKit;
public org.graalvm.compiler.core.common.spi.ConstantFieldProvider getConstantFieldProvider();
descriptor: ()Lorg/graalvm/compiler/core/common/spi/ConstantFieldProvider;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.graalvm.compiler.replacements.GraphKit.providers:Lorg/graalvm/compiler/phases/util/Providers;
invokevirtual org.graalvm.compiler.phases.util.Providers.getConstantFieldProvider:()Lorg/graalvm/compiler/core/common/spi/ConstantFieldProvider;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/replacements/GraphKit;
public jdk.vm.ci.meta.MetaAccessProvider getMetaAccess();
descriptor: ()Ljdk/vm/ci/meta/MetaAccessProvider;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.graalvm.compiler.replacements.GraphKit.providers:Lorg/graalvm/compiler/phases/util/Providers;
invokevirtual org.graalvm.compiler.phases.util.Providers.getMetaAccess:()Ljdk/vm/ci/meta/MetaAccessProvider;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/replacements/GraphKit;
public org.graalvm.compiler.nodes.spi.StampProvider getStampProvider();
descriptor: ()Lorg/graalvm/compiler/nodes/spi/StampProvider;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.graalvm.compiler.replacements.GraphKit.providers:Lorg/graalvm/compiler/phases/util/Providers;
invokevirtual org.graalvm.compiler.phases.util.Providers.getStampProvider:()Lorg/graalvm/compiler/nodes/spi/StampProvider;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/replacements/GraphKit;
public boolean parsingIntrinsic();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/replacements/GraphKit;
public <T extends org.graalvm.compiler.nodes.calc.FloatingNode extends org.graalvm.compiler.graph.Node$ValueNumberable> T unique();
descriptor: (Lorg/graalvm/compiler/nodes/calc/FloatingNode;)Lorg/graalvm/compiler/nodes/calc/FloatingNode;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.graalvm.compiler.replacements.GraphKit.graph:Lorg/graalvm/compiler/nodes/StructuredGraph;
aload 0
aload 1
invokevirtual org.graalvm.compiler.replacements.GraphKit.changeToWord:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
checkcast org.graalvm.compiler.nodes.calc.FloatingNode
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.unique:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.calc.FloatingNode
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/replacements/GraphKit;
0 1 1 node TT;
Signature: <T:Lorg/graalvm/compiler/nodes/calc/FloatingNode;:Lorg/graalvm/compiler/graph/Node$ValueNumberable;>(TT;)TT;
MethodParameters:
Name Flags
node
public <T extends org.graalvm.compiler.nodes.ValueNode> T add();
descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.graalvm.compiler.replacements.GraphKit.graph:Lorg/graalvm/compiler/nodes/StructuredGraph;
aload 0
aload 1
invokevirtual org.graalvm.compiler.replacements.GraphKit.changeToWord:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.ValueNode
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/replacements/GraphKit;
0 1 1 node TT;
Signature: <T:Lorg/graalvm/compiler/nodes/ValueNode;>(TT;)TT;
MethodParameters:
Name Flags
node
public <T extends org.graalvm.compiler.nodes.ValueNode> T changeToWord();
descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.graalvm.compiler.replacements.GraphKit.wordTypes:Lorg/graalvm/compiler/word/WordTypes;
ifnull 2
aload 0
getfield org.graalvm.compiler.replacements.GraphKit.wordTypes:Lorg/graalvm/compiler/word/WordTypes;
aload 1
invokevirtual org.graalvm.compiler.word.WordTypes.isWord:(Lorg/graalvm/compiler/nodes/ValueNode;)Z
ifeq 2
1: aload 1
aload 0
getfield org.graalvm.compiler.replacements.GraphKit.wordTypes:Lorg/graalvm/compiler/word/WordTypes;
aload 1
invokestatic org.graalvm.compiler.nodes.type.StampTool.typeOrNull:(Lorg/graalvm/compiler/nodes/ValueNode;)Ljdk/vm/ci/meta/ResolvedJavaType;
invokevirtual org.graalvm.compiler.word.WordTypes.getWordStamp:(Ljdk/vm/ci/meta/ResolvedJavaType;)Lorg/graalvm/compiler/core/common/type/Stamp;
invokevirtual org.graalvm.compiler.nodes.ValueNode.setStamp:(Lorg/graalvm/compiler/core/common/type/Stamp;)V
2: StackMap locals:
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/graalvm/compiler/replacements/GraphKit;
0 3 1 node TT;
Signature: <T:Lorg/graalvm/compiler/nodes/ValueNode;>(TT;)TT;
MethodParameters:
Name Flags
node
public <T extends org.graalvm.compiler.nodes.ValueNode> T append();
descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield org.graalvm.compiler.replacements.GraphKit.graph:Lorg/graalvm/compiler/nodes/StructuredGraph;
aload 0
aload 1
invokevirtual org.graalvm.compiler.replacements.GraphKit.changeToWord:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.addOrUnique:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.ValueNode
astore 2
start local 2 1: aload 2
instanceof org.graalvm.compiler.nodes.FixedNode
ifeq 3
2: aload 0
aload 2
checkcast org.graalvm.compiler.nodes.FixedNode
invokevirtual org.graalvm.compiler.replacements.GraphKit.updateLastFixed:(Lorg/graalvm/compiler/nodes/FixedNode;)V
3: StackMap locals: org.graalvm.compiler.nodes.ValueNode
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/graalvm/compiler/replacements/GraphKit;
0 4 1 node TT;
1 4 2 result TT;
Signature: <T:Lorg/graalvm/compiler/nodes/ValueNode;>(TT;)TT;
MethodParameters:
Name Flags
node
public <T extends org.graalvm.compiler.nodes.ValueNode> T recursiveAppend();
descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield org.graalvm.compiler.replacements.GraphKit.graph:Lorg/graalvm/compiler/nodes/StructuredGraph;
aload 1
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.addOrUniqueWithInputs:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.ValueNode
astore 2
start local 2 1: aload 2
instanceof org.graalvm.compiler.nodes.FixedNode
ifeq 3
2: aload 0
aload 2
checkcast org.graalvm.compiler.nodes.FixedNode
invokevirtual org.graalvm.compiler.replacements.GraphKit.updateLastFixed:(Lorg/graalvm/compiler/nodes/FixedNode;)V
3: StackMap locals: org.graalvm.compiler.nodes.ValueNode
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/graalvm/compiler/replacements/GraphKit;
0 4 1 node TT;
1 4 2 result TT;
Signature: <T:Lorg/graalvm/compiler/nodes/ValueNode;>(TT;)TT;
MethodParameters:
Name Flags
node
private void updateLastFixed(org.graalvm.compiler.nodes.FixedNode);
descriptor: (Lorg/graalvm/compiler/nodes/FixedNode;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: getstatic org.graalvm.compiler.replacements.GraphKit.$assertionsDisabled:Z
ifne 1
aload 0
getfield org.graalvm.compiler.replacements.GraphKit.lastFixedNode:Lorg/graalvm/compiler/nodes/FixedWithNextNode;
ifnonnull 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.replacements.GraphKit.$assertionsDisabled:Z
ifne 2
aload 1
invokevirtual org.graalvm.compiler.nodes.FixedNode.predecessor:()Lorg/graalvm/compiler/graph/Node;
ifnull 2
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
aload 0
getfield org.graalvm.compiler.replacements.GraphKit.graph:Lorg/graalvm/compiler/nodes/StructuredGraph;
aload 0
getfield org.graalvm.compiler.replacements.GraphKit.lastFixedNode:Lorg/graalvm/compiler/nodes/FixedWithNextNode;
aload 1
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.addAfterFixed:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;Lorg/graalvm/compiler/nodes/FixedNode;)V
3: aload 1
instanceof org.graalvm.compiler.nodes.FixedWithNextNode
ifeq 6
4: aload 0
aload 1
checkcast org.graalvm.compiler.nodes.FixedWithNextNode
putfield org.graalvm.compiler.replacements.GraphKit.lastFixedNode:Lorg/graalvm/compiler/nodes/FixedWithNextNode;
5: goto 7
6: StackMap locals:
StackMap stack:
aload 0
aconst_null
putfield org.graalvm.compiler.replacements.GraphKit.lastFixedNode:Lorg/graalvm/compiler/nodes/FixedWithNextNode;
7: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/graalvm/compiler/replacements/GraphKit;
0 8 1 result Lorg/graalvm/compiler/nodes/FixedNode;
MethodParameters:
Name Flags
result
public org.graalvm.compiler.nodes.InvokeNode createInvoke(java.lang.Class<?>, java.lang.String, org.graalvm.compiler.nodes.ValueNode[]);
descriptor: (Ljava/lang/Class;Ljava/lang/String;[Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/InvokeNode;
flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
Code:
stack=7, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 2
getstatic org.graalvm.compiler.nodes.CallTargetNode$InvokeKind.Static:Lorg/graalvm/compiler/nodes/CallTargetNode$InvokeKind;
aconst_null
bipush -5
aload 3
invokevirtual org.graalvm.compiler.replacements.GraphKit.createInvoke:(Ljava/lang/Class;Ljava/lang/String;Lorg/graalvm/compiler/nodes/CallTargetNode$InvokeKind;Lorg/graalvm/compiler/java/FrameStateBuilder;I[Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/InvokeNode;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/replacements/GraphKit;
0 1 1 declaringClass Ljava/lang/Class<*>;
0 1 2 name Ljava/lang/String;
0 1 3 args [Lorg/graalvm/compiler/nodes/ValueNode;
Signature: (Ljava/lang/Class<*>;Ljava/lang/String;[Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/InvokeNode;
MethodParameters:
Name Flags
declaringClass
name
args
public org.graalvm.compiler.nodes.InvokeNode createInvoke(java.lang.Class<?>, java.lang.String, org.graalvm.compiler.nodes.CallTargetNode$InvokeKind, org.graalvm.compiler.java.FrameStateBuilder, int, org.graalvm.compiler.nodes.ValueNode[]);
descriptor: (Ljava/lang/Class;Ljava/lang/String;Lorg/graalvm/compiler/nodes/CallTargetNode$InvokeKind;Lorg/graalvm/compiler/java/FrameStateBuilder;I[Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/InvokeNode;
flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
Code:
stack=6, locals=9, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: aload 3
getstatic org.graalvm.compiler.nodes.CallTargetNode$InvokeKind.Static:Lorg/graalvm/compiler/nodes/CallTargetNode$InvokeKind;
if_acmpne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: istore 7
start local 7 3: aload 0
aload 1
aload 2
iload 7
invokevirtual org.graalvm.compiler.replacements.GraphKit.findMethod:(Ljava/lang/Class;Ljava/lang/String;Z)Ljdk/vm/ci/meta/ResolvedJavaMethod;
astore 8
start local 8 4: aload 0
aload 8
aload 3
aload 4
iload 5
aload 6
invokevirtual org.graalvm.compiler.replacements.GraphKit.createInvoke:(Ljdk/vm/ci/meta/ResolvedJavaMethod;Lorg/graalvm/compiler/nodes/CallTargetNode$InvokeKind;Lorg/graalvm/compiler/java/FrameStateBuilder;I[Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/InvokeNode;
areturn
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 5 0 this Lorg/graalvm/compiler/replacements/GraphKit;
0 5 1 declaringClass Ljava/lang/Class<*>;
0 5 2 name Ljava/lang/String;
0 5 3 invokeKind Lorg/graalvm/compiler/nodes/CallTargetNode$InvokeKind;
0 5 4 frameStateBuilder Lorg/graalvm/compiler/java/FrameStateBuilder;
0 5 5 bci I
0 5 6 args [Lorg/graalvm/compiler/nodes/ValueNode;
3 5 7 isStatic Z
4 5 8 method Ljdk/vm/ci/meta/ResolvedJavaMethod;
Signature: (Ljava/lang/Class<*>;Ljava/lang/String;Lorg/graalvm/compiler/nodes/CallTargetNode$InvokeKind;Lorg/graalvm/compiler/java/FrameStateBuilder;I[Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/InvokeNode;
MethodParameters:
Name Flags
declaringClass
name
invokeKind
frameStateBuilder
bci
args
public jdk.vm.ci.meta.ResolvedJavaMethod findMethod(java.lang.Class<?>, java.lang.String, boolean);
descriptor: (Ljava/lang/Class;Ljava/lang/String;Z)Ljdk/vm/ci/meta/ResolvedJavaMethod;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=9, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aconst_null
astore 4
start local 4 1: aload 1
invokevirtual java.lang.Class.getDeclaredMethods:()[Ljava/lang/reflect/Method;
dup
astore 8
arraylength
istore 7
iconst_0
istore 6
goto 7
StackMap locals: org.graalvm.compiler.replacements.GraphKit java.lang.Class java.lang.String int jdk.vm.ci.meta.ResolvedJavaMethod top int int java.lang.reflect.Method[]
StackMap stack:
2: aload 8
iload 6
aaload
astore 5
start local 5 3: aload 5
invokevirtual java.lang.reflect.Method.getModifiers:()I
invokestatic java.lang.reflect.Modifier.isStatic:(I)Z
iload 3
if_icmpne 6
aload 5
invokevirtual java.lang.reflect.Method.getName:()Ljava/lang/String;
aload 2
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 6
4: getstatic org.graalvm.compiler.replacements.GraphKit.$assertionsDisabled:Z
ifne 5
aload 4
ifnull 5
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
ldc "found more than one method in "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " named "
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;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
5: StackMap locals: org.graalvm.compiler.replacements.GraphKit java.lang.Class java.lang.String int jdk.vm.ci.meta.ResolvedJavaMethod java.lang.reflect.Method int int java.lang.reflect.Method[]
StackMap stack:
aload 0
getfield org.graalvm.compiler.replacements.GraphKit.providers:Lorg/graalvm/compiler/phases/util/Providers;
invokevirtual org.graalvm.compiler.phases.util.Providers.getMetaAccess:()Ljdk/vm/ci/meta/MetaAccessProvider;
aload 5
invokeinterface jdk.vm.ci.meta.MetaAccessProvider.lookupJavaMethod:(Ljava/lang/reflect/Executable;)Ljdk/vm/ci/meta/ResolvedJavaMethod;
astore 4
end local 5 6: StackMap locals: org.graalvm.compiler.replacements.GraphKit java.lang.Class java.lang.String int jdk.vm.ci.meta.ResolvedJavaMethod top int int java.lang.reflect.Method[]
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
7: iload 6
iload 7
if_icmplt 2
8: getstatic org.graalvm.compiler.replacements.GraphKit.$assertionsDisabled:Z
ifne 9
aload 4
ifnonnull 9
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
ldc "did not find method in "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " named "
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;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
9: StackMap locals: org.graalvm.compiler.replacements.GraphKit java.lang.Class java.lang.String int jdk.vm.ci.meta.ResolvedJavaMethod
StackMap stack:
aload 4
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lorg/graalvm/compiler/replacements/GraphKit;
0 10 1 declaringClass Ljava/lang/Class<*>;
0 10 2 name Ljava/lang/String;
0 10 3 isStatic Z
1 10 4 method Ljdk/vm/ci/meta/ResolvedJavaMethod;
3 6 5 m Ljava/lang/reflect/Method;
Signature: (Ljava/lang/Class<*>;Ljava/lang/String;Z)Ljdk/vm/ci/meta/ResolvedJavaMethod;
MethodParameters:
Name Flags
declaringClass
name
isStatic
public jdk.vm.ci.meta.ResolvedJavaMethod findMethod(java.lang.Class<?>, java.lang.String, java.lang.Class<?>[]);
descriptor: (Ljava/lang/Class;Ljava/lang/String;[Ljava/lang/Class;)Ljdk/vm/ci/meta/ResolvedJavaMethod;
flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
Code:
stack=3, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
aload 2
aload 3
invokevirtual java.lang.Class.getDeclaredMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
astore 4
start local 4 1: aload 0
getfield org.graalvm.compiler.replacements.GraphKit.providers:Lorg/graalvm/compiler/phases/util/Providers;
invokevirtual org.graalvm.compiler.phases.util.Providers.getMetaAccess:()Ljdk/vm/ci/meta/MetaAccessProvider;
aload 4
invokeinterface jdk.vm.ci.meta.MetaAccessProvider.lookupJavaMethod:(Ljava/lang/reflect/Executable;)Ljdk/vm/ci/meta/ResolvedJavaMethod;
2: areturn
end local 4 3: StackMap locals:
StackMap stack: java.lang.Exception
astore 4
start local 4 4: new java.lang.AssertionError
dup
aload 4
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/graalvm/compiler/replacements/GraphKit;
0 5 1 declaringClass Ljava/lang/Class<*>;
0 5 2 name Ljava/lang/String;
0 5 3 parameterTypes [Ljava/lang/Class;
1 3 4 m Ljava/lang/reflect/Method;
4 5 4 e Ljava/lang/Exception;
Exception table:
from to target type
0 2 3 Class java.lang.NoSuchMethodException
0 2 3 Class java.lang.SecurityException
Signature: (Ljava/lang/Class<*>;Ljava/lang/String;[Ljava/lang/Class<*>;)Ljdk/vm/ci/meta/ResolvedJavaMethod;
MethodParameters:
Name Flags
declaringClass
name
parameterTypes
public org.graalvm.compiler.nodes.InvokeNode createInvoke(jdk.vm.ci.meta.ResolvedJavaMethod, org.graalvm.compiler.nodes.CallTargetNode$InvokeKind, org.graalvm.compiler.java.FrameStateBuilder, int, org.graalvm.compiler.nodes.ValueNode[]);
descriptor: (Ljdk/vm/ci/meta/ResolvedJavaMethod;Lorg/graalvm/compiler/nodes/CallTargetNode$InvokeKind;Lorg/graalvm/compiler/java/FrameStateBuilder;I[Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/InvokeNode;
flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
Code:
stack=7, locals=11, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: getstatic org.graalvm.compiler.replacements.GraphKit.$assertionsDisabled:Z
ifne 3
aload 1
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.isStatic:()Z
aload 2
getstatic org.graalvm.compiler.nodes.CallTargetNode$InvokeKind.Static:Lorg/graalvm/compiler/nodes/CallTargetNode$InvokeKind;
if_acmpne 1
iconst_1
goto 2
StackMap locals:
StackMap stack: int
1: iconst_0
StackMap locals: org.graalvm.compiler.replacements.GraphKit jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.nodes.CallTargetNode$InvokeKind org.graalvm.compiler.java.FrameStateBuilder int org.graalvm.compiler.nodes.ValueNode[]
StackMap stack: int int
2: if_icmpeq 3
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
3: StackMap locals:
StackMap stack:
aload 1
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getSignature:()Ljdk/vm/ci/meta/Signature;
astore 6
start local 6 4: aload 6
aconst_null
invokeinterface jdk.vm.ci.meta.Signature.getReturnType:(Ljdk/vm/ci/meta/ResolvedJavaType;)Ljdk/vm/ci/meta/JavaType;
astore 7
start local 7 5: getstatic org.graalvm.compiler.replacements.GraphKit.$assertionsDisabled:Z
ifne 6
aload 0
aload 1
aload 5
invokevirtual org.graalvm.compiler.replacements.GraphKit.checkArgs:(Ljdk/vm/ci/meta/ResolvedJavaMethod;[Lorg/graalvm/compiler/nodes/ValueNode;)Z
ifne 6
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
6: StackMap locals: jdk.vm.ci.meta.Signature jdk.vm.ci.meta.JavaType
StackMap stack:
aload 0
getfield org.graalvm.compiler.replacements.GraphKit.graphBuilderPlugins:Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderConfiguration$Plugins;
aload 0
aload 7
iconst_0
invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration$Plugins.getOverridingStamp:(Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderTool;Ljdk/vm/ci/meta/JavaType;Z)Lorg/graalvm/compiler/core/common/type/StampPair;
astore 8
start local 8 7: aload 8
ifnonnull 9
8: aload 0
getfield org.graalvm.compiler.replacements.GraphKit.graph:Lorg/graalvm/compiler/nodes/StructuredGraph;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getAssumptions:()Ljdk/vm/ci/meta/Assumptions;
aload 7
iconst_0
invokestatic org.graalvm.compiler.core.common.type.StampFactory.forDeclaredType:(Ljdk/vm/ci/meta/Assumptions;Ljdk/vm/ci/meta/JavaType;Z)Lorg/graalvm/compiler/core/common/type/StampPair;
astore 8
9: StackMap locals: org.graalvm.compiler.core.common.type.StampPair
StackMap stack:
aload 0
getfield org.graalvm.compiler.replacements.GraphKit.graph:Lorg/graalvm/compiler/nodes/StructuredGraph;
aload 0
aload 2
aload 1
aload 5
aload 8
iload 4
invokevirtual org.graalvm.compiler.replacements.GraphKit.createMethodCallTarget:(Lorg/graalvm/compiler/nodes/CallTargetNode$InvokeKind;Ljdk/vm/ci/meta/ResolvedJavaMethod;[Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/common/type/StampPair;I)Lorg/graalvm/compiler/nodes/java/MethodCallTargetNode;
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 9
start local 9 10: aload 0
new org.graalvm.compiler.nodes.InvokeNode
dup
aload 9
iload 4
invokespecial org.graalvm.compiler.nodes.InvokeNode.<init>:(Lorg/graalvm/compiler/nodes/CallTargetNode;I)V
invokevirtual org.graalvm.compiler.replacements.GraphKit.append:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
checkcast org.graalvm.compiler.nodes.InvokeNode
astore 10
start local 10 11: aload 3
ifnull 17
12: aload 10
invokevirtual org.graalvm.compiler.nodes.InvokeNode.getStackKind:()Ljdk/vm/ci/meta/JavaKind;
getstatic jdk.vm.ci.meta.JavaKind.Void:Ljdk/vm/ci/meta/JavaKind;
if_acmpeq 14
13: aload 3
aload 7
invokeinterface jdk.vm.ci.meta.JavaType.getJavaKind:()Ljdk/vm/ci/meta/JavaKind;
aload 10
invokevirtual org.graalvm.compiler.java.FrameStateBuilder.push:(Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/ValueNode;)V
14: StackMap locals: org.graalvm.compiler.nodes.java.MethodCallTargetNode org.graalvm.compiler.nodes.InvokeNode
StackMap stack:
aload 10
aload 3
iload 4
aload 10
invokevirtual org.graalvm.compiler.java.FrameStateBuilder.create:(ILorg/graalvm/compiler/nodes/StateSplit;)Lorg/graalvm/compiler/nodes/FrameState;
invokevirtual org.graalvm.compiler.nodes.InvokeNode.setStateAfter:(Lorg/graalvm/compiler/nodes/FrameState;)V
15: aload 10
invokevirtual org.graalvm.compiler.nodes.InvokeNode.getStackKind:()Ljdk/vm/ci/meta/JavaKind;
getstatic jdk.vm.ci.meta.JavaKind.Void:Ljdk/vm/ci/meta/JavaKind;
if_acmpeq 17
16: aload 3
aload 7
invokeinterface jdk.vm.ci.meta.JavaType.getJavaKind:()Ljdk/vm/ci/meta/JavaKind;
invokevirtual org.graalvm.compiler.java.FrameStateBuilder.pop:(Ljdk/vm/ci/meta/JavaKind;)Lorg/graalvm/compiler/nodes/ValueNode;
pop
17: StackMap locals:
StackMap stack:
aload 10
areturn
end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lorg/graalvm/compiler/replacements/GraphKit;
0 18 1 method Ljdk/vm/ci/meta/ResolvedJavaMethod;
0 18 2 invokeKind Lorg/graalvm/compiler/nodes/CallTargetNode$InvokeKind;
0 18 3 frameStateBuilder Lorg/graalvm/compiler/java/FrameStateBuilder;
0 18 4 bci I
0 18 5 args [Lorg/graalvm/compiler/nodes/ValueNode;
4 18 6 signature Ljdk/vm/ci/meta/Signature;
5 18 7 returnType Ljdk/vm/ci/meta/JavaType;
7 18 8 returnStamp Lorg/graalvm/compiler/core/common/type/StampPair;
10 18 9 callTarget Lorg/graalvm/compiler/nodes/java/MethodCallTargetNode;
11 18 10 invoke Lorg/graalvm/compiler/nodes/InvokeNode;
MethodParameters:
Name Flags
method
invokeKind
frameStateBuilder
bci
args
protected org.graalvm.compiler.nodes.java.MethodCallTargetNode createMethodCallTarget(org.graalvm.compiler.nodes.CallTargetNode$InvokeKind, jdk.vm.ci.meta.ResolvedJavaMethod, org.graalvm.compiler.nodes.ValueNode[], org.graalvm.compiler.core.common.type.StampPair, int);
descriptor: (Lorg/graalvm/compiler/nodes/CallTargetNode$InvokeKind;Ljdk/vm/ci/meta/ResolvedJavaMethod;[Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/common/type/StampPair;I)Lorg/graalvm/compiler/nodes/java/MethodCallTargetNode;
flags: (0x0004) ACC_PROTECTED
Code:
stack=7, locals=6, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: new org.graalvm.compiler.nodes.java.MethodCallTargetNode
dup
aload 1
aload 2
aload 3
aload 4
aconst_null
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
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 1 0 this Lorg/graalvm/compiler/replacements/GraphKit;
0 1 1 invokeKind Lorg/graalvm/compiler/nodes/CallTargetNode$InvokeKind;
0 1 2 targetMethod Ljdk/vm/ci/meta/ResolvedJavaMethod;
0 1 3 args [Lorg/graalvm/compiler/nodes/ValueNode;
0 1 4 returnStamp Lorg/graalvm/compiler/core/common/type/StampPair;
0 1 5 bci I
MethodParameters:
Name Flags
invokeKind
targetMethod
args
returnStamp
bci
public boolean checkArgs(jdk.vm.ci.meta.ResolvedJavaMethod, org.graalvm.compiler.nodes.ValueNode[]);
descriptor: (Ljdk/vm/ci/meta/ResolvedJavaMethod;[Lorg/graalvm/compiler/nodes/ValueNode;)Z
flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
Code:
stack=4, locals=10, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getSignature:()Ljdk/vm/ci/meta/Signature;
astore 3
start local 3 1: aload 1
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.isStatic:()Z
istore 4
start local 4 2: aload 3
iload 4
ifeq 3
iconst_0
goto 4
StackMap locals: org.graalvm.compiler.replacements.GraphKit jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.nodes.ValueNode[] jdk.vm.ci.meta.Signature int
StackMap stack: jdk.vm.ci.meta.Signature
3: iconst_1
StackMap locals: org.graalvm.compiler.replacements.GraphKit jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.nodes.ValueNode[] jdk.vm.ci.meta.Signature int
StackMap stack: jdk.vm.ci.meta.Signature int
4: invokeinterface jdk.vm.ci.meta.Signature.getParameterCount:(Z)I
aload 2
arraylength
if_icmpeq 6
5: new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
aload 0
getfield org.graalvm.compiler.replacements.GraphKit.graph:Lorg/graalvm/compiler/nodes/StructuredGraph;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc ": wrong number of arguments to "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
6: StackMap locals:
StackMap stack:
iconst_0
istore 5
start local 5 7: iload 4
ifne 14
8: aload 1
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getDeclaringClass:()Ljdk/vm/ci/meta/ResolvedJavaType;
astore 6
start local 6 9: aload 0
getfield org.graalvm.compiler.replacements.GraphKit.wordTypes:Lorg/graalvm/compiler/word/WordTypes;
ifnonnull 10
aload 6
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.getJavaKind:()Ljdk/vm/ci/meta/JavaKind;
goto 11
StackMap locals: int jdk.vm.ci.meta.ResolvedJavaType
StackMap stack:
10: aload 0
getfield org.graalvm.compiler.replacements.GraphKit.wordTypes:Lorg/graalvm/compiler/word/WordTypes;
aload 6
invokevirtual org.graalvm.compiler.word.WordTypes.asKind:(Ljdk/vm/ci/meta/JavaType;)Ljdk/vm/ci/meta/JavaKind;
StackMap locals:
StackMap stack: jdk.vm.ci.meta.JavaKind
11: astore 7
start local 7 12: aload 2
iload 5
iinc 5 1
aaload
invokevirtual org.graalvm.compiler.nodes.ValueNode.stamp:()Lorg/graalvm/compiler/core/common/type/Stamp;
invokevirtual org.graalvm.compiler.core.common.type.Stamp.getStackKind:()Ljdk/vm/ci/meta/JavaKind;
astore 8
start local 8 13: getstatic org.graalvm.compiler.replacements.GraphKit.$assertionsDisabled:Z
ifne 14
aload 7
aload 8
if_acmpeq 14
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
aload 0
getfield org.graalvm.compiler.replacements.GraphKit.graph:Lorg/graalvm/compiler/nodes/StructuredGraph;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc ": wrong kind of value for receiver argument of call to "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " ["
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 8
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " != "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 7
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
end local 8 end local 7 end local 6 14: StackMap locals:
StackMap stack:
iconst_0
istore 6
start local 6 15: goto 24
16: StackMap locals: int
StackMap stack:
aload 3
iload 6
aload 1
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getDeclaringClass:()Ljdk/vm/ci/meta/ResolvedJavaType;
invokeinterface jdk.vm.ci.meta.Signature.getParameterType:(ILjdk/vm/ci/meta/ResolvedJavaType;)Ljdk/vm/ci/meta/JavaType;
astore 7
start local 7 17: aload 0
getfield org.graalvm.compiler.replacements.GraphKit.wordTypes:Lorg/graalvm/compiler/word/WordTypes;
ifnonnull 18
aload 7
invokeinterface jdk.vm.ci.meta.JavaType.getJavaKind:()Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.getStackKind:()Ljdk/vm/ci/meta/JavaKind;
goto 19
StackMap locals: jdk.vm.ci.meta.JavaType
StackMap stack:
18: aload 0
getfield org.graalvm.compiler.replacements.GraphKit.wordTypes:Lorg/graalvm/compiler/word/WordTypes;
aload 7
invokevirtual org.graalvm.compiler.word.WordTypes.asKind:(Ljdk/vm/ci/meta/JavaType;)Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.getStackKind:()Ljdk/vm/ci/meta/JavaKind;
StackMap locals:
StackMap stack: jdk.vm.ci.meta.JavaKind
19: astore 8
start local 8 20: aload 2
iload 5
iinc 5 1
aaload
invokevirtual org.graalvm.compiler.nodes.ValueNode.stamp:()Lorg/graalvm/compiler/core/common/type/Stamp;
invokevirtual org.graalvm.compiler.core.common.type.Stamp.getStackKind:()Ljdk/vm/ci/meta/JavaKind;
astore 9
start local 9 21: aload 8
aload 9
if_acmpeq 23
22: new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
aload 0
getfield org.graalvm.compiler.replacements.GraphKit.graph:Lorg/graalvm/compiler/nodes/StructuredGraph;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc ": wrong kind of value for argument "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 6
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " of call to "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " ["
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 9
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " != "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 8
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
end local 9 end local 8 end local 7 23: StackMap locals:
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
24: iload 6
aload 3
iconst_0
invokeinterface jdk.vm.ci.meta.Signature.getParameterCount:(Z)I
if_icmpne 16
end local 6 25: iconst_1
ireturn
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 26 0 this Lorg/graalvm/compiler/replacements/GraphKit;
0 26 1 method Ljdk/vm/ci/meta/ResolvedJavaMethod;
0 26 2 args [Lorg/graalvm/compiler/nodes/ValueNode;
1 26 3 signature Ljdk/vm/ci/meta/Signature;
2 26 4 isStatic Z
7 26 5 argIndex I
9 14 6 expectedType Ljdk/vm/ci/meta/ResolvedJavaType;
12 14 7 expected Ljdk/vm/ci/meta/JavaKind;
13 14 8 actual Ljdk/vm/ci/meta/JavaKind;
15 25 6 i I
17 23 7 expectedType Ljdk/vm/ci/meta/JavaType;
20 23 8 expected Ljdk/vm/ci/meta/JavaKind;
21 23 9 actual Ljdk/vm/ci/meta/JavaKind;
MethodParameters:
Name Flags
method
args
public void inlineInvokes();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=1
start local 0 0: goto 5
1: StackMap locals:
StackMap stack:
aload 0
getfield org.graalvm.compiler.replacements.GraphKit.graph:Lorg/graalvm/compiler/nodes/StructuredGraph;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getNodes:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
ldc Lorg/graalvm/compiler/nodes/InvokeNode;
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 2
goto 4
StackMap locals: org.graalvm.compiler.replacements.GraphKit top java.util.Iterator
StackMap stack:
2: aload 2
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.InvokeNode
astore 1
start local 1 3: aload 0
aload 1
invokevirtual org.graalvm.compiler.replacements.GraphKit.inline:(Lorg/graalvm/compiler/nodes/InvokeNode;)V
end local 1 4: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
5: StackMap locals: org.graalvm.compiler.replacements.GraphKit
StackMap stack:
aload 0
getfield org.graalvm.compiler.replacements.GraphKit.graph:Lorg/graalvm/compiler/nodes/StructuredGraph;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getNodes:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
ldc Lorg/graalvm/compiler/nodes/InvokeNode;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.filter:(Ljava/lang/Class;)Lorg/graalvm/compiler/graph/iterators/NodeIterable;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.isEmpty:()Z
ifeq 1
6: new org.graalvm.compiler.phases.common.DeadCodeEliminationPhase
dup
invokespecial org.graalvm.compiler.phases.common.DeadCodeEliminationPhase.<init>:()V
aload 0
getfield org.graalvm.compiler.replacements.GraphKit.graph:Lorg/graalvm/compiler/nodes/StructuredGraph;
invokevirtual org.graalvm.compiler.phases.common.DeadCodeEliminationPhase.apply:(Lorg/graalvm/compiler/nodes/StructuredGraph;)V
7: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/graalvm/compiler/replacements/GraphKit;
3 4 1 invoke Lorg/graalvm/compiler/nodes/InvokeNode;
public void inline(org.graalvm.compiler.nodes.InvokeNode);
descriptor: (Lorg/graalvm/compiler/nodes/InvokeNode;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=9, locals=9, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual org.graalvm.compiler.nodes.InvokeNode.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;
astore 2
start local 2 1: aload 0
getfield org.graalvm.compiler.replacements.GraphKit.providers:Lorg/graalvm/compiler/phases/util/Providers;
invokevirtual org.graalvm.compiler.phases.util.Providers.getMetaAccess:()Ljdk/vm/ci/meta/MetaAccessProvider;
astore 3
start local 3 2: new org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration$Plugins
dup
aload 0
getfield org.graalvm.compiler.replacements.GraphKit.graphBuilderPlugins:Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderConfiguration$Plugins;
invokespecial org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration$Plugins.<init>:(Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderConfiguration$Plugins;)V
astore 4
start local 4 3: aload 4
invokestatic org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration.getSnippetDefault:(Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderConfiguration$Plugins;)Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderConfiguration;
astore 5
start local 5 4: new org.graalvm.compiler.nodes.StructuredGraph
dup
aload 2
getstatic org.graalvm.compiler.nodes.StructuredGraph$AllowAssumptions.NO:Lorg/graalvm/compiler/nodes/StructuredGraph$AllowAssumptions;
iconst_0
getstatic org.graalvm.compiler.core.common.CompilationIdentifier.INVALID_COMPILATION_ID:Lorg/graalvm/compiler/core/common/CompilationRequestIdentifier;
invokespecial org.graalvm.compiler.nodes.StructuredGraph.<init>:(Ljdk/vm/ci/meta/ResolvedJavaMethod;Lorg/graalvm/compiler/nodes/StructuredGraph$AllowAssumptions;ZLorg/graalvm/compiler/core/common/CompilationIdentifier;)V
astore 6
start local 6 5: new org.graalvm.compiler.nodes.graphbuilderconf.IntrinsicContext
dup
aload 2
aload 2
aload 0
getfield org.graalvm.compiler.replacements.GraphKit.providers:Lorg/graalvm/compiler/phases/util/Providers;
invokevirtual org.graalvm.compiler.phases.util.Providers.getReplacements:()Lorg/graalvm/compiler/nodes/spi/Replacements;
invokeinterface org.graalvm.compiler.nodes.spi.Replacements.getReplacementBytecodeProvider:()Lorg/graalvm/compiler/bytecode/BytecodeProvider;
getstatic org.graalvm.compiler.nodes.graphbuilderconf.IntrinsicContext$CompilationContext.INLINE_AFTER_PARSING:Lorg/graalvm/compiler/nodes/graphbuilderconf/IntrinsicContext$CompilationContext;
invokespecial org.graalvm.compiler.nodes.graphbuilderconf.IntrinsicContext.<init>:(Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljdk/vm/ci/meta/ResolvedJavaMethod;Lorg/graalvm/compiler/bytecode/BytecodeProvider;Lorg/graalvm/compiler/nodes/graphbuilderconf/IntrinsicContext$CompilationContext;)V
astore 7
start local 7 6: new org.graalvm.compiler.java.GraphBuilderPhase$Instance
dup
aload 3
aload 0
getfield org.graalvm.compiler.replacements.GraphKit.providers:Lorg/graalvm/compiler/phases/util/Providers;
invokevirtual org.graalvm.compiler.phases.util.Providers.getStampProvider:()Lorg/graalvm/compiler/nodes/spi/StampProvider;
aload 0
getfield org.graalvm.compiler.replacements.GraphKit.providers:Lorg/graalvm/compiler/phases/util/Providers;
invokevirtual org.graalvm.compiler.phases.util.Providers.getConstantReflection:()Ljdk/vm/ci/meta/ConstantReflectionProvider;
aload 0
getfield org.graalvm.compiler.replacements.GraphKit.providers:Lorg/graalvm/compiler/phases/util/Providers;
invokevirtual org.graalvm.compiler.phases.util.Providers.getConstantFieldProvider:()Lorg/graalvm/compiler/core/common/spi/ConstantFieldProvider;
aload 5
7: getstatic org.graalvm.compiler.phases.OptimisticOptimizations.NONE:Lorg/graalvm/compiler/phases/OptimisticOptimizations;
8: aload 7
9: invokespecial org.graalvm.compiler.java.GraphBuilderPhase$Instance.<init>:(Ljdk/vm/ci/meta/MetaAccessProvider;Lorg/graalvm/compiler/nodes/spi/StampProvider;Ljdk/vm/ci/meta/ConstantReflectionProvider;Lorg/graalvm/compiler/core/common/spi/ConstantFieldProvider;Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderConfiguration;Lorg/graalvm/compiler/phases/OptimisticOptimizations;Lorg/graalvm/compiler/nodes/graphbuilderconf/IntrinsicContext;)V
astore 8
start local 8 10: aload 8
aload 6
invokevirtual org.graalvm.compiler.java.GraphBuilderPhase$Instance.apply:(Lorg/graalvm/compiler/nodes/StructuredGraph;)V
11: aload 6
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.clearAllStateAfter:()V
12: new org.graalvm.compiler.phases.common.DeadCodeEliminationPhase
dup
getstatic org.graalvm.compiler.phases.common.DeadCodeEliminationPhase$Optionality.Required:Lorg/graalvm/compiler/phases/common/DeadCodeEliminationPhase$Optionality;
invokespecial org.graalvm.compiler.phases.common.DeadCodeEliminationPhase.<init>:(Lorg/graalvm/compiler/phases/common/DeadCodeEliminationPhase$Optionality;)V
aload 6
invokevirtual org.graalvm.compiler.phases.common.DeadCodeEliminationPhase.apply:(Lorg/graalvm/compiler/nodes/StructuredGraph;)V
13: aload 1
aload 6
iconst_0
aconst_null
aload 2
invokestatic org.graalvm.compiler.phases.common.inlining.InliningUtil.inline:(Lorg/graalvm/compiler/nodes/Invoke;Lorg/graalvm/compiler/nodes/StructuredGraph;ZLjava/util/List;Ljdk/vm/ci/meta/ResolvedJavaMethod;)Ljava/util/Map;
pop
14: return
end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lorg/graalvm/compiler/replacements/GraphKit;
0 15 1 invoke Lorg/graalvm/compiler/nodes/InvokeNode;
1 15 2 method Ljdk/vm/ci/meta/ResolvedJavaMethod;
2 15 3 metaAccess Ljdk/vm/ci/meta/MetaAccessProvider;
3 15 4 plugins Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderConfiguration$Plugins;
4 15 5 config Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderConfiguration;
5 15 6 calleeGraph Lorg/graalvm/compiler/nodes/StructuredGraph;
6 15 7 initialReplacementContext Lorg/graalvm/compiler/nodes/graphbuilderconf/IntrinsicContext;
10 15 8 instance Lorg/graalvm/compiler/java/GraphBuilderPhase$Instance;
MethodParameters:
Name Flags
invoke
protected void pushStructure(org.graalvm.compiler.replacements.GraphKit$Structure);
descriptor: (Lorg/graalvm/compiler/replacements/GraphKit$Structure;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.graalvm.compiler.replacements.GraphKit.structures:Ljava/util/List;
aload 1
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/graalvm/compiler/replacements/GraphKit;
0 2 1 structure Lorg/graalvm/compiler/replacements/GraphKit$Structure;
MethodParameters:
Name Flags
structure
protected <T extends org.graalvm.compiler.replacements.GraphKit$Structure> T getTopStructure(java.lang.Class<T>);
descriptor: (Ljava/lang/Class;)Lorg/graalvm/compiler/replacements/GraphKit$Structure;
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 1
aload 0
getfield org.graalvm.compiler.replacements.GraphKit.structures:Ljava/util/List;
aload 0
getfield org.graalvm.compiler.replacements.GraphKit.structures:Ljava/util/List;
invokeinterface java.util.List.size:()I
iconst_1
isub
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
invokevirtual java.lang.Class.cast:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.graalvm.compiler.replacements.GraphKit$Structure
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/replacements/GraphKit;
0 1 1 expectedClass Ljava/lang/Class<TT;>;
Signature: <T:Lorg/graalvm/compiler/replacements/GraphKit$Structure;>(Ljava/lang/Class<TT;>;)TT;
MethodParameters:
Name Flags
expectedClass
protected void popStructure();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield org.graalvm.compiler.replacements.GraphKit.structures:Ljava/util/List;
aload 0
getfield org.graalvm.compiler.replacements.GraphKit.structures:Ljava/util/List;
invokeinterface java.util.List.size:()I
iconst_1
isub
invokeinterface java.util.List.remove:(I)Ljava/lang/Object;
pop
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/graalvm/compiler/replacements/GraphKit;
public void startIf(org.graalvm.compiler.nodes.LogicNode, double);
descriptor: (Lorg/graalvm/compiler/nodes/LogicNode;D)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.graalvm.compiler.replacements.GraphKit.graph:Lorg/graalvm/compiler/nodes/StructuredGraph;
new org.graalvm.compiler.nodes.BeginNode
dup
invokespecial org.graalvm.compiler.nodes.BeginNode.<init>:()V
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.AbstractBeginNode
astore 4
start local 4 1: aload 0
getfield org.graalvm.compiler.replacements.GraphKit.graph:Lorg/graalvm/compiler/nodes/StructuredGraph;
new org.graalvm.compiler.nodes.BeginNode
dup
invokespecial org.graalvm.compiler.nodes.BeginNode.<init>:()V
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.AbstractBeginNode
astore 5
start local 5 2: aload 0
new org.graalvm.compiler.nodes.IfNode
dup
aload 1
aload 4
aload 5
dload 2
invokespecial org.graalvm.compiler.nodes.IfNode.<init>:(Lorg/graalvm/compiler/nodes/LogicNode;Lorg/graalvm/compiler/nodes/AbstractBeginNode;Lorg/graalvm/compiler/nodes/AbstractBeginNode;D)V
invokevirtual org.graalvm.compiler.replacements.GraphKit.append:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
pop
3: aload 0
aconst_null
putfield org.graalvm.compiler.replacements.GraphKit.lastFixedNode:Lorg/graalvm/compiler/nodes/FixedWithNextNode;
4: new org.graalvm.compiler.replacements.GraphKit$IfStructure
dup
invokespecial org.graalvm.compiler.replacements.GraphKit$IfStructure.<init>:()V
astore 6
start local 6 5: aload 6
getstatic org.graalvm.compiler.replacements.GraphKit$IfState.CONDITION:Lorg/graalvm/compiler/replacements/GraphKit$IfState;
putfield org.graalvm.compiler.replacements.GraphKit$IfStructure.state:Lorg/graalvm/compiler/replacements/GraphKit$IfState;
6: aload 6
aload 4
putfield org.graalvm.compiler.replacements.GraphKit$IfStructure.thenPart:Lorg/graalvm/compiler/nodes/FixedNode;
7: aload 6
aload 5
putfield org.graalvm.compiler.replacements.GraphKit$IfStructure.elsePart:Lorg/graalvm/compiler/nodes/FixedNode;
8: aload 0
aload 6
invokevirtual org.graalvm.compiler.replacements.GraphKit.pushStructure:(Lorg/graalvm/compiler/replacements/GraphKit$Structure;)V
9: return
end local 6 end local 5 end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lorg/graalvm/compiler/replacements/GraphKit;
0 10 1 condition Lorg/graalvm/compiler/nodes/LogicNode;
0 10 2 trueProbability D
1 10 4 thenSuccessor Lorg/graalvm/compiler/nodes/AbstractBeginNode;
2 10 5 elseSuccessor Lorg/graalvm/compiler/nodes/AbstractBeginNode;
5 10 6 s Lorg/graalvm/compiler/replacements/GraphKit$IfStructure;
MethodParameters:
Name Flags
condition
trueProbability
private org.graalvm.compiler.replacements.GraphKit$IfStructure saveLastNode();
descriptor: ()Lorg/graalvm/compiler/replacements/GraphKit$IfStructure;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
ldc Lorg/graalvm/compiler/replacements/GraphKit$IfStructure;
invokevirtual org.graalvm.compiler.replacements.GraphKit.getTopStructure:(Ljava/lang/Class;)Lorg/graalvm/compiler/replacements/GraphKit$Structure;
checkcast org.graalvm.compiler.replacements.GraphKit$IfStructure
astore 1
start local 1 1: invokestatic org.graalvm.compiler.replacements.GraphKit.$SWITCH_TABLE$org$graalvm$compiler$replacements$GraphKit$IfState:()[I
aload 1
getfield org.graalvm.compiler.replacements.GraphKit$IfStructure.state:Lorg/graalvm/compiler/replacements/GraphKit$IfState;
invokevirtual org.graalvm.compiler.replacements.GraphKit$IfState.ordinal:()I
iaload
tableswitch { // 1 - 4
1: 2
2: 3
3: 5
4: 7
default: 8
}
2: StackMap locals: org.graalvm.compiler.replacements.GraphKit$IfStructure
StackMap stack:
getstatic org.graalvm.compiler.replacements.GraphKit.$assertionsDisabled:Z
ifne 8
aload 0
getfield org.graalvm.compiler.replacements.GraphKit.lastFixedNode:Lorg/graalvm/compiler/nodes/FixedWithNextNode;
ifnull 8
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
3: StackMap locals:
StackMap stack:
aload 1
aload 0
getfield org.graalvm.compiler.replacements.GraphKit.lastFixedNode:Lorg/graalvm/compiler/nodes/FixedWithNextNode;
putfield org.graalvm.compiler.replacements.GraphKit$IfStructure.thenPart:Lorg/graalvm/compiler/nodes/FixedNode;
4: goto 8
5: StackMap locals:
StackMap stack:
aload 1
aload 0
getfield org.graalvm.compiler.replacements.GraphKit.lastFixedNode:Lorg/graalvm/compiler/nodes/FixedWithNextNode;
putfield org.graalvm.compiler.replacements.GraphKit$IfStructure.elsePart:Lorg/graalvm/compiler/nodes/FixedNode;
6: goto 8
7: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.replacements.GraphKit.$assertionsDisabled:Z
ifne 8
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
8: StackMap locals:
StackMap stack:
aload 0
aconst_null
putfield org.graalvm.compiler.replacements.GraphKit.lastFixedNode:Lorg/graalvm/compiler/nodes/FixedWithNextNode;
9: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lorg/graalvm/compiler/replacements/GraphKit;
1 10 1 s Lorg/graalvm/compiler/replacements/GraphKit$IfStructure;
public void thenPart();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual org.graalvm.compiler.replacements.GraphKit.saveLastNode:()Lorg/graalvm/compiler/replacements/GraphKit$IfStructure;
astore 1
start local 1 1: aload 0
aload 1
getfield org.graalvm.compiler.replacements.GraphKit$IfStructure.thenPart:Lorg/graalvm/compiler/nodes/FixedNode;
checkcast org.graalvm.compiler.nodes.FixedWithNextNode
putfield org.graalvm.compiler.replacements.GraphKit.lastFixedNode:Lorg/graalvm/compiler/nodes/FixedWithNextNode;
2: aload 1
getstatic org.graalvm.compiler.replacements.GraphKit$IfState.THEN_PART:Lorg/graalvm/compiler/replacements/GraphKit$IfState;
putfield org.graalvm.compiler.replacements.GraphKit$IfStructure.state:Lorg/graalvm/compiler/replacements/GraphKit$IfState;
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/graalvm/compiler/replacements/GraphKit;
1 4 1 s Lorg/graalvm/compiler/replacements/GraphKit$IfStructure;
public void elsePart();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual org.graalvm.compiler.replacements.GraphKit.saveLastNode:()Lorg/graalvm/compiler/replacements/GraphKit$IfStructure;
astore 1
start local 1 1: aload 0
aload 1
getfield org.graalvm.compiler.replacements.GraphKit$IfStructure.elsePart:Lorg/graalvm/compiler/nodes/FixedNode;
checkcast org.graalvm.compiler.nodes.FixedWithNextNode
putfield org.graalvm.compiler.replacements.GraphKit.lastFixedNode:Lorg/graalvm/compiler/nodes/FixedWithNextNode;
2: aload 1
getstatic org.graalvm.compiler.replacements.GraphKit$IfState.ELSE_PART:Lorg/graalvm/compiler/replacements/GraphKit$IfState;
putfield org.graalvm.compiler.replacements.GraphKit$IfStructure.state:Lorg/graalvm/compiler/replacements/GraphKit$IfState;
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/graalvm/compiler/replacements/GraphKit;
1 4 1 s Lorg/graalvm/compiler/replacements/GraphKit$IfStructure;
public void endIf();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=7, args_size=1
start local 0 0: aload 0
invokevirtual org.graalvm.compiler.replacements.GraphKit.saveLastNode:()Lorg/graalvm/compiler/replacements/GraphKit$IfStructure;
astore 1
start local 1 1: aload 1
getfield org.graalvm.compiler.replacements.GraphKit$IfStructure.thenPart:Lorg/graalvm/compiler/nodes/FixedNode;
instanceof org.graalvm.compiler.nodes.FixedWithNextNode
ifeq 2
aload 1
getfield org.graalvm.compiler.replacements.GraphKit$IfStructure.thenPart:Lorg/graalvm/compiler/nodes/FixedNode;
checkcast org.graalvm.compiler.nodes.FixedWithNextNode
goto 3
StackMap locals: org.graalvm.compiler.replacements.GraphKit$IfStructure
StackMap stack:
2: aconst_null
StackMap locals:
StackMap stack: org.graalvm.compiler.nodes.FixedWithNextNode
3: astore 2
start local 2 4: aload 1
getfield org.graalvm.compiler.replacements.GraphKit$IfStructure.elsePart:Lorg/graalvm/compiler/nodes/FixedNode;
instanceof org.graalvm.compiler.nodes.FixedWithNextNode
ifeq 5
aload 1
getfield org.graalvm.compiler.replacements.GraphKit$IfStructure.elsePart:Lorg/graalvm/compiler/nodes/FixedNode;
checkcast org.graalvm.compiler.nodes.FixedWithNextNode
goto 6
StackMap locals: org.graalvm.compiler.nodes.FixedWithNextNode
StackMap stack:
5: aconst_null
StackMap locals:
StackMap stack: org.graalvm.compiler.nodes.FixedWithNextNode
6: astore 3
start local 3 7: aload 2
ifnull 17
aload 3
ifnull 17
8: aload 0
getfield org.graalvm.compiler.replacements.GraphKit.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 4
start local 4 9: aload 0
getfield org.graalvm.compiler.replacements.GraphKit.graph:Lorg/graalvm/compiler/nodes/StructuredGraph;
aload 2
aload 4
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.addAfterFixed:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;Lorg/graalvm/compiler/nodes/FixedNode;)V
10: aload 0
getfield org.graalvm.compiler.replacements.GraphKit.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 5
start local 5 11: aload 0
getfield org.graalvm.compiler.replacements.GraphKit.graph:Lorg/graalvm/compiler/nodes/StructuredGraph;
aload 3
aload 5
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.addAfterFixed:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;Lorg/graalvm/compiler/nodes/FixedNode;)V
12: aload 0
getfield org.graalvm.compiler.replacements.GraphKit.graph:Lorg/graalvm/compiler/nodes/StructuredGraph;
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 6
start local 6 13: aload 6
aload 4
invokevirtual org.graalvm.compiler.nodes.AbstractMergeNode.addForwardEnd:(Lorg/graalvm/compiler/nodes/EndNode;)V
14: aload 6
aload 5
invokevirtual org.graalvm.compiler.nodes.AbstractMergeNode.addForwardEnd:(Lorg/graalvm/compiler/nodes/EndNode;)V
15: aload 0
aload 6
putfield org.graalvm.compiler.replacements.GraphKit.lastFixedNode:Lorg/graalvm/compiler/nodes/FixedWithNextNode;
end local 6 end local 5 end local 4 16: goto 24
StackMap locals: org.graalvm.compiler.nodes.FixedWithNextNode
StackMap stack:
17: aload 2
ifnull 20
18: aload 0
aload 2
putfield org.graalvm.compiler.replacements.GraphKit.lastFixedNode:Lorg/graalvm/compiler/nodes/FixedWithNextNode;
19: goto 24
StackMap locals:
StackMap stack:
20: aload 3
ifnull 23
21: aload 0
aload 3
putfield org.graalvm.compiler.replacements.GraphKit.lastFixedNode:Lorg/graalvm/compiler/nodes/FixedWithNextNode;
22: goto 24
23: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.replacements.GraphKit.$assertionsDisabled:Z
ifne 24
aload 0
getfield org.graalvm.compiler.replacements.GraphKit.lastFixedNode:Lorg/graalvm/compiler/nodes/FixedWithNextNode;
ifnull 24
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
24: StackMap locals:
StackMap stack:
aload 1
getstatic org.graalvm.compiler.replacements.GraphKit$IfState.FINISHED:Lorg/graalvm/compiler/replacements/GraphKit$IfState;
putfield org.graalvm.compiler.replacements.GraphKit$IfStructure.state:Lorg/graalvm/compiler/replacements/GraphKit$IfState;
25: aload 0
invokevirtual org.graalvm.compiler.replacements.GraphKit.popStructure:()V
26: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 27 0 this Lorg/graalvm/compiler/replacements/GraphKit;
1 27 1 s Lorg/graalvm/compiler/replacements/GraphKit$IfStructure;
4 27 2 thenPart Lorg/graalvm/compiler/nodes/FixedWithNextNode;
7 27 3 elsePart Lorg/graalvm/compiler/nodes/FixedWithNextNode;
9 16 4 thenEnd Lorg/graalvm/compiler/nodes/EndNode;
11 16 5 elseEnd Lorg/graalvm/compiler/nodes/EndNode;
13 16 6 merge Lorg/graalvm/compiler/nodes/AbstractMergeNode;
static int[] $SWITCH_TABLE$org$graalvm$compiler$replacements$GraphKit$IfState();
descriptor: ()[I
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=0
0: getstatic org.graalvm.compiler.replacements.GraphKit.$SWITCH_TABLE$org$graalvm$compiler$replacements$GraphKit$IfState:[I
dup
ifnull 1
areturn
StackMap locals:
StackMap stack: int[]
1: pop
invokestatic org.graalvm.compiler.replacements.GraphKit$IfState.values:()[Lorg/graalvm/compiler/replacements/GraphKit$IfState;
arraylength
newarray 10
astore 0
2: aload 0
getstatic org.graalvm.compiler.replacements.GraphKit$IfState.CONDITION:Lorg/graalvm/compiler/replacements/GraphKit$IfState;
invokevirtual org.graalvm.compiler.replacements.GraphKit$IfState.ordinal:()I
iconst_1
iastore
3: goto 5
StackMap locals: int[]
StackMap stack: java.lang.NoSuchFieldError
4: pop
StackMap locals:
StackMap stack:
5: aload 0
getstatic org.graalvm.compiler.replacements.GraphKit$IfState.ELSE_PART:Lorg/graalvm/compiler/replacements/GraphKit$IfState;
invokevirtual org.graalvm.compiler.replacements.GraphKit$IfState.ordinal:()I
iconst_3
iastore
6: goto 8
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
7: pop
StackMap locals:
StackMap stack:
8: aload 0
getstatic org.graalvm.compiler.replacements.GraphKit$IfState.FINISHED:Lorg/graalvm/compiler/replacements/GraphKit$IfState;
invokevirtual org.graalvm.compiler.replacements.GraphKit$IfState.ordinal:()I
iconst_4
iastore
9: goto 11
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
10: pop
StackMap locals:
StackMap stack:
11: aload 0
getstatic org.graalvm.compiler.replacements.GraphKit$IfState.THEN_PART:Lorg/graalvm/compiler/replacements/GraphKit$IfState;
invokevirtual org.graalvm.compiler.replacements.GraphKit$IfState.ordinal:()I
iconst_2
iastore
12: goto 14
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
13: pop
StackMap locals:
StackMap stack:
14: aload 0
dup
putstatic org.graalvm.compiler.replacements.GraphKit.$SWITCH_TABLE$org$graalvm$compiler$replacements$GraphKit$IfState:[I
areturn
LocalVariableTable:
Start End Slot Name Signature
Exception table:
from to target type
2 3 4 Class java.lang.NoSuchFieldError
5 6 7 Class java.lang.NoSuchFieldError
8 9 10 Class java.lang.NoSuchFieldError
11 12 13 Class java.lang.NoSuchFieldError
}
SourceFile: "GraphKit.java"
NestMembers:
org.graalvm.compiler.replacements.GraphKit$1 org.graalvm.compiler.replacements.GraphKit$IfState org.graalvm.compiler.replacements.GraphKit$IfStructure org.graalvm.compiler.replacements.GraphKit$Structure
InnerClasses:
public abstract ValueNumberable = org.graalvm.compiler.graph.Node$ValueNumberable of org.graalvm.compiler.graph.Node
public Instance = org.graalvm.compiler.java.GraphBuilderPhase$Instance of org.graalvm.compiler.java.GraphBuilderPhase
public final InvokeKind = org.graalvm.compiler.nodes.CallTargetNode$InvokeKind of org.graalvm.compiler.nodes.CallTargetNode
public final AllowAssumptions = org.graalvm.compiler.nodes.StructuredGraph$AllowAssumptions of org.graalvm.compiler.nodes.StructuredGraph
public Plugins = org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration$Plugins of org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration
public final CompilationContext = org.graalvm.compiler.nodes.graphbuilderconf.IntrinsicContext$CompilationContext of org.graalvm.compiler.nodes.graphbuilderconf.IntrinsicContext
public final Optionality = org.graalvm.compiler.phases.common.DeadCodeEliminationPhase$Optionality of org.graalvm.compiler.phases.common.DeadCodeEliminationPhase
org.graalvm.compiler.replacements.GraphKit$1
protected final IfState = org.graalvm.compiler.replacements.GraphKit$IfState of org.graalvm.compiler.replacements.GraphKit
IfStructure = org.graalvm.compiler.replacements.GraphKit$IfStructure of org.graalvm.compiler.replacements.GraphKit
abstract Structure = org.graalvm.compiler.replacements.GraphKit$Structure of org.graalvm.compiler.replacements.GraphKit