class org.graalvm.compiler.phases.common.ValueAnchorCleanupPhase$CleanupValueAnchorsClosure extends org.graalvm.compiler.phases.graph.SinglePassNodeIterator<org.graalvm.compiler.phases.common.ValueAnchorCleanupPhase$State>
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: org.graalvm.compiler.phases.common.ValueAnchorCleanupPhase$CleanupValueAnchorsClosure
super_class: org.graalvm.compiler.phases.graph.SinglePassNodeIterator
{
void <init>(org.graalvm.compiler.nodes.StartNode);
descriptor: (Lorg/graalvm/compiler/nodes/StartNode;)V
flags: (0x0000)
Code:
stack=4, locals=2, args_size=2
start local 0 // org.graalvm.compiler.phases.common.ValueAnchorCleanupPhase$CleanupValueAnchorsClosure this
start local 1 // org.graalvm.compiler.nodes.StartNode start
0: .line 75
aload 0 /* this */
aload 1 /* start */
new org.graalvm.compiler.phases.common.ValueAnchorCleanupPhase$State
dup
invokespecial org.graalvm.compiler.phases.common.ValueAnchorCleanupPhase$State.<init>:()V
invokespecial org.graalvm.compiler.phases.graph.SinglePassNodeIterator.<init>:(Lorg/graalvm/compiler/nodes/StartNode;Lorg/graalvm/compiler/phases/graph/MergeableState;)V
1: .line 76
return
end local 1 // org.graalvm.compiler.nodes.StartNode start
end local 0 // org.graalvm.compiler.phases.common.ValueAnchorCleanupPhase$CleanupValueAnchorsClosure this
LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/graalvm/compiler/phases/common/ValueAnchorCleanupPhase$CleanupValueAnchorsClosure;
0 2 1 start Lorg/graalvm/compiler/nodes/StartNode;
MethodParameters:
Name Flags
start
protected void node(org.graalvm.compiler.nodes.FixedNode);
descriptor: (Lorg/graalvm/compiler/nodes/FixedNode;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=4, args_size=2
start local 0 // org.graalvm.compiler.phases.common.ValueAnchorCleanupPhase$CleanupValueAnchorsClosure this
start local 1 // org.graalvm.compiler.nodes.FixedNode node
0: .line 80
aload 1 /* node */
instanceof org.graalvm.compiler.nodes.extended.ValueAnchorNode
ifeq 10
1: .line 81
aload 1 /* node */
checkcast org.graalvm.compiler.nodes.extended.ValueAnchorNode
astore 2 /* anchor */
start local 2 // org.graalvm.compiler.nodes.extended.ValueAnchorNode anchor
2: .line 82
aload 2 /* anchor */
invokevirtual org.graalvm.compiler.nodes.extended.ValueAnchorNode.getAnchoredNode:()Lorg/graalvm/compiler/nodes/ValueNode;
astore 3 /* anchored */
start local 3 // org.graalvm.compiler.nodes.ValueNode anchored
3: .line 83
aload 3 /* anchored */
ifnull 8
4: .line 84
aload 0 /* this */
getfield org.graalvm.compiler.phases.common.ValueAnchorCleanupPhase$CleanupValueAnchorsClosure.state:Lorg/graalvm/compiler/phases/graph/MergeableState;
checkcast org.graalvm.compiler.phases.common.ValueAnchorCleanupPhase$State
getfield org.graalvm.compiler.phases.common.ValueAnchorCleanupPhase$State.anchoredValues:Ljava/util/Set;
aload 3 /* anchored */
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifeq 7
5: .line 85
aload 2 /* anchor */
invokevirtual org.graalvm.compiler.nodes.extended.ValueAnchorNode.removeAnchoredNode:()V
6: .line 86
goto 8
7: .line 87
StackMap locals: org.graalvm.compiler.nodes.extended.ValueAnchorNode org.graalvm.compiler.nodes.ValueNode
StackMap stack:
aload 0 /* this */
getfield org.graalvm.compiler.phases.common.ValueAnchorCleanupPhase$CleanupValueAnchorsClosure.state:Lorg/graalvm/compiler/phases/graph/MergeableState;
checkcast org.graalvm.compiler.phases.common.ValueAnchorCleanupPhase$State
getfield org.graalvm.compiler.phases.common.ValueAnchorCleanupPhase$State.anchoredValues:Ljava/util/Set;
aload 3 /* anchored */
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
8: .line 90
StackMap locals:
StackMap stack:
aload 2 /* anchor */
invokevirtual org.graalvm.compiler.nodes.extended.ValueAnchorNode.getAnchoredNode:()Lorg/graalvm/compiler/nodes/ValueNode;
ifnonnull 10
aload 2 /* anchor */
invokevirtual org.graalvm.compiler.nodes.extended.ValueAnchorNode.hasNoUsages:()Z
ifeq 10
9: .line 91
aload 1 /* node */
invokevirtual org.graalvm.compiler.nodes.FixedNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
aload 2 /* anchor */
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.removeFixed:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;)V
end local 3 // org.graalvm.compiler.nodes.ValueNode anchored
end local 2 // org.graalvm.compiler.nodes.extended.ValueAnchorNode anchor
10: .line 94
StackMap locals:
StackMap stack:
return
end local 1 // org.graalvm.compiler.nodes.FixedNode node
end local 0 // org.graalvm.compiler.phases.common.ValueAnchorCleanupPhase$CleanupValueAnchorsClosure this
LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/graalvm/compiler/phases/common/ValueAnchorCleanupPhase$CleanupValueAnchorsClosure;
0 11 1 node Lorg/graalvm/compiler/nodes/FixedNode;
2 10 2 anchor Lorg/graalvm/compiler/nodes/extended/ValueAnchorNode;
3 10 3 anchored Lorg/graalvm/compiler/nodes/ValueNode;
MethodParameters:
Name Flags
node
}
Signature: Lorg/graalvm/compiler/phases/graph/SinglePassNodeIterator<Lorg/graalvm/compiler/phases/common/ValueAnchorCleanupPhase$State;>;
SourceFile: "ValueAnchorCleanupPhase.java"
NestHost: org.graalvm.compiler.phases.common.ValueAnchorCleanupPhase
InnerClasses:
private CleanupValueAnchorsClosure = org.graalvm.compiler.phases.common.ValueAnchorCleanupPhase$CleanupValueAnchorsClosure of org.graalvm.compiler.phases.common.ValueAnchorCleanupPhase
private State = org.graalvm.compiler.phases.common.ValueAnchorCleanupPhase$State of org.graalvm.compiler.phases.common.ValueAnchorCleanupPhase