class org.graalvm.compiler.phases.common.FixReadsPhase$FixReadsClosure extends org.graalvm.compiler.phases.graph.ScheduledNodeIterator
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: org.graalvm.compiler.phases.common.FixReadsPhase$FixReadsClosure
super_class: org.graalvm.compiler.phases.graph.ScheduledNodeIterator
{
private void <init>();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 // org.graalvm.compiler.phases.common.FixReadsPhase$FixReadsClosure this
0: .line 104
aload 0 /* this */
invokespecial org.graalvm.compiler.phases.graph.ScheduledNodeIterator.<init>:()V
return
end local 0 // org.graalvm.compiler.phases.common.FixReadsPhase$FixReadsClosure this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/phases/common/FixReadsPhase$FixReadsClosure;
protected void processNode(org.graalvm.compiler.graph.Node);
descriptor: (Lorg/graalvm/compiler/graph/Node;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=5, args_size=2
start local 0 // org.graalvm.compiler.phases.common.FixReadsPhase$FixReadsClosure this
start local 1 // org.graalvm.compiler.graph.Node node
0: .line 108
aload 1 /* node */
instanceof org.graalvm.compiler.nodes.AbstractMergeNode
ifeq 8
1: .line 109
aload 1 /* node */
checkcast org.graalvm.compiler.nodes.AbstractMergeNode
astore 2 /* mergeNode */
start local 2 // org.graalvm.compiler.nodes.AbstractMergeNode mergeNode
2: .line 110
aload 2 /* mergeNode */
invokevirtual org.graalvm.compiler.nodes.AbstractMergeNode.memoryPhis:()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 4
goto 6
StackMap locals: org.graalvm.compiler.phases.common.FixReadsPhase$FixReadsClosure org.graalvm.compiler.graph.Node org.graalvm.compiler.nodes.AbstractMergeNode top java.util.Iterator
StackMap stack:
3: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.memory.MemoryPhiNode
astore 3 /* memoryPhi */
start local 3 // org.graalvm.compiler.nodes.memory.MemoryPhiNode memoryPhi
4: .line 112
aload 3 /* memoryPhi */
aconst_null
invokevirtual org.graalvm.compiler.nodes.memory.MemoryPhiNode.replaceAtUsages:(Lorg/graalvm/compiler/graph/Node;)V
5: .line 113
aload 3 /* memoryPhi */
invokevirtual org.graalvm.compiler.nodes.memory.MemoryPhiNode.safeDelete:()V
end local 3 // org.graalvm.compiler.nodes.memory.MemoryPhiNode memoryPhi
6: .line 110
StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
end local 2 // org.graalvm.compiler.nodes.AbstractMergeNode mergeNode
7: .line 115
goto 26
StackMap locals: org.graalvm.compiler.phases.common.FixReadsPhase$FixReadsClosure org.graalvm.compiler.graph.Node
StackMap stack:
8: aload 1 /* node */
instanceof org.graalvm.compiler.nodes.memory.FloatingAccessNode
ifeq 18
9: .line 116
aload 1 /* node */
checkcast org.graalvm.compiler.nodes.memory.FloatingAccessNode
astore 2 /* floatingAccessNode */
start local 2 // org.graalvm.compiler.nodes.memory.FloatingAccessNode floatingAccessNode
10: .line 117
aload 2 /* floatingAccessNode */
aconst_null
invokevirtual org.graalvm.compiler.nodes.memory.FloatingAccessNode.setLastLocationAccess:(Lorg/graalvm/compiler/nodes/memory/MemoryNode;)V
11: .line 118
aload 2 /* floatingAccessNode */
invokevirtual org.graalvm.compiler.nodes.memory.FloatingAccessNode.getGuard:()Lorg/graalvm/compiler/nodes/extended/GuardingNode;
astore 3 /* guard */
start local 3 // org.graalvm.compiler.nodes.extended.GuardingNode guard
12: .line 119
aload 3 /* guard */
ifnull 15
13: .line 120
aload 2 /* floatingAccessNode */
aconst_null
invokevirtual org.graalvm.compiler.nodes.memory.FloatingAccessNode.setGuard:(Lorg/graalvm/compiler/nodes/extended/GuardingNode;)V
14: .line 121
aload 3 /* guard */
invokeinterface org.graalvm.compiler.nodes.extended.GuardingNode.asNode:()Lorg/graalvm/compiler/nodes/ValueNode;
invokestatic org.graalvm.compiler.nodes.util.GraphUtil.tryKillUnused:(Lorg/graalvm/compiler/graph/Node;)Z
pop
15: .line 123
StackMap locals: org.graalvm.compiler.nodes.memory.FloatingAccessNode org.graalvm.compiler.nodes.extended.GuardingNode
StackMap stack:
aload 2 /* floatingAccessNode */
invokevirtual org.graalvm.compiler.nodes.memory.FloatingAccessNode.asFixedNode:()Lorg/graalvm/compiler/nodes/memory/FixedAccessNode;
astore 4 /* fixedAccess */
start local 4 // org.graalvm.compiler.nodes.memory.FixedAccessNode fixedAccess
16: .line 124
aload 0 /* this */
aload 4 /* fixedAccess */
invokevirtual org.graalvm.compiler.phases.common.FixReadsPhase$FixReadsClosure.replaceCurrent:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;)V
end local 4 // org.graalvm.compiler.nodes.memory.FixedAccessNode fixedAccess
end local 3 // org.graalvm.compiler.nodes.extended.GuardingNode guard
end local 2 // org.graalvm.compiler.nodes.memory.FloatingAccessNode floatingAccessNode
17: .line 125
goto 26
StackMap locals:
StackMap stack:
18: aload 1 /* node */
instanceof org.graalvm.compiler.nodes.PiNode
ifeq 23
19: .line 126
aload 1 /* node */
checkcast org.graalvm.compiler.nodes.PiNode
astore 2 /* piNode */
start local 2 // org.graalvm.compiler.nodes.PiNode piNode
20: .line 127
aload 2 /* piNode */
getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
invokevirtual org.graalvm.compiler.nodes.PiNode.stamp:(Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/core/common/type/Stamp;
aload 2 /* piNode */
invokevirtual org.graalvm.compiler.nodes.PiNode.getOriginalNode:()Lorg/graalvm/compiler/nodes/ValueNode;
getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
invokevirtual org.graalvm.compiler.nodes.ValueNode.stamp:(Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/core/common/type/Stamp;
invokevirtual org.graalvm.compiler.core.common.type.Stamp.isCompatible:(Lorg/graalvm/compiler/core/common/type/Stamp;)Z
ifeq 26
21: .line 129
aload 2 /* piNode */
aload 2 /* piNode */
invokevirtual org.graalvm.compiler.nodes.PiNode.getOriginalNode:()Lorg/graalvm/compiler/nodes/ValueNode;
invokevirtual org.graalvm.compiler.nodes.PiNode.replaceAndDelete:(Lorg/graalvm/compiler/graph/Node;)V
end local 2 // org.graalvm.compiler.nodes.PiNode piNode
22: .line 131
goto 26
StackMap locals:
StackMap stack:
23: aload 1 /* node */
instanceof org.graalvm.compiler.nodes.memory.MemoryAccess
ifeq 26
24: .line 132
aload 1 /* node */
checkcast org.graalvm.compiler.nodes.memory.MemoryAccess
astore 2 /* memoryAccess */
start local 2 // org.graalvm.compiler.nodes.memory.MemoryAccess memoryAccess
25: .line 133
aload 2 /* memoryAccess */
aconst_null
invokeinterface org.graalvm.compiler.nodes.memory.MemoryAccess.setLastLocationAccess:(Lorg/graalvm/compiler/nodes/memory/MemoryNode;)V
end local 2 // org.graalvm.compiler.nodes.memory.MemoryAccess memoryAccess
26: .line 135
StackMap locals:
StackMap stack:
return
end local 1 // org.graalvm.compiler.graph.Node node
end local 0 // org.graalvm.compiler.phases.common.FixReadsPhase$FixReadsClosure this
LocalVariableTable:
Start End Slot Name Signature
0 27 0 this Lorg/graalvm/compiler/phases/common/FixReadsPhase$FixReadsClosure;
0 27 1 node Lorg/graalvm/compiler/graph/Node;
2 7 2 mergeNode Lorg/graalvm/compiler/nodes/AbstractMergeNode;
4 6 3 memoryPhi Lorg/graalvm/compiler/nodes/memory/MemoryPhiNode;
10 17 2 floatingAccessNode Lorg/graalvm/compiler/nodes/memory/FloatingAccessNode;
12 17 3 guard Lorg/graalvm/compiler/nodes/extended/GuardingNode;
16 17 4 fixedAccess Lorg/graalvm/compiler/nodes/memory/FixedAccessNode;
20 22 2 piNode Lorg/graalvm/compiler/nodes/PiNode;
25 26 2 memoryAccess Lorg/graalvm/compiler/nodes/memory/MemoryAccess;
MethodParameters:
Name Flags
node
}
SourceFile: "FixReadsPhase.java"
NestHost: org.graalvm.compiler.phases.common.FixReadsPhase
InnerClasses:
private FixReadsClosure = org.graalvm.compiler.phases.common.FixReadsPhase$FixReadsClosure of org.graalvm.compiler.phases.common.FixReadsPhase