public abstract class org.graalvm.compiler.replacements.nodes.MacroStateSplitNode extends org.graalvm.compiler.replacements.nodes.MacroNode implements org.graalvm.compiler.nodes.StateSplit, org.graalvm.compiler.nodes.memory.MemoryCheckpoint$Single
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: org.graalvm.compiler.replacements.nodes.MacroStateSplitNode
super_class: org.graalvm.compiler.replacements.nodes.MacroNode
{
public static final org.graalvm.compiler.graph.NodeClass<org.graalvm.compiler.replacements.nodes.MacroStateSplitNode> TYPE;
descriptor: Lorg/graalvm/compiler/graph/NodeClass;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
Signature: Lorg/graalvm/compiler/graph/NodeClass<Lorg/graalvm/compiler/replacements/nodes/MacroStateSplitNode;>;
protected org.graalvm.compiler.nodes.FrameState stateAfter;
descriptor: Lorg/graalvm/compiler/nodes/FrameState;
flags: (0x0004) ACC_PROTECTED
RuntimeVisibleAnnotations:
org.graalvm.compiler.graph.Node$OptionalInput(value = org.graalvm.compiler.nodeinfo.InputType.State:Lorg/graalvm/compiler/nodeinfo/InputType;)
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/replacements/nodes/MacroStateSplitNode;
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.nodes.MacroStateSplitNode.$assertionsDisabled:Z
3: ldc Lorg/graalvm/compiler/replacements/nodes/MacroStateSplitNode;
invokestatic org.graalvm.compiler.graph.NodeClass.create:(Ljava/lang/Class;)Lorg/graalvm/compiler/graph/NodeClass;
putstatic org.graalvm.compiler.replacements.nodes.MacroStateSplitNode.TYPE:Lorg/graalvm/compiler/graph/NodeClass;
return
LocalVariableTable:
Start End Slot Name Signature
protected void <init>(org.graalvm.compiler.graph.NodeClass<? extends org.graalvm.compiler.replacements.nodes.MacroNode>, org.graalvm.compiler.nodes.CallTargetNode$InvokeKind, jdk.vm.ci.meta.ResolvedJavaMethod, int, org.graalvm.compiler.core.common.type.StampPair, org.graalvm.compiler.nodes.ValueNode[]);
descriptor: (Lorg/graalvm/compiler/graph/NodeClass;Lorg/graalvm/compiler/nodes/CallTargetNode$InvokeKind;Ljdk/vm/ci/meta/ResolvedJavaMethod;ILorg/graalvm/compiler/core/common/type/StampPair;[Lorg/graalvm/compiler/nodes/ValueNode;)V
flags: (0x0084) ACC_PROTECTED, ACC_VARARGS
Code:
stack=7, locals=7, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: aload 0
aload 1
aload 2
aload 3
iload 4
aload 5
aload 6
invokespecial org.graalvm.compiler.replacements.nodes.MacroNode.<init>:(Lorg/graalvm/compiler/graph/NodeClass;Lorg/graalvm/compiler/nodes/CallTargetNode$InvokeKind;Ljdk/vm/ci/meta/ResolvedJavaMethod;ILorg/graalvm/compiler/core/common/type/StampPair;[Lorg/graalvm/compiler/nodes/ValueNode;)V
1: return
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 2 0 this Lorg/graalvm/compiler/replacements/nodes/MacroStateSplitNode;
0 2 1 c Lorg/graalvm/compiler/graph/NodeClass<+Lorg/graalvm/compiler/replacements/nodes/MacroNode;>;
0 2 2 invokeKind Lorg/graalvm/compiler/nodes/CallTargetNode$InvokeKind;
0 2 3 targetMethod Ljdk/vm/ci/meta/ResolvedJavaMethod;
0 2 4 bci I
0 2 5 returnStamp Lorg/graalvm/compiler/core/common/type/StampPair;
0 2 6 arguments [Lorg/graalvm/compiler/nodes/ValueNode;
Signature: (Lorg/graalvm/compiler/graph/NodeClass<+Lorg/graalvm/compiler/replacements/nodes/MacroNode;>;Lorg/graalvm/compiler/nodes/CallTargetNode$InvokeKind;Ljdk/vm/ci/meta/ResolvedJavaMethod;ILorg/graalvm/compiler/core/common/type/StampPair;[Lorg/graalvm/compiler/nodes/ValueNode;)V
MethodParameters:
Name Flags
c
invokeKind
targetMethod
bci
returnStamp
arguments
public org.graalvm.compiler.nodes.FrameState stateAfter();
descriptor: ()Lorg/graalvm/compiler/nodes/FrameState;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.graalvm.compiler.replacements.nodes.MacroStateSplitNode.stateAfter:Lorg/graalvm/compiler/nodes/FrameState;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/replacements/nodes/MacroStateSplitNode;
public void setStateAfter(org.graalvm.compiler.nodes.FrameState);
descriptor: (Lorg/graalvm/compiler/nodes/FrameState;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: getstatic org.graalvm.compiler.replacements.nodes.MacroStateSplitNode.$assertionsDisabled:Z
ifne 1
aload 1
ifnull 1
aload 1
invokevirtual org.graalvm.compiler.nodes.FrameState.isAlive:()Z
ifne 1
new java.lang.AssertionError
dup
ldc "frame state must be in a graph"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
1: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield org.graalvm.compiler.replacements.nodes.MacroStateSplitNode.stateAfter:Lorg/graalvm/compiler/nodes/FrameState;
aload 1
invokevirtual org.graalvm.compiler.replacements.nodes.MacroStateSplitNode.updateUsages:(Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;)V
2: aload 0
aload 1
putfield org.graalvm.compiler.replacements.nodes.MacroStateSplitNode.stateAfter:Lorg/graalvm/compiler/nodes/FrameState;
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/graalvm/compiler/replacements/nodes/MacroStateSplitNode;
0 4 1 x Lorg/graalvm/compiler/nodes/FrameState;
MethodParameters:
Name Flags
x
public boolean hasSideEffect();
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/nodes/MacroStateSplitNode;
public jdk.internal.vm.compiler.word.LocationIdentity getLocationIdentity();
descriptor: ()Ljdk/internal/vm/compiler/word/LocationIdentity;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: invokestatic jdk.internal.vm.compiler.word.LocationIdentity.any:()Ljdk/internal/vm/compiler/word/LocationIdentity;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/replacements/nodes/MacroStateSplitNode;
protected void replaceSnippetInvokes(org.graalvm.compiler.nodes.StructuredGraph);
descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=7, locals=6, args_size=2
start local 0 start local 1 0: aload 1
getstatic org.graalvm.compiler.nodes.java.MethodCallTargetNode.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 3
goto 9
StackMap locals: org.graalvm.compiler.replacements.nodes.MacroStateSplitNode org.graalvm.compiler.nodes.StructuredGraph top java.util.Iterator
StackMap stack:
1: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.java.MethodCallTargetNode
astore 2
start local 2 2: aload 2
invokevirtual org.graalvm.compiler.nodes.java.MethodCallTargetNode.invoke:()Lorg/graalvm/compiler/nodes/Invoke;
astore 4
start local 4 3: aload 2
invokevirtual org.graalvm.compiler.nodes.java.MethodCallTargetNode.targetMethod:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
aload 0
invokevirtual org.graalvm.compiler.replacements.nodes.MacroStateSplitNode.getTargetMethod:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifne 5
4: new org.graalvm.compiler.debug.GraalError
dup
ldc "unexpected invoke %s in snippet"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
aastore
invokespecial org.graalvm.compiler.debug.GraalError.<init>:(Ljava/lang/String;[Ljava/lang/Object;)V
athrow
5: StackMap locals: org.graalvm.compiler.replacements.nodes.MacroStateSplitNode org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.nodes.java.MethodCallTargetNode java.util.Iterator org.graalvm.compiler.nodes.Invoke
StackMap stack:
getstatic org.graalvm.compiler.replacements.nodes.MacroStateSplitNode.$assertionsDisabled:Z
ifne 6
aload 4
invokeinterface org.graalvm.compiler.nodes.Invoke.stateAfter:()Lorg/graalvm/compiler/nodes/FrameState;
getfield org.graalvm.compiler.nodes.FrameState.bci:I
bipush -3
if_icmpeq 6
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
6: StackMap locals:
StackMap stack:
aload 1
new org.graalvm.compiler.nodes.InvokeNode
dup
aload 4
invokeinterface org.graalvm.compiler.nodes.Invoke.callTarget:()Lorg/graalvm/compiler/nodes/CallTargetNode;
aload 0
invokevirtual org.graalvm.compiler.replacements.nodes.MacroStateSplitNode.bci:()I
invokespecial org.graalvm.compiler.nodes.InvokeNode.<init>:(Lorg/graalvm/compiler/nodes/CallTargetNode;I)V
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.InvokeNode
astore 5
start local 5 7: aload 5
aload 4
invokeinterface org.graalvm.compiler.nodes.Invoke.stateAfter:()Lorg/graalvm/compiler/nodes/FrameState;
invokevirtual org.graalvm.compiler.nodes.InvokeNode.setStateAfter:(Lorg/graalvm/compiler/nodes/FrameState;)V
8: aload 1
aload 4
invokeinterface org.graalvm.compiler.nodes.Invoke.asNode:()Lorg/graalvm/compiler/nodes/FixedNode;
checkcast org.graalvm.compiler.nodes.InvokeNode
aload 5
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.replaceFixedWithFixed:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;Lorg/graalvm/compiler/nodes/FixedWithNextNode;)V
end local 5 end local 4 end local 2 9: StackMap locals: org.graalvm.compiler.replacements.nodes.MacroStateSplitNode org.graalvm.compiler.nodes.StructuredGraph top java.util.Iterator
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
10: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/graalvm/compiler/replacements/nodes/MacroStateSplitNode;
0 11 1 snippetGraph Lorg/graalvm/compiler/nodes/StructuredGraph;
2 9 2 call Lorg/graalvm/compiler/nodes/java/MethodCallTargetNode;
3 9 4 invoke Lorg/graalvm/compiler/nodes/Invoke;
7 9 5 newInvoke Lorg/graalvm/compiler/nodes/InvokeNode;
MethodParameters:
Name Flags
snippetGraph
}
SourceFile: "MacroStateSplitNode.java"
InnerClasses:
public abstract OptionalInput = org.graalvm.compiler.graph.Node$OptionalInput of org.graalvm.compiler.graph.Node
public final InvokeKind = org.graalvm.compiler.nodes.CallTargetNode$InvokeKind of org.graalvm.compiler.nodes.CallTargetNode
public abstract Single = org.graalvm.compiler.nodes.memory.MemoryCheckpoint$Single of org.graalvm.compiler.nodes.memory.MemoryCheckpoint
RuntimeVisibleAnnotations:
org.graalvm.compiler.nodeinfo.NodeInfo()