public class org.graalvm.compiler.nodes.util.GraphUtil
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.graalvm.compiler.nodes.util.GraphUtil
super_class: java.lang.Object
{
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/nodes/util/GraphUtil;
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.nodes.util.GraphUtil.$assertionsDisabled:Z
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/nodes/util/GraphUtil;
public static void killCFG(org.graalvm.compiler.nodes.FixedNode, org.graalvm.compiler.graph.spi.SimplifierTool);
descriptor: (Lorg/graalvm/compiler/nodes/FixedNode;Lorg/graalvm/compiler/graph/spi/SimplifierTool;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=11, args_size=2
start local 0 start local 1 0: aconst_null
astore 2
aconst_null
astore 3
1: ldc "KillCFG"
aload 0
invokestatic org.graalvm.compiler.debug.Debug.scope:(Ljava/lang/Object;Ljava/lang/Object;)Lorg/graalvm/compiler/debug/Debug$Scope;
astore 4
start local 4 2: aconst_null
astore 5
start local 5 3: aconst_null
astore 6
start local 6 4: aconst_null
astore 7
start local 7 5: getstatic org.graalvm.compiler.graph.Graph$Options.VerifyGraalGraphEdges:Lorg/graalvm/compiler/options/OptionValue;
invokevirtual org.graalvm.compiler.options.OptionValue.getValue:()Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
ifeq 7
6: aload 0
invokevirtual org.graalvm.compiler.nodes.FixedNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
invokestatic org.graalvm.compiler.nodes.util.GraphUtil.collectUnsafeNodes:(Lorg/graalvm/compiler/graph/Graph;)Ljava/util/Set;
astore 6
7: StackMap locals: org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.graph.spi.SimplifierTool java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Debug$Scope java.util.Set java.util.Set org.graalvm.compiler.graph.Graph$NodeEventScope
StackMap stack:
getstatic org.graalvm.compiler.nodes.util.GraphUtil$Options.VerifyKillCFGUnusedNodes:Lorg/graalvm/compiler/options/OptionValue;
invokevirtual org.graalvm.compiler.options.OptionValue.getValue:()Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
ifeq 10
8: invokestatic org.graalvm.compiler.core.common.CollectionsFactory.newSet:()Ljava/util/Set;
dup
astore 5
astore 8
start local 8 9: aload 0
invokevirtual org.graalvm.compiler.nodes.FixedNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
new org.graalvm.compiler.nodes.util.GraphUtil$1
dup
aload 8
invokespecial org.graalvm.compiler.nodes.util.GraphUtil$1.<init>:(Ljava/util/Set;)V
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.trackNodeEvents:(Lorg/graalvm/compiler/graph/Graph$NodeEventListener;)Lorg/graalvm/compiler/graph/Graph$NodeEventScope;
astore 7
end local 8 10: StackMap locals:
StackMap stack:
iconst_5
aload 0
invokevirtual org.graalvm.compiler.nodes.FixedNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
ldc "Before killCFG %s"
aload 0
invokestatic org.graalvm.compiler.debug.Debug.dump:(ILjava/lang/Object;Ljava/lang/String;Ljava/lang/Object;)V
11: aload 0
aload 1
aconst_null
invokestatic org.graalvm.compiler.nodes.util.GraphUtil.killCFG:(Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/spi/SimplifierTool;Lorg/graalvm/compiler/graph/NodeWorkList;)Lorg/graalvm/compiler/graph/NodeWorkList;
astore 8
start local 8 12: aload 8
ifnull 17
13: aload 8
invokevirtual org.graalvm.compiler.graph.NodeWorkList.iterator:()Ljava/util/Iterator;
astore 10
goto 16
StackMap locals: org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.graph.spi.SimplifierTool java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Debug$Scope java.util.Set java.util.Set org.graalvm.compiler.graph.Graph$NodeEventScope org.graalvm.compiler.graph.NodeWorkList top java.util.Iterator
StackMap stack:
14: aload 10
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.graph.Node
astore 9
start local 9 15: aload 9
aload 1
aload 8
invokestatic org.graalvm.compiler.nodes.util.GraphUtil.killCFG:(Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/spi/SimplifierTool;Lorg/graalvm/compiler/graph/NodeWorkList;)Lorg/graalvm/compiler/graph/NodeWorkList;
pop
end local 9 16: StackMap locals:
StackMap stack:
aload 10
invokeinterface java.util.Iterator.hasNext:()Z
ifne 14
17: StackMap locals: org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.graph.spi.SimplifierTool java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Debug$Scope java.util.Set java.util.Set org.graalvm.compiler.graph.Graph$NodeEventScope org.graalvm.compiler.graph.NodeWorkList
StackMap stack:
getstatic org.graalvm.compiler.graph.Graph$Options.VerifyGraalGraphEdges:Lorg/graalvm/compiler/options/OptionValue;
invokevirtual org.graalvm.compiler.options.OptionValue.getValue:()Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
ifeq 21
18: aload 0
invokevirtual org.graalvm.compiler.nodes.FixedNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
invokestatic org.graalvm.compiler.nodes.util.GraphUtil.collectUnsafeNodes:(Lorg/graalvm/compiler/graph/Graph;)Ljava/util/Set;
astore 9
start local 9 19: aload 9
aload 6
invokeinterface java.util.Set.removeAll:(Ljava/util/Collection;)Z
pop
20: getstatic org.graalvm.compiler.nodes.util.GraphUtil.$assertionsDisabled:Z
ifne 21
aload 9
invokeinterface java.util.Set.isEmpty:()Z
ifne 21
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
ldc "New unsafe nodes: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 9
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
end local 9 21: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.nodes.util.GraphUtil$Options.VerifyKillCFGUnusedNodes:Lorg/graalvm/compiler/options/OptionValue;
invokevirtual org.graalvm.compiler.options.OptionValue.getValue:()Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
ifeq 25
22: aload 7
invokevirtual org.graalvm.compiler.graph.Graph$NodeEventScope.close:()V
23: aload 5
invokedynamic test()Ljava/util/function/Predicate;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Z
org/graalvm/compiler/nodes/util/GraphUtil.lambda$0(Lorg/graalvm/compiler/graph/Node;)Z (6)
(Lorg/graalvm/compiler/graph/Node;)Z
invokeinterface java.util.Set.removeIf:(Ljava/util/function/Predicate;)Z
pop
24: getstatic org.graalvm.compiler.nodes.util.GraphUtil.$assertionsDisabled:Z
ifne 25
aload 5
invokeinterface java.util.Set.isEmpty:()Z
ifne 25
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
ldc "New unused nodes: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 5
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
end local 8 end local 7 end local 6 end local 5 25: StackMap locals: org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.graph.spi.SimplifierTool java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Debug$Scope
StackMap stack:
aload 4
ifnull 33
aload 4
invokeinterface org.graalvm.compiler.debug.Debug$Scope.close:()V
goto 33
StackMap locals:
StackMap stack: java.lang.Throwable
26: astore 2
aload 4
ifnull 27
aload 4
invokeinterface org.graalvm.compiler.debug.Debug$Scope.close:()V
end local 4 StackMap locals:
StackMap stack:
27: aload 2
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
28: astore 3
aload 2
ifnonnull 29
aload 3
astore 2
goto 30
StackMap locals:
StackMap stack:
29: aload 2
aload 3
if_acmpeq 30
aload 2
aload 3
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
30: aload 2
athrow
StackMap locals: org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.graph.spi.SimplifierTool
StackMap stack: java.lang.Throwable
31: astore 2
start local 2 32: aload 2
invokestatic org.graalvm.compiler.debug.Debug.handle:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
athrow
end local 2 33: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 34 0 node Lorg/graalvm/compiler/nodes/FixedNode;
0 34 1 tool Lorg/graalvm/compiler/graph/spi/SimplifierTool;
2 27 4 scope Lorg/graalvm/compiler/debug/Debug$Scope;
3 25 5 unusedNodes Ljava/util/Set<Lorg/graalvm/compiler/graph/Node;>;
4 25 6 unsafeNodes Ljava/util/Set<Lorg/graalvm/compiler/graph/Node;>;
5 25 7 nodeEventScope Lorg/graalvm/compiler/graph/Graph$NodeEventScope;
9 10 8 collectedUnusedNodes Ljava/util/Set<Lorg/graalvm/compiler/graph/Node;>;
12 25 8 worklist Lorg/graalvm/compiler/graph/NodeWorkList;
15 16 9 n Lorg/graalvm/compiler/graph/Node;
19 21 9 newUnsafeNodes Ljava/util/Set<Lorg/graalvm/compiler/graph/Node;>;
32 33 2 t Ljava/lang/Throwable;
Exception table:
from to target type
2 25 26 any
1 28 28 any
0 31 31 Class java.lang.Throwable
MethodParameters:
Name Flags
node
tool
private static java.util.Set<org.graalvm.compiler.graph.Node> collectUnsafeNodes(org.graalvm.compiler.graph.Graph);
descriptor: (Lorg/graalvm/compiler/graph/Graph;)Ljava/util/Set;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=7, args_size=1
start local 0 0: invokestatic org.graalvm.compiler.core.common.CollectionsFactory.newSet:()Ljava/util/Set;
astore 1
start local 1 1: aload 0
invokevirtual org.graalvm.compiler.graph.Graph.getNodes:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.iterator:()Ljava/util/Iterator;
astore 3
goto 10
StackMap locals: org.graalvm.compiler.graph.Graph java.util.Set top java.util.Iterator
StackMap stack:
2: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.graph.Node
astore 2
start local 2 3: aload 2
invokevirtual org.graalvm.compiler.graph.Node.inputPositions:()Ljava/lang/Iterable;
invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
astore 5
goto 9
StackMap locals: org.graalvm.compiler.graph.Graph java.util.Set org.graalvm.compiler.graph.Node java.util.Iterator top java.util.Iterator
StackMap stack:
4: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.graph.Position
astore 4
start local 4 5: aload 4
aload 2
invokevirtual org.graalvm.compiler.graph.Position.get:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
astore 6
start local 6 6: aload 6
ifnonnull 9
7: aload 4
invokevirtual org.graalvm.compiler.graph.Position.isInputOptional:()Z
ifne 9
8: aload 1
aload 2
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
end local 6 end local 4 9: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 4
end local 2 10: StackMap locals: org.graalvm.compiler.graph.Graph java.util.Set top java.util.Iterator
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
11: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 graph Lorg/graalvm/compiler/graph/Graph;
1 12 1 unsafeNodes Ljava/util/Set<Lorg/graalvm/compiler/graph/Node;>;
3 10 2 n Lorg/graalvm/compiler/graph/Node;
5 9 4 pos Lorg/graalvm/compiler/graph/Position;
6 9 6 input Lorg/graalvm/compiler/graph/Node;
Signature: (Lorg/graalvm/compiler/graph/Graph;)Ljava/util/Set<Lorg/graalvm/compiler/graph/Node;>;
MethodParameters:
Name Flags
graph
private static org.graalvm.compiler.graph.NodeWorkList killCFG(org.graalvm.compiler.graph.Node, org.graalvm.compiler.graph.spi.SimplifierTool, org.graalvm.compiler.graph.NodeWorkList);
descriptor: (Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/spi/SimplifierTool;Lorg/graalvm/compiler/graph/NodeWorkList;)Lorg/graalvm/compiler/graph/NodeWorkList;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 2
astore 3
start local 3 1: aload 0
instanceof org.graalvm.compiler.nodes.FixedNode
ifeq 4
2: aload 0
checkcast org.graalvm.compiler.nodes.FixedNode
aload 3
aload 1
invokestatic org.graalvm.compiler.nodes.util.GraphUtil.killCFGLinear:(Lorg/graalvm/compiler/nodes/FixedNode;Lorg/graalvm/compiler/graph/NodeWorkList;Lorg/graalvm/compiler/graph/spi/SimplifierTool;)Lorg/graalvm/compiler/graph/NodeWorkList;
astore 3
3: goto 6
4: StackMap locals: org.graalvm.compiler.graph.NodeWorkList
StackMap stack:
aload 0
aload 3
invokestatic org.graalvm.compiler.nodes.util.GraphUtil.propagateKill:(Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/NodeWorkList;)Lorg/graalvm/compiler/graph/NodeWorkList;
astore 3
5: iconst_5
aload 0
invokevirtual org.graalvm.compiler.graph.Node.graph:()Lorg/graalvm/compiler/graph/Graph;
ldc "killCFG (Floating) %s"
aload 0
invokestatic org.graalvm.compiler.debug.Debug.dump:(ILjava/lang/Object;Ljava/lang/String;Ljava/lang/Object;)V
6: StackMap locals:
StackMap stack:
aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 node Lorg/graalvm/compiler/graph/Node;
0 7 1 tool Lorg/graalvm/compiler/graph/spi/SimplifierTool;
0 7 2 worklist Lorg/graalvm/compiler/graph/NodeWorkList;
1 7 3 newWorklist Lorg/graalvm/compiler/graph/NodeWorkList;
MethodParameters:
Name Flags
node
tool
worklist
private static org.graalvm.compiler.graph.NodeWorkList killCFGLinear(org.graalvm.compiler.nodes.FixedNode, org.graalvm.compiler.graph.NodeWorkList, org.graalvm.compiler.graph.spi.SimplifierTool);
descriptor: (Lorg/graalvm/compiler/nodes/FixedNode;Lorg/graalvm/compiler/graph/NodeWorkList;Lorg/graalvm/compiler/graph/spi/SimplifierTool;)Lorg/graalvm/compiler/graph/NodeWorkList;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=11, args_size=3
start local 0 start local 1 start local 2 0: aload 1
astore 3
start local 3 1: aload 0
astore 4
start local 4 2: goto 34
3: StackMap locals: org.graalvm.compiler.graph.NodeWorkList org.graalvm.compiler.nodes.FixedNode
StackMap stack:
aconst_null
astore 5
start local 5 4: getstatic org.graalvm.compiler.nodes.util.GraphUtil.$assertionsDisabled:Z
ifne 5
aload 4
invokevirtual org.graalvm.compiler.nodes.FixedNode.isAlive:()Z
ifne 5
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
5: StackMap locals: org.graalvm.compiler.nodes.FixedNode
StackMap stack:
aload 4
instanceof org.graalvm.compiler.nodes.AbstractEndNode
ifeq 9
6: aload 4
checkcast org.graalvm.compiler.nodes.AbstractEndNode
astore 6
start local 6 7: aload 6
aload 3
aload 2
invokestatic org.graalvm.compiler.nodes.util.GraphUtil.killEnd:(Lorg/graalvm/compiler/nodes/AbstractEndNode;Lorg/graalvm/compiler/graph/NodeWorkList;Lorg/graalvm/compiler/graph/spi/SimplifierTool;)Lorg/graalvm/compiler/graph/NodeWorkList;
astore 3
end local 6 8: goto 30
StackMap locals:
StackMap stack:
9: aload 4
instanceof org.graalvm.compiler.nodes.FixedWithNextNode
ifeq 15
10: aload 4
checkcast org.graalvm.compiler.nodes.FixedWithNextNode
astore 6
start local 6 11: getstatic org.graalvm.compiler.nodes.util.GraphUtil.$assertionsDisabled:Z
ifne 12
aload 6
invokevirtual org.graalvm.compiler.nodes.FixedWithNextNode.successors:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.count:()I
iconst_1
if_icmpeq 12
aload 6
invokevirtual org.graalvm.compiler.nodes.FixedWithNextNode.successors:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.count:()I
ifeq 12
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
12: StackMap locals: org.graalvm.compiler.nodes.FixedWithNextNode
StackMap stack:
getstatic org.graalvm.compiler.nodes.util.GraphUtil.$assertionsDisabled:Z
ifne 13
aload 6
invokevirtual org.graalvm.compiler.nodes.FixedWithNextNode.successors:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.first:()Lorg/graalvm/compiler/graph/Node;
aload 6
invokevirtual org.graalvm.compiler.nodes.FixedWithNextNode.next:()Lorg/graalvm/compiler/nodes/FixedNode;
if_acmpeq 13
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
13: StackMap locals:
StackMap stack:
aload 6
invokevirtual org.graalvm.compiler.nodes.FixedWithNextNode.next:()Lorg/graalvm/compiler/nodes/FixedNode;
astore 5
end local 6 14: goto 30
15: StackMap locals:
StackMap stack:
aload 4
invokevirtual org.graalvm.compiler.nodes.FixedNode.successors:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.iterator:()Ljava/util/Iterator;
astore 6
start local 6 16: aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifeq 30
17: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.graph.Node
astore 7
start local 7 18: aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 21
19: aload 7
checkcast org.graalvm.compiler.nodes.FixedNode
astore 5
20: goto 30
21: StackMap locals: java.util.Iterator org.graalvm.compiler.graph.Node
StackMap stack:
aload 3
ifnonnull 23
22: aload 0
invokevirtual org.graalvm.compiler.nodes.FixedNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.createNodeWorkList:()Lorg/graalvm/compiler/graph/NodeWorkList;
astore 3
23: StackMap locals:
StackMap stack:
aload 4
invokevirtual org.graalvm.compiler.nodes.FixedNode.successors:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.iterator:()Ljava/util/Iterator;
astore 9
goto 29
StackMap locals: org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.graph.NodeWorkList org.graalvm.compiler.graph.spi.SimplifierTool org.graalvm.compiler.graph.NodeWorkList org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.FixedNode java.util.Iterator org.graalvm.compiler.graph.Node top java.util.Iterator
StackMap stack:
24: aload 9
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.graph.Node
astore 8
start local 8 25: aload 3
aload 8
invokevirtual org.graalvm.compiler.graph.NodeWorkList.add:(Lorg/graalvm/compiler/graph/Node;)V
26: aload 8
instanceof org.graalvm.compiler.nodes.LoopExitNode
ifeq 29
27: aload 8
checkcast org.graalvm.compiler.nodes.LoopExitNode
astore 10
start local 10 28: aload 10
aload 10
invokevirtual org.graalvm.compiler.nodes.LoopExitNode.loopBegin:()Lorg/graalvm/compiler/nodes/LoopBeginNode;
aconst_null
invokevirtual org.graalvm.compiler.nodes.LoopExitNode.replaceFirstInput:(Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;)V
end local 10 end local 8 29: StackMap locals:
StackMap stack:
aload 9
invokeinterface java.util.Iterator.hasNext:()Z
ifne 24
end local 7 end local 6 30: StackMap locals: org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.graph.NodeWorkList org.graalvm.compiler.graph.spi.SimplifierTool org.graalvm.compiler.graph.NodeWorkList org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.FixedNode
StackMap stack:
aload 4
aconst_null
invokevirtual org.graalvm.compiler.nodes.FixedNode.replaceAtPredecessor:(Lorg/graalvm/compiler/graph/Node;)V
31: aload 4
aload 3
invokestatic org.graalvm.compiler.nodes.util.GraphUtil.propagateKill:(Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/NodeWorkList;)Lorg/graalvm/compiler/graph/NodeWorkList;
astore 3
32: iconst_5
aload 4
invokevirtual org.graalvm.compiler.nodes.FixedNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
ldc "killCFGLinear %s"
aload 4
invokestatic org.graalvm.compiler.debug.Debug.dump:(ILjava/lang/Object;Ljava/lang/String;Ljava/lang/Object;)V
33: aload 5
astore 4
end local 5 34: StackMap locals:
StackMap stack:
aload 4
ifnonnull 3
35: iconst_4
aload 0
invokevirtual org.graalvm.compiler.nodes.FixedNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
ldc "killCFGLinear %s"
aload 0
invokestatic org.graalvm.compiler.debug.Debug.dump:(ILjava/lang/Object;Ljava/lang/String;Ljava/lang/Object;)V
36: aload 3
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 37 0 in Lorg/graalvm/compiler/nodes/FixedNode;
0 37 1 worklist Lorg/graalvm/compiler/graph/NodeWorkList;
0 37 2 tool Lorg/graalvm/compiler/graph/spi/SimplifierTool;
1 37 3 newWorklist Lorg/graalvm/compiler/graph/NodeWorkList;
2 37 4 current Lorg/graalvm/compiler/nodes/FixedNode;
4 34 5 next Lorg/graalvm/compiler/nodes/FixedNode;
7 8 6 end Lorg/graalvm/compiler/nodes/AbstractEndNode;
11 14 6 fixedWithNext Lorg/graalvm/compiler/nodes/FixedWithNextNode;
16 30 6 successors Ljava/util/Iterator<Lorg/graalvm/compiler/graph/Node;>;
18 30 7 first Lorg/graalvm/compiler/graph/Node;
25 29 8 successor Lorg/graalvm/compiler/graph/Node;
28 29 10 exit Lorg/graalvm/compiler/nodes/LoopExitNode;
MethodParameters:
Name Flags
in
worklist
tool
public static void killCFG(org.graalvm.compiler.nodes.FixedNode);
descriptor: (Lorg/graalvm/compiler/nodes/FixedNode;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
aconst_null
invokestatic org.graalvm.compiler.nodes.util.GraphUtil.killCFG:(Lorg/graalvm/compiler/nodes/FixedNode;Lorg/graalvm/compiler/graph/spi/SimplifierTool;)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 node Lorg/graalvm/compiler/nodes/FixedNode;
MethodParameters:
Name Flags
node
private static org.graalvm.compiler.graph.NodeWorkList killEnd(org.graalvm.compiler.nodes.AbstractEndNode, org.graalvm.compiler.graph.NodeWorkList, org.graalvm.compiler.graph.spi.SimplifierTool);
descriptor: (Lorg/graalvm/compiler/nodes/AbstractEndNode;Lorg/graalvm/compiler/graph/NodeWorkList;Lorg/graalvm/compiler/graph/spi/SimplifierTool;)Lorg/graalvm/compiler/graph/NodeWorkList;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=12, args_size=3
start local 0 start local 1 start local 2 0: aload 1
astore 3
start local 3 1: aload 0
invokevirtual org.graalvm.compiler.nodes.AbstractEndNode.merge:()Lorg/graalvm/compiler/nodes/AbstractMergeNode;
astore 4
start local 4 2: aload 4
ifnull 64
3: aload 4
aload 0
invokevirtual org.graalvm.compiler.nodes.AbstractMergeNode.removeEnd:(Lorg/graalvm/compiler/nodes/AbstractEndNode;)V
4: aload 0
invokevirtual org.graalvm.compiler.nodes.AbstractEndNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
astore 5
start local 5 5: aload 4
instanceof org.graalvm.compiler.nodes.LoopBeginNode
ifeq 49
aload 4
invokevirtual org.graalvm.compiler.nodes.AbstractMergeNode.forwardEndCount:()I
ifne 49
6: aload 4
checkcast org.graalvm.compiler.nodes.LoopBeginNode
astore 6
start local 6 7: aload 6
invokevirtual org.graalvm.compiler.nodes.LoopBeginNode.loopEnds:()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 8
goto 11
StackMap locals: org.graalvm.compiler.nodes.AbstractEndNode org.graalvm.compiler.graph.NodeWorkList org.graalvm.compiler.graph.spi.SimplifierTool org.graalvm.compiler.graph.NodeWorkList org.graalvm.compiler.nodes.AbstractMergeNode org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.nodes.LoopBeginNode top java.util.Iterator
StackMap stack:
8: aload 8
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.LoopEndNode
astore 7
start local 7 9: aload 7
invokevirtual org.graalvm.compiler.nodes.LoopEndNode.predecessor:()Lorg/graalvm/compiler/graph/Node;
aload 7
aconst_null
invokevirtual org.graalvm.compiler.graph.Node.replaceFirstSuccessor:(Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;)V
10: aload 7
invokevirtual org.graalvm.compiler.nodes.LoopEndNode.safeDelete:()V
end local 7 11: StackMap locals:
StackMap stack:
aload 8
invokeinterface java.util.Iterator.hasNext:()Z
ifne 8
12: aload 6
invokevirtual org.graalvm.compiler.nodes.LoopBeginNode.loopExits:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.iterator:()Ljava/util/Iterator;
astore 8
goto 18
StackMap locals:
StackMap stack:
13: aload 8
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.LoopExitNode
astore 7
start local 7 14: aload 7
invokevirtual org.graalvm.compiler.nodes.LoopExitNode.proxies:()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 10
goto 17
StackMap locals: org.graalvm.compiler.nodes.AbstractEndNode org.graalvm.compiler.graph.NodeWorkList org.graalvm.compiler.graph.spi.SimplifierTool org.graalvm.compiler.graph.NodeWorkList org.graalvm.compiler.nodes.AbstractMergeNode org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.nodes.LoopBeginNode org.graalvm.compiler.nodes.LoopExitNode java.util.Iterator top java.util.Iterator
StackMap stack:
15: aload 10
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.ProxyNode
astore 9
start local 9 16: aload 9
invokestatic org.graalvm.compiler.nodes.util.GraphUtil.tryKillUnused:(Lorg/graalvm/compiler/graph/Node;)Z
pop
end local 9 17: StackMap locals:
StackMap stack:
aload 10
invokeinterface java.util.Iterator.hasNext:()Z
ifne 15
end local 7 18: StackMap locals: org.graalvm.compiler.nodes.AbstractEndNode org.graalvm.compiler.graph.NodeWorkList org.graalvm.compiler.graph.spi.SimplifierTool org.graalvm.compiler.graph.NodeWorkList org.graalvm.compiler.nodes.AbstractMergeNode org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.nodes.LoopBeginNode top java.util.Iterator
StackMap stack:
aload 8
invokeinterface java.util.Iterator.hasNext:()Z
ifne 13
19: aload 6
invokevirtual org.graalvm.compiler.nodes.LoopBeginNode.removeExits:()V
20: aconst_null
astore 7
start local 7 21: aload 4
invokevirtual org.graalvm.compiler.nodes.AbstractMergeNode.phis:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.isNotEmpty:()Z
ifeq 31
22: aload 5
new org.graalvm.compiler.nodes.util.GraphUtil$PoisonNode
dup
invokespecial org.graalvm.compiler.nodes.util.GraphUtil$PoisonNode.<init>:()V
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.unique:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.util.GraphUtil$PoisonNode
astore 7
23: aload 4
invokevirtual org.graalvm.compiler.nodes.AbstractMergeNode.phis:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.iterator:()Ljava/util/Iterator;
astore 9
goto 26
StackMap locals: org.graalvm.compiler.nodes.AbstractEndNode org.graalvm.compiler.graph.NodeWorkList org.graalvm.compiler.graph.spi.SimplifierTool org.graalvm.compiler.graph.NodeWorkList org.graalvm.compiler.nodes.AbstractMergeNode org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.nodes.LoopBeginNode org.graalvm.compiler.nodes.util.GraphUtil$PoisonNode top java.util.Iterator
StackMap stack:
24: aload 9
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.PhiNode
astore 8
start local 8 25: aload 8
aload 7
invokevirtual org.graalvm.compiler.nodes.PhiNode.replaceAtUsages:(Lorg/graalvm/compiler/graph/Node;)V
end local 8 26: StackMap locals:
StackMap stack:
aload 9
invokeinterface java.util.Iterator.hasNext:()Z
ifne 24
27: aload 4
invokevirtual org.graalvm.compiler.nodes.AbstractMergeNode.phis:()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 9
goto 30
StackMap locals:
StackMap stack:
28: aload 9
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.PhiNode
astore 8
start local 8 29: aload 8
invokestatic org.graalvm.compiler.nodes.util.GraphUtil.killWithUnusedFloatingInputs:(Lorg/graalvm/compiler/graph/Node;)V
end local 8 30: StackMap locals:
StackMap stack:
aload 9
invokeinterface java.util.Iterator.hasNext:()Z
ifne 28
31: StackMap locals: org.graalvm.compiler.nodes.AbstractEndNode org.graalvm.compiler.graph.NodeWorkList org.graalvm.compiler.graph.spi.SimplifierTool org.graalvm.compiler.graph.NodeWorkList org.graalvm.compiler.nodes.AbstractMergeNode org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.nodes.LoopBeginNode org.graalvm.compiler.nodes.util.GraphUtil$PoisonNode
StackMap stack:
aload 6
invokevirtual org.graalvm.compiler.nodes.LoopBeginNode.next:()Lorg/graalvm/compiler/nodes/FixedNode;
astore 8
start local 8 32: iconst_5
aload 0
invokevirtual org.graalvm.compiler.nodes.AbstractEndNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
ldc "killEnd (Loop) %s after initial loop cleanup"
aload 0
invokestatic org.graalvm.compiler.debug.Debug.dump:(ILjava/lang/Object;Ljava/lang/String;Ljava/lang/Object;)V
33: aload 8
ifnull 35
34: aload 8
aload 2
aload 1
invokestatic org.graalvm.compiler.nodes.util.GraphUtil.killCFG:(Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/spi/SimplifierTool;Lorg/graalvm/compiler/graph/NodeWorkList;)Lorg/graalvm/compiler/graph/NodeWorkList;
astore 3
35: StackMap locals: org.graalvm.compiler.nodes.FixedNode
StackMap stack:
aload 6
invokevirtual org.graalvm.compiler.nodes.LoopBeginNode.stateAfter:()Lorg/graalvm/compiler/nodes/FrameState;
astore 9
start local 9 36: aload 6
invokevirtual org.graalvm.compiler.nodes.LoopBeginNode.safeDelete:()V
37: aload 9
ifnull 39
38: aload 9
invokestatic org.graalvm.compiler.nodes.util.GraphUtil.tryKillUnused:(Lorg/graalvm/compiler/graph/Node;)Z
pop
39: StackMap locals: org.graalvm.compiler.nodes.FrameState
StackMap stack:
aload 7
ifnull 64
aload 7
invokevirtual org.graalvm.compiler.nodes.util.GraphUtil$PoisonNode.isAlive:()Z
ifeq 64
40: aload 3
ifnonnull 42
41: aload 5
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.createNodeWorkList:()Lorg/graalvm/compiler/graph/NodeWorkList;
astore 3
42: StackMap locals:
StackMap stack:
aload 3
invokevirtual org.graalvm.compiler.graph.NodeWorkList.iterator:()Ljava/util/Iterator;
astore 11
goto 45
StackMap locals: org.graalvm.compiler.nodes.AbstractEndNode org.graalvm.compiler.graph.NodeWorkList org.graalvm.compiler.graph.spi.SimplifierTool org.graalvm.compiler.graph.NodeWorkList org.graalvm.compiler.nodes.AbstractMergeNode org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.nodes.LoopBeginNode org.graalvm.compiler.nodes.util.GraphUtil$PoisonNode org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.FrameState top java.util.Iterator
StackMap stack:
43: aload 11
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.graph.Node
astore 10
start local 10 44: aload 10
aload 2
aload 3
invokestatic org.graalvm.compiler.nodes.util.GraphUtil.killCFG:(Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/spi/SimplifierTool;Lorg/graalvm/compiler/graph/NodeWorkList;)Lorg/graalvm/compiler/graph/NodeWorkList;
pop
end local 10 45: StackMap locals:
StackMap stack:
aload 11
invokeinterface java.util.Iterator.hasNext:()Z
ifne 43
46: aload 7
invokevirtual org.graalvm.compiler.nodes.util.GraphUtil$PoisonNode.isAlive:()Z
ifeq 64
47: aload 3
aload 7
invokevirtual org.graalvm.compiler.graph.NodeWorkList.add:(Lorg/graalvm/compiler/graph/Node;)V
end local 9 end local 8 end local 7 end local 6 48: goto 64
StackMap locals: org.graalvm.compiler.nodes.AbstractEndNode org.graalvm.compiler.graph.NodeWorkList org.graalvm.compiler.graph.spi.SimplifierTool org.graalvm.compiler.graph.NodeWorkList org.graalvm.compiler.nodes.AbstractMergeNode org.graalvm.compiler.nodes.StructuredGraph
StackMap stack:
49: aload 4
instanceof org.graalvm.compiler.nodes.LoopBeginNode
ifeq 57
aload 4
checkcast org.graalvm.compiler.nodes.LoopBeginNode
invokevirtual org.graalvm.compiler.nodes.LoopBeginNode.loopEnds:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.isEmpty:()Z
ifeq 57
50: aload 2
ifnull 55
51: aload 4
invokevirtual org.graalvm.compiler.nodes.AbstractMergeNode.phis:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.iterator:()Ljava/util/Iterator;
astore 7
goto 54
StackMap locals: org.graalvm.compiler.nodes.AbstractEndNode org.graalvm.compiler.graph.NodeWorkList org.graalvm.compiler.graph.spi.SimplifierTool org.graalvm.compiler.graph.NodeWorkList org.graalvm.compiler.nodes.AbstractMergeNode org.graalvm.compiler.nodes.StructuredGraph top java.util.Iterator
StackMap stack:
52: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.PhiNode
astore 6
start local 6 53: aload 2
aload 6
invokevirtual org.graalvm.compiler.nodes.PhiNode.usages:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
invokeinterface org.graalvm.compiler.graph.spi.SimplifierTool.addToWorkList:(Ljava/lang/Iterable;)V
end local 6 54: StackMap locals:
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 52
55: StackMap locals: org.graalvm.compiler.nodes.AbstractEndNode org.graalvm.compiler.graph.NodeWorkList org.graalvm.compiler.graph.spi.SimplifierTool org.graalvm.compiler.graph.NodeWorkList org.graalvm.compiler.nodes.AbstractMergeNode org.graalvm.compiler.nodes.StructuredGraph
StackMap stack:
aload 5
aload 4
checkcast org.graalvm.compiler.nodes.LoopBeginNode
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.reduceDegenerateLoopBegin:(Lorg/graalvm/compiler/nodes/LoopBeginNode;)V
56: goto 64
StackMap locals:
StackMap stack:
57: aload 4
invokevirtual org.graalvm.compiler.nodes.AbstractMergeNode.phiPredecessorCount:()I
iconst_1
if_icmpne 64
58: aload 2
ifnull 63
59: aload 4
invokevirtual org.graalvm.compiler.nodes.AbstractMergeNode.phis:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.iterator:()Ljava/util/Iterator;
astore 7
goto 62
StackMap locals: org.graalvm.compiler.nodes.AbstractEndNode org.graalvm.compiler.graph.NodeWorkList org.graalvm.compiler.graph.spi.SimplifierTool org.graalvm.compiler.graph.NodeWorkList org.graalvm.compiler.nodes.AbstractMergeNode org.graalvm.compiler.nodes.StructuredGraph top java.util.Iterator
StackMap stack:
60: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.PhiNode
astore 6
start local 6 61: aload 2
aload 6
invokevirtual org.graalvm.compiler.nodes.PhiNode.usages:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
invokeinterface org.graalvm.compiler.graph.spi.SimplifierTool.addToWorkList:(Ljava/lang/Iterable;)V
end local 6 62: StackMap locals:
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 60
63: StackMap locals: org.graalvm.compiler.nodes.AbstractEndNode org.graalvm.compiler.graph.NodeWorkList org.graalvm.compiler.graph.spi.SimplifierTool org.graalvm.compiler.graph.NodeWorkList org.graalvm.compiler.nodes.AbstractMergeNode org.graalvm.compiler.nodes.StructuredGraph
StackMap stack:
aload 5
aload 4
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.reduceTrivialMerge:(Lorg/graalvm/compiler/nodes/AbstractMergeNode;)V
end local 5 64: StackMap locals:
StackMap stack:
aload 3
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 65 0 end Lorg/graalvm/compiler/nodes/AbstractEndNode;
0 65 1 worklist Lorg/graalvm/compiler/graph/NodeWorkList;
0 65 2 tool Lorg/graalvm/compiler/graph/spi/SimplifierTool;
1 65 3 newWorklist Lorg/graalvm/compiler/graph/NodeWorkList;
2 65 4 merge Lorg/graalvm/compiler/nodes/AbstractMergeNode;
5 64 5 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
7 48 6 begin Lorg/graalvm/compiler/nodes/LoopBeginNode;
9 11 7 loopend Lorg/graalvm/compiler/nodes/LoopEndNode;
14 18 7 exit Lorg/graalvm/compiler/nodes/LoopExitNode;
16 17 9 vpn Lorg/graalvm/compiler/nodes/ProxyNode;
21 48 7 poison Lorg/graalvm/compiler/nodes/util/GraphUtil$PoisonNode;
25 26 8 phi Lorg/graalvm/compiler/nodes/PhiNode;
29 30 8 phi Lorg/graalvm/compiler/nodes/PhiNode;
32 48 8 loopBody Lorg/graalvm/compiler/nodes/FixedNode;
36 48 9 frameState Lorg/graalvm/compiler/nodes/FrameState;
44 45 10 n Lorg/graalvm/compiler/graph/Node;
53 54 6 phi Lorg/graalvm/compiler/nodes/PhiNode;
61 62 6 phi Lorg/graalvm/compiler/nodes/PhiNode;
MethodParameters:
Name Flags
end
worklist
tool
public static boolean isFloatingNode(org.graalvm.compiler.graph.Node);
descriptor: (Lorg/graalvm/compiler/graph/Node;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
instanceof org.graalvm.compiler.nodes.FixedNode
ifeq 1
iconst_0
goto 2
StackMap locals:
StackMap stack:
1: iconst_1
StackMap locals:
StackMap stack: int
2: ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 n Lorg/graalvm/compiler/graph/Node;
MethodParameters:
Name Flags
n
private static org.graalvm.compiler.graph.NodeWorkList propagateKill(org.graalvm.compiler.graph.Node, org.graalvm.compiler.graph.NodeWorkList);
descriptor: (Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/NodeWorkList;)Lorg/graalvm/compiler/graph/NodeWorkList;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=7, args_size=2
start local 0 start local 1 0: aload 1
astore 2
start local 2 1: aload 0
ifnull 22
aload 0
invokevirtual org.graalvm.compiler.graph.Node.isAlive:()Z
ifeq 22
2: aload 0
invokevirtual org.graalvm.compiler.graph.Node.usages:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.snapshot:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 4
goto 20
StackMap locals: org.graalvm.compiler.graph.Node org.graalvm.compiler.graph.NodeWorkList org.graalvm.compiler.graph.NodeWorkList top java.util.Iterator
StackMap stack:
3: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.graph.Node
astore 3
start local 3 4: getstatic org.graalvm.compiler.nodes.util.GraphUtil.$assertionsDisabled:Z
ifne 5
aload 3
invokevirtual org.graalvm.compiler.graph.Node.isAlive:()Z
ifne 5
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
5: StackMap locals: org.graalvm.compiler.graph.Node org.graalvm.compiler.graph.NodeWorkList org.graalvm.compiler.graph.NodeWorkList org.graalvm.compiler.graph.Node java.util.Iterator
StackMap stack:
aload 3
invokestatic org.graalvm.compiler.nodes.util.GraphUtil.isFloatingNode:(Lorg/graalvm/compiler/graph/Node;)Z
ifeq 19
6: iconst_0
istore 5
start local 5 7: aload 3
instanceof org.graalvm.compiler.nodes.PhiNode
ifeq 14
8: aload 3
checkcast org.graalvm.compiler.nodes.PhiNode
astore 6
start local 6 9: getstatic org.graalvm.compiler.nodes.util.GraphUtil.$assertionsDisabled:Z
ifne 10
aload 6
invokevirtual org.graalvm.compiler.nodes.PhiNode.merge:()Lorg/graalvm/compiler/nodes/AbstractMergeNode;
ifnonnull 10
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
10: StackMap locals: int org.graalvm.compiler.nodes.PhiNode
StackMap stack:
aload 6
invokevirtual org.graalvm.compiler.nodes.PhiNode.merge:()Lorg/graalvm/compiler/nodes/AbstractMergeNode;
aload 0
if_acmpne 13
11: iconst_1
istore 5
12: goto 15
13: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.nodes.util.GraphUtil.$assertionsDisabled:Z
ifne 15
aload 6
invokevirtual org.graalvm.compiler.nodes.PhiNode.values:()Lorg/graalvm/compiler/graph/NodeInputList;
aload 0
invokevirtual org.graalvm.compiler.graph.NodeInputList.contains:(Ljava/lang/Object;)Z
ifne 15
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
end local 6 14: StackMap locals:
StackMap stack:
iconst_1
istore 5
15: StackMap locals:
StackMap stack:
iload 5
ifeq 19
16: aload 2
ifnonnull 18
17: aload 0
invokevirtual org.graalvm.compiler.graph.Node.graph:()Lorg/graalvm/compiler/graph/Graph;
invokevirtual org.graalvm.compiler.graph.Graph.createNodeWorkList:()Lorg/graalvm/compiler/graph/NodeWorkList;
astore 2
18: StackMap locals:
StackMap stack:
aload 2
aload 3
invokevirtual org.graalvm.compiler.graph.NodeWorkList.add:(Lorg/graalvm/compiler/graph/Node;)V
end local 5 19: StackMap locals:
StackMap stack:
aload 3
aload 0
aconst_null
invokevirtual org.graalvm.compiler.graph.Node.replaceFirstInput:(Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;)V
end local 3 20: StackMap locals: org.graalvm.compiler.graph.Node org.graalvm.compiler.graph.NodeWorkList org.graalvm.compiler.graph.NodeWorkList top java.util.Iterator
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
21: aload 0
invokestatic org.graalvm.compiler.nodes.util.GraphUtil.killWithUnusedFloatingInputs:(Lorg/graalvm/compiler/graph/Node;)V
22: StackMap locals: org.graalvm.compiler.graph.Node org.graalvm.compiler.graph.NodeWorkList org.graalvm.compiler.graph.NodeWorkList
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 node Lorg/graalvm/compiler/graph/Node;
0 23 1 workList Lorg/graalvm/compiler/graph/NodeWorkList;
1 23 2 newWorkList Lorg/graalvm/compiler/graph/NodeWorkList;
4 20 3 usage Lorg/graalvm/compiler/graph/Node;
7 19 5 addUsage Z
9 14 6 phi Lorg/graalvm/compiler/nodes/PhiNode;
MethodParameters:
Name Flags
node
workList
private static boolean checkKill(org.graalvm.compiler.graph.Node);
descriptor: (Lorg/graalvm/compiler/graph/Node;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=7, locals=1, args_size=1
start local 0 0: aload 0
aload 0
invokevirtual org.graalvm.compiler.graph.Node.isAlive:()Z
ldc "must be alive"
iconst_0
anewarray java.lang.Object
invokevirtual org.graalvm.compiler.graph.Node.assertTrue:(ZLjava/lang/String;[Ljava/lang/Object;)Z
pop
1: aload 0
aload 0
invokevirtual org.graalvm.compiler.graph.Node.hasNoUsages:()Z
ldc "cannot kill node %s because of usages: %s"
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 0
aastore
dup
iconst_1
aload 0
invokevirtual org.graalvm.compiler.graph.Node.usages:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
aastore
invokevirtual org.graalvm.compiler.graph.Node.assertTrue:(ZLjava/lang/String;[Ljava/lang/Object;)Z
pop
2: aload 0
aload 0
invokevirtual org.graalvm.compiler.graph.Node.predecessor:()Lorg/graalvm/compiler/graph/Node;
ifnonnull 3
iconst_1
goto 4
StackMap locals:
StackMap stack: org.graalvm.compiler.graph.Node
3: iconst_0
StackMap locals: org.graalvm.compiler.graph.Node
StackMap stack: org.graalvm.compiler.graph.Node int
4: ldc "cannot kill node %s because of predecessor: %s"
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 0
aastore
dup
iconst_1
aload 0
invokevirtual org.graalvm.compiler.graph.Node.predecessor:()Lorg/graalvm/compiler/graph/Node;
aastore
invokevirtual org.graalvm.compiler.graph.Node.assertTrue:(ZLjava/lang/String;[Ljava/lang/Object;)Z
pop
5: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 node Lorg/graalvm/compiler/graph/Node;
MethodParameters:
Name Flags
node
public static void killWithUnusedFloatingInputs(org.graalvm.compiler.graph.Node);
descriptor: (Lorg/graalvm/compiler/graph/Node;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=5, args_size=1
start local 0 0: getstatic org.graalvm.compiler.nodes.util.GraphUtil.$assertionsDisabled:Z
ifne 1
aload 0
invokestatic org.graalvm.compiler.nodes.util.GraphUtil.checkKill:(Lorg/graalvm/compiler/graph/Node;)Z
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.graalvm.compiler.graph.Node.markDeleted:()V
2: aload 0
invokevirtual org.graalvm.compiler.graph.Node.inputs:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.iterator:()Ljava/util/Iterator;
astore 2
goto 20
StackMap locals: org.graalvm.compiler.graph.Node top java.util.Iterator
StackMap stack:
3: aload 2
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.graph.Node
astore 1
start local 1 4: aload 1
invokevirtual org.graalvm.compiler.graph.Node.isAlive:()Z
ifeq 20
5: aload 1
aload 0
invokevirtual org.graalvm.compiler.graph.Node.removeUsage:(Lorg/graalvm/compiler/graph/Node;)Z
pop
6: aload 1
invokevirtual org.graalvm.compiler.graph.Node.hasNoUsages:()Z
ifeq 8
7: aload 0
aload 1
invokevirtual org.graalvm.compiler.graph.Node.maybeNotifyZeroUsages:(Lorg/graalvm/compiler/graph/Node;)V
8: StackMap locals: org.graalvm.compiler.graph.Node org.graalvm.compiler.graph.Node java.util.Iterator
StackMap stack:
aload 1
invokestatic org.graalvm.compiler.nodes.util.GraphUtil.isFloatingNode:(Lorg/graalvm/compiler/graph/Node;)Z
ifeq 20
9: aload 1
invokevirtual org.graalvm.compiler.graph.Node.hasNoUsages:()Z
ifeq 12
10: aload 1
invokestatic org.graalvm.compiler.nodes.util.GraphUtil.killWithUnusedFloatingInputs:(Lorg/graalvm/compiler/graph/Node;)V
11: goto 20
StackMap locals:
StackMap stack:
12: aload 1
instanceof org.graalvm.compiler.nodes.PhiNode
ifeq 20
13: aload 1
invokevirtual org.graalvm.compiler.graph.Node.usages:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.iterator:()Ljava/util/Iterator;
astore 4
goto 17
StackMap locals: org.graalvm.compiler.graph.Node org.graalvm.compiler.graph.Node java.util.Iterator top java.util.Iterator
StackMap stack:
14: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.graph.Node
astore 3
start local 3 15: aload 3
aload 1
if_acmpeq 17
16: goto 20
end local 3 17: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 14
18: aload 1
aconst_null
invokevirtual org.graalvm.compiler.graph.Node.replaceAtUsages:(Lorg/graalvm/compiler/graph/Node;)V
19: aload 1
invokestatic org.graalvm.compiler.nodes.util.GraphUtil.killWithUnusedFloatingInputs:(Lorg/graalvm/compiler/graph/Node;)V
end local 1 20: StackMap locals: org.graalvm.compiler.graph.Node top java.util.Iterator
StackMap stack:
aload 2
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
21: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 node Lorg/graalvm/compiler/graph/Node;
4 20 1 in Lorg/graalvm/compiler/graph/Node;
15 17 3 use Lorg/graalvm/compiler/graph/Node;
MethodParameters:
Name Flags
node
public static void removeNewNodes(org.graalvm.compiler.graph.Graph, org.graalvm.compiler.graph.Graph$Mark);
descriptor: (Lorg/graalvm/compiler/graph/Graph;Lorg/graalvm/compiler/graph/Graph$Mark;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=6, args_size=2
start local 0 start local 1 0: getstatic org.graalvm.compiler.nodes.util.GraphUtil.$assertionsDisabled:Z
ifne 1
aload 0
aload 1
invokestatic org.graalvm.compiler.nodes.util.GraphUtil.checkNoOldToNewEdges:(Lorg/graalvm/compiler/graph/Graph;Lorg/graalvm/compiler/graph/Graph$Mark;)Z
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual org.graalvm.compiler.graph.Graph.getNewNodes:(Lorg/graalvm/compiler/graph/Graph$Mark;)Lorg/graalvm/compiler/graph/iterators/NodeIterable;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.iterator:()Ljava/util/Iterator;
astore 3
goto 8
StackMap locals: org.graalvm.compiler.graph.Graph org.graalvm.compiler.graph.Graph$Mark top java.util.Iterator
StackMap stack:
2: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.graph.Node
astore 2
start local 2 3: aload 2
invokevirtual org.graalvm.compiler.graph.Node.markDeleted:()V
4: aload 2
invokevirtual org.graalvm.compiler.graph.Node.inputs:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.iterator:()Ljava/util/Iterator;
astore 5
goto 7
StackMap locals: org.graalvm.compiler.graph.Graph org.graalvm.compiler.graph.Graph$Mark org.graalvm.compiler.graph.Node java.util.Iterator top java.util.Iterator
StackMap stack:
5: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.graph.Node
astore 4
start local 4 6: aload 4
aload 2
invokevirtual org.graalvm.compiler.graph.Node.removeUsage:(Lorg/graalvm/compiler/graph/Node;)Z
pop
end local 4 7: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 5
end local 2 8: StackMap locals: org.graalvm.compiler.graph.Graph org.graalvm.compiler.graph.Graph$Mark top java.util.Iterator
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
9: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 graph Lorg/graalvm/compiler/graph/Graph;
0 10 1 mark Lorg/graalvm/compiler/graph/Graph$Mark;
3 8 2 n Lorg/graalvm/compiler/graph/Node;
6 7 4 in Lorg/graalvm/compiler/graph/Node;
MethodParameters:
Name Flags
graph
mark
private static boolean checkNoOldToNewEdges(org.graalvm.compiler.graph.Graph, org.graalvm.compiler.graph.Graph$Mark);
descriptor: (Lorg/graalvm/compiler/graph/Graph;Lorg/graalvm/compiler/graph/Graph$Mark;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=6, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.graalvm.compiler.graph.Graph.getNodes:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.iterator:()Ljava/util/Iterator;
astore 3
goto 12
StackMap locals: org.graalvm.compiler.graph.Graph org.graalvm.compiler.graph.Graph$Mark top java.util.Iterator
StackMap stack:
1: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.graph.Node
astore 2
start local 2 2: aload 0
aload 1
aload 2
invokevirtual org.graalvm.compiler.graph.Graph.isNew:(Lorg/graalvm/compiler/graph/Graph$Mark;Lorg/graalvm/compiler/graph/Node;)Z
ifeq 4
3: goto 13
4: StackMap locals: org.graalvm.compiler.graph.Graph org.graalvm.compiler.graph.Graph$Mark org.graalvm.compiler.graph.Node java.util.Iterator
StackMap stack:
aload 2
invokevirtual org.graalvm.compiler.graph.Node.successors:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.iterator:()Ljava/util/Iterator;
astore 5
goto 7
StackMap locals: org.graalvm.compiler.graph.Graph org.graalvm.compiler.graph.Graph$Mark org.graalvm.compiler.graph.Node java.util.Iterator top java.util.Iterator
StackMap stack:
5: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.graph.Node
astore 4
start local 4 6: getstatic org.graalvm.compiler.nodes.util.GraphUtil.$assertionsDisabled:Z
ifne 7
aload 0
aload 1
aload 4
invokevirtual org.graalvm.compiler.graph.Graph.isNew:(Lorg/graalvm/compiler/graph/Graph$Mark;Lorg/graalvm/compiler/graph/Node;)Z
ifeq 7
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " -> "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 4
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
end local 4 7: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 5
8: aload 2
invokevirtual org.graalvm.compiler.graph.Node.inputs:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.iterator:()Ljava/util/Iterator;
astore 5
goto 11
StackMap locals:
StackMap stack:
9: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.graph.Node
astore 4
start local 4 10: getstatic org.graalvm.compiler.nodes.util.GraphUtil.$assertionsDisabled:Z
ifne 11
aload 0
aload 1
aload 4
invokevirtual org.graalvm.compiler.graph.Graph.isNew:(Lorg/graalvm/compiler/graph/Graph$Mark;Lorg/graalvm/compiler/graph/Node;)Z
ifeq 11
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " -> "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 4
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
end local 4 11: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 9
end local 2 12: StackMap locals: org.graalvm.compiler.graph.Graph org.graalvm.compiler.graph.Graph$Mark top java.util.Iterator
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
13: StackMap locals: org.graalvm.compiler.graph.Graph org.graalvm.compiler.graph.Graph$Mark
StackMap stack:
iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 graph Lorg/graalvm/compiler/graph/Graph;
0 14 1 mark Lorg/graalvm/compiler/graph/Graph$Mark;
2 12 2 old Lorg/graalvm/compiler/graph/Node;
6 7 4 n Lorg/graalvm/compiler/graph/Node;
10 11 4 n Lorg/graalvm/compiler/graph/Node;
MethodParameters:
Name Flags
graph
mark
public static void removeFixedWithUnusedInputs(org.graalvm.compiler.nodes.FixedWithNextNode);
descriptor: (Lorg/graalvm/compiler/nodes/FixedWithNextNode;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
instanceof org.graalvm.compiler.nodes.StateSplit
ifeq 6
1: aload 0
checkcast org.graalvm.compiler.nodes.StateSplit
invokeinterface org.graalvm.compiler.nodes.StateSplit.stateAfter:()Lorg/graalvm/compiler/nodes/FrameState;
astore 1
start local 1 2: aload 1
ifnull 6
3: aload 0
checkcast org.graalvm.compiler.nodes.StateSplit
aconst_null
invokeinterface org.graalvm.compiler.nodes.StateSplit.setStateAfter:(Lorg/graalvm/compiler/nodes/FrameState;)V
4: aload 1
invokevirtual org.graalvm.compiler.nodes.FrameState.hasNoUsages:()Z
ifeq 6
5: aload 1
invokestatic org.graalvm.compiler.nodes.util.GraphUtil.killWithUnusedFloatingInputs:(Lorg/graalvm/compiler/graph/Node;)V
end local 1 6: StackMap locals:
StackMap stack:
aload 0
invokestatic org.graalvm.compiler.nodes.util.GraphUtil.unlinkFixedNode:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;)V
7: aload 0
invokestatic org.graalvm.compiler.nodes.util.GraphUtil.killWithUnusedFloatingInputs:(Lorg/graalvm/compiler/graph/Node;)V
8: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 fixed Lorg/graalvm/compiler/nodes/FixedWithNextNode;
2 6 1 stateAfter Lorg/graalvm/compiler/nodes/FrameState;
MethodParameters:
Name Flags
fixed
public static void unlinkFixedNode(org.graalvm.compiler.nodes.FixedWithNextNode);
descriptor: (Lorg/graalvm/compiler/nodes/FixedWithNextNode;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: getstatic org.graalvm.compiler.nodes.util.GraphUtil.$assertionsDisabled:Z
ifne 2
aload 0
invokevirtual org.graalvm.compiler.nodes.FixedWithNextNode.next:()Lorg/graalvm/compiler/nodes/FixedNode;
ifnull 1
aload 0
invokevirtual org.graalvm.compiler.nodes.FixedWithNextNode.predecessor:()Lorg/graalvm/compiler/graph/Node;
ifnull 1
aload 0
invokevirtual org.graalvm.compiler.nodes.FixedWithNextNode.isAlive:()Z
ifne 2
StackMap locals:
StackMap stack:
1: new java.lang.AssertionError
dup
aload 0
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.graalvm.compiler.nodes.FixedWithNextNode.next:()Lorg/graalvm/compiler/nodes/FixedNode;
astore 1
start local 1 3: aload 0
aconst_null
invokevirtual org.graalvm.compiler.nodes.FixedWithNextNode.setNext:(Lorg/graalvm/compiler/nodes/FixedNode;)V
4: aload 0
aload 1
invokevirtual org.graalvm.compiler.nodes.FixedWithNextNode.replaceAtPredecessor:(Lorg/graalvm/compiler/graph/Node;)V
5: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 fixed Lorg/graalvm/compiler/nodes/FixedWithNextNode;
3 6 1 next Lorg/graalvm/compiler/nodes/FixedNode;
MethodParameters:
Name Flags
fixed
public static void checkRedundantPhi(org.graalvm.compiler.nodes.PhiNode);
descriptor: (Lorg/graalvm/compiler/nodes/PhiNode;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=6, args_size=1
start local 0 0: aload 0
invokevirtual org.graalvm.compiler.nodes.PhiNode.isDeleted:()Z
ifne 1
aload 0
invokevirtual org.graalvm.compiler.nodes.PhiNode.valueCount:()I
iconst_1
if_icmpne 2
1: StackMap locals:
StackMap stack:
return
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.graalvm.compiler.nodes.PhiNode.singleValue:()Lorg/graalvm/compiler/nodes/ValueNode;
astore 1
start local 1 3: aload 1
getstatic org.graalvm.compiler.nodes.PhiNode.MULTIPLE_VALUES:Lorg/graalvm/compiler/nodes/ValueNode;
if_acmpeq 15
4: aload 0
invokevirtual org.graalvm.compiler.nodes.PhiNode.usages:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
ldc Lorg/graalvm/compiler/nodes/PhiNode;
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;
astore 2
start local 2 5: aload 0
invokevirtual org.graalvm.compiler.nodes.PhiNode.usages:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
ldc Lorg/graalvm/compiler/nodes/ProxyNode;
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;
astore 3
start local 3 6: aload 0
aload 1
invokevirtual org.graalvm.compiler.nodes.PhiNode.replaceAtUsagesAndDelete:(Lorg/graalvm/compiler/graph/Node;)V
7: aload 2
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 5
goto 10
StackMap locals: org.graalvm.compiler.nodes.PhiNode org.graalvm.compiler.nodes.ValueNode java.util.Collection java.util.Collection top java.util.Iterator
StackMap stack:
8: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.PhiNode
astore 4
start local 4 9: aload 4
invokestatic org.graalvm.compiler.nodes.util.GraphUtil.checkRedundantPhi:(Lorg/graalvm/compiler/nodes/PhiNode;)V
end local 4 10: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 8
11: aload 3
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 5
goto 14
StackMap locals:
StackMap stack:
12: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.ProxyNode
astore 4
start local 4 13: aload 4
invokestatic org.graalvm.compiler.nodes.util.GraphUtil.checkRedundantProxy:(Lorg/graalvm/compiler/nodes/ProxyNode;)V
end local 4 14: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 12
end local 3 end local 2 15: StackMap locals: org.graalvm.compiler.nodes.PhiNode org.graalvm.compiler.nodes.ValueNode
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 phiNode Lorg/graalvm/compiler/nodes/PhiNode;
3 16 1 singleValue Lorg/graalvm/compiler/nodes/ValueNode;
5 15 2 phiUsages Ljava/util/Collection<Lorg/graalvm/compiler/nodes/PhiNode;>;
6 15 3 proxyUsages Ljava/util/Collection<Lorg/graalvm/compiler/nodes/ProxyNode;>;
9 10 4 phi Lorg/graalvm/compiler/nodes/PhiNode;
13 14 4 proxy Lorg/graalvm/compiler/nodes/ProxyNode;
MethodParameters:
Name Flags
phiNode
public static void checkRedundantProxy(org.graalvm.compiler.nodes.ProxyNode);
descriptor: (Lorg/graalvm/compiler/nodes/ProxyNode;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=12, args_size=1
start local 0 0: aload 0
invokevirtual org.graalvm.compiler.nodes.ProxyNode.isDeleted:()Z
ifeq 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.graalvm.compiler.nodes.ProxyNode.proxyPoint:()Lorg/graalvm/compiler/nodes/LoopExitNode;
astore 1
start local 1 3: aload 1
instanceof org.graalvm.compiler.nodes.LoopExitNode
ifeq 26
4: aload 1
checkcast org.graalvm.compiler.nodes.LoopExitNode
astore 2
start local 2 5: aload 2
invokevirtual org.graalvm.compiler.nodes.LoopExitNode.loopBegin:()Lorg/graalvm/compiler/nodes/LoopBeginNode;
astore 3
start local 3 6: aload 0
invokevirtual org.graalvm.compiler.nodes.ProxyNode.value:()Lorg/graalvm/compiler/nodes/ValueNode;
astore 4
start local 4 7: aload 3
invokevirtual org.graalvm.compiler.nodes.LoopBeginNode.stateAfter:()Lorg/graalvm/compiler/nodes/FrameState;
invokevirtual org.graalvm.compiler.nodes.FrameState.values:()Lorg/graalvm/compiler/graph/NodeInputList;
invokevirtual org.graalvm.compiler.graph.NodeInputList.iterator:()Ljava/util/Iterator;
astore 6
goto 25
StackMap locals: org.graalvm.compiler.nodes.ProxyNode org.graalvm.compiler.nodes.AbstractBeginNode org.graalvm.compiler.nodes.LoopExitNode org.graalvm.compiler.nodes.LoopBeginNode org.graalvm.compiler.graph.Node top java.util.Iterator
StackMap stack:
8: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.ValueNode
astore 5
start local 5 9: aload 5
astore 7
start local 7 10: aload 3
aload 7
invokevirtual org.graalvm.compiler.nodes.LoopBeginNode.isPhiAtMerge:(Lorg/graalvm/compiler/graph/Node;)Z
ifeq 12
11: aload 7
checkcast org.graalvm.compiler.nodes.PhiNode
aload 3
invokevirtual org.graalvm.compiler.nodes.LoopBeginNode.forwardEnd:()Lorg/graalvm/compiler/nodes/AbstractEndNode;
invokevirtual org.graalvm.compiler.nodes.PhiNode.valueAt:(Lorg/graalvm/compiler/nodes/AbstractEndNode;)Lorg/graalvm/compiler/nodes/ValueNode;
astore 7
12: StackMap locals: org.graalvm.compiler.nodes.ProxyNode org.graalvm.compiler.nodes.AbstractBeginNode org.graalvm.compiler.nodes.LoopExitNode org.graalvm.compiler.nodes.LoopBeginNode org.graalvm.compiler.graph.Node org.graalvm.compiler.nodes.ValueNode java.util.Iterator org.graalvm.compiler.nodes.ValueNode
StackMap stack:
aload 4
aload 7
if_acmpne 25
13: aload 0
invokevirtual org.graalvm.compiler.nodes.ProxyNode.usages:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
ldc Lorg/graalvm/compiler/nodes/PhiNode;
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;
astore 8
start local 8 14: aload 0
invokevirtual org.graalvm.compiler.nodes.ProxyNode.usages:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
ldc Lorg/graalvm/compiler/nodes/ProxyNode;
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;
astore 9
start local 9 15: aload 0
aload 4
invokevirtual org.graalvm.compiler.nodes.ProxyNode.replaceAtUsagesAndDelete:(Lorg/graalvm/compiler/graph/Node;)V
16: aload 8
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 11
goto 19
StackMap locals: org.graalvm.compiler.nodes.ProxyNode org.graalvm.compiler.nodes.AbstractBeginNode org.graalvm.compiler.nodes.LoopExitNode org.graalvm.compiler.nodes.LoopBeginNode org.graalvm.compiler.graph.Node org.graalvm.compiler.nodes.ValueNode java.util.Iterator org.graalvm.compiler.nodes.ValueNode java.util.Collection java.util.Collection top java.util.Iterator
StackMap stack:
17: aload 11
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.PhiNode
astore 10
start local 10 18: aload 10
invokestatic org.graalvm.compiler.nodes.util.GraphUtil.checkRedundantPhi:(Lorg/graalvm/compiler/nodes/PhiNode;)V
end local 10 19: StackMap locals:
StackMap stack:
aload 11
invokeinterface java.util.Iterator.hasNext:()Z
ifne 17
20: aload 9
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 11
goto 23
StackMap locals:
StackMap stack:
21: aload 11
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.ProxyNode
astore 10
start local 10 22: aload 10
invokestatic org.graalvm.compiler.nodes.util.GraphUtil.checkRedundantProxy:(Lorg/graalvm/compiler/nodes/ProxyNode;)V
end local 10 23: StackMap locals:
StackMap stack:
aload 11
invokeinterface java.util.Iterator.hasNext:()Z
ifne 21
24: return
end local 9 end local 8 end local 7 end local 5 25: StackMap locals: org.graalvm.compiler.nodes.ProxyNode org.graalvm.compiler.nodes.AbstractBeginNode org.graalvm.compiler.nodes.LoopExitNode org.graalvm.compiler.nodes.LoopBeginNode org.graalvm.compiler.graph.Node top java.util.Iterator
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 8
end local 4 end local 3 end local 2 26: StackMap locals: org.graalvm.compiler.nodes.ProxyNode org.graalvm.compiler.nodes.AbstractBeginNode
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 27 0 vpn Lorg/graalvm/compiler/nodes/ProxyNode;
3 27 1 proxyPoint Lorg/graalvm/compiler/nodes/AbstractBeginNode;
5 26 2 exit Lorg/graalvm/compiler/nodes/LoopExitNode;
6 26 3 loopBegin Lorg/graalvm/compiler/nodes/LoopBeginNode;
7 26 4 vpnValue Lorg/graalvm/compiler/graph/Node;
9 25 5 v Lorg/graalvm/compiler/nodes/ValueNode;
10 25 7 v2 Lorg/graalvm/compiler/nodes/ValueNode;
14 25 8 phiUsages Ljava/util/Collection<Lorg/graalvm/compiler/nodes/PhiNode;>;
15 25 9 proxyUsages Ljava/util/Collection<Lorg/graalvm/compiler/nodes/ProxyNode;>;
18 19 10 phi Lorg/graalvm/compiler/nodes/PhiNode;
22 23 10 proxy Lorg/graalvm/compiler/nodes/ProxyNode;
MethodParameters:
Name Flags
vpn
public static void normalizeLoops(org.graalvm.compiler.nodes.StructuredGraph);
descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=4, args_size=1
start local 0 0: iconst_0
istore 1
start local 1 1: aload 0
getstatic org.graalvm.compiler.nodes.LoopBeginNode.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.nodes.StructuredGraph int top java.util.Iterator
StackMap stack:
2: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.LoopBeginNode
astore 2
start local 2 3: aload 2
invokevirtual org.graalvm.compiler.nodes.LoopBeginNode.loopEnds:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.isEmpty:()Z
ifeq 8
4: getstatic org.graalvm.compiler.nodes.util.GraphUtil.$assertionsDisabled:Z
ifne 5
aload 2
invokevirtual org.graalvm.compiler.nodes.LoopBeginNode.forwardEndCount:()I
iconst_1
if_icmpeq 5
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
5: StackMap locals: org.graalvm.compiler.nodes.StructuredGraph int org.graalvm.compiler.nodes.LoopBeginNode java.util.Iterator
StackMap stack:
aload 0
aload 2
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.reduceDegenerateLoopBegin:(Lorg/graalvm/compiler/nodes/LoopBeginNode;)V
6: iconst_1
istore 1
7: goto 9
8: StackMap locals:
StackMap stack:
aload 2
invokestatic org.graalvm.compiler.nodes.util.GraphUtil.normalizeLoopBegin:(Lorg/graalvm/compiler/nodes/LoopBeginNode;)V
end local 2 9: StackMap locals: org.graalvm.compiler.nodes.StructuredGraph int top java.util.Iterator
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
10: iload 1
ifeq 16
11: aload 0
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getNodes:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.iterator:()Ljava/util/Iterator;
astore 3
goto 15
StackMap locals:
StackMap stack:
12: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.graph.Node
astore 2
start local 2 13: aload 2
instanceof org.graalvm.compiler.nodes.PhiNode
ifeq 15
14: aload 2
checkcast org.graalvm.compiler.nodes.PhiNode
invokestatic org.graalvm.compiler.nodes.util.GraphUtil.checkRedundantPhi:(Lorg/graalvm/compiler/nodes/PhiNode;)V
end local 2 15: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 12
16: StackMap locals: org.graalvm.compiler.nodes.StructuredGraph int
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
1 17 1 loopRemoved Z
3 9 2 begin Lorg/graalvm/compiler/nodes/LoopBeginNode;
13 15 2 node Lorg/graalvm/compiler/graph/Node;
MethodParameters:
Name Flags
graph
private static void normalizeLoopBegin(org.graalvm.compiler.nodes.LoopBeginNode);
descriptor: (Lorg/graalvm/compiler/nodes/LoopBeginNode;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=5, args_size=1
start local 0 0: aload 0
invokevirtual org.graalvm.compiler.nodes.LoopBeginNode.phis:()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 3
StackMap locals: org.graalvm.compiler.nodes.LoopBeginNode top java.util.Iterator
StackMap stack:
1: aload 2
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.PhiNode
astore 1
start local 1 2: aload 1
invokestatic org.graalvm.compiler.nodes.util.GraphUtil.checkRedundantPhi:(Lorg/graalvm/compiler/nodes/PhiNode;)V
end local 1 3: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
4: aload 0
invokevirtual org.graalvm.compiler.nodes.LoopBeginNode.loopExits:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.iterator:()Ljava/util/Iterator;
astore 2
goto 10
StackMap locals:
StackMap stack:
5: aload 2
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.LoopExitNode
astore 1
start local 1 6: aload 1
invokevirtual org.graalvm.compiler.nodes.LoopExitNode.proxies:()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 9
StackMap locals: org.graalvm.compiler.nodes.LoopBeginNode org.graalvm.compiler.nodes.LoopExitNode java.util.Iterator top java.util.Iterator
StackMap stack:
7: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.ProxyNode
astore 3
start local 3 8: aload 3
invokestatic org.graalvm.compiler.nodes.util.GraphUtil.checkRedundantProxy:(Lorg/graalvm/compiler/nodes/ProxyNode;)V
end local 3 9: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 7
end local 1 10: StackMap locals: org.graalvm.compiler.nodes.LoopBeginNode top java.util.Iterator
StackMap stack:
aload 2
invokeinterface java.util.Iterator.hasNext:()Z
ifne 5
11: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 begin Lorg/graalvm/compiler/nodes/LoopBeginNode;
2 3 1 phi Lorg/graalvm/compiler/nodes/PhiNode;
6 10 1 exit Lorg/graalvm/compiler/nodes/LoopExitNode;
8 9 3 vpn Lorg/graalvm/compiler/nodes/ProxyNode;
MethodParameters:
Name Flags
begin
public static java.lang.StackTraceElement[] approxSourceStackTraceElement(org.graalvm.compiler.graph.Node);
descriptor: (Lorg/graalvm/compiler/graph/Node;)[Ljava/lang/StackTraceElement;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=4, args_size=1
start local 0 0: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 1
start local 1 1: aload 0
astore 2
start local 2 2: goto 11
3: StackMap locals: java.util.ArrayList org.graalvm.compiler.graph.Node
StackMap stack:
aload 2
instanceof org.graalvm.compiler.nodes.java.MethodCallTargetNode
ifeq 6
4: aload 1
aload 2
checkcast org.graalvm.compiler.nodes.java.MethodCallTargetNode
invokevirtual org.graalvm.compiler.nodes.java.MethodCallTargetNode.targetMethod:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
iconst_m1
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.asStackTraceElement:(I)Ljava/lang/StackTraceElement;
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
5: aload 2
checkcast org.graalvm.compiler.nodes.java.MethodCallTargetNode
invokevirtual org.graalvm.compiler.nodes.java.MethodCallTargetNode.invoke:()Lorg/graalvm/compiler/nodes/Invoke;
invokeinterface org.graalvm.compiler.nodes.Invoke.asNode:()Lorg/graalvm/compiler/nodes/FixedNode;
astore 2
6: StackMap locals:
StackMap stack:
aload 2
instanceof org.graalvm.compiler.nodes.StateSplit
ifeq 10
7: aload 2
checkcast org.graalvm.compiler.nodes.StateSplit
invokeinterface org.graalvm.compiler.nodes.StateSplit.stateAfter:()Lorg/graalvm/compiler/nodes/FrameState;
astore 3
start local 3 8: aload 1
aload 3
invokestatic org.graalvm.compiler.nodes.util.GraphUtil.approxSourceStackTraceElement:(Lorg/graalvm/compiler/nodes/FrameState;)[Ljava/lang/StackTraceElement;
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
invokevirtual java.util.ArrayList.addAll:(Ljava/util/Collection;)Z
pop
9: goto 12
end local 3 10: StackMap locals:
StackMap stack:
aload 2
invokevirtual org.graalvm.compiler.graph.Node.predecessor:()Lorg/graalvm/compiler/graph/Node;
astore 2
11: StackMap locals:
StackMap stack:
aload 2
ifnonnull 3
12: StackMap locals:
StackMap stack:
aload 1
aload 1
invokevirtual java.util.ArrayList.size:()I
anewarray java.lang.StackTraceElement
invokevirtual java.util.ArrayList.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast java.lang.StackTraceElement[]
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 node Lorg/graalvm/compiler/graph/Node;
1 13 1 elements Ljava/util/ArrayList<Ljava/lang/StackTraceElement;>;
2 13 2 n Lorg/graalvm/compiler/graph/Node;
8 10 3 state Lorg/graalvm/compiler/nodes/FrameState;
MethodParameters:
Name Flags
node
public static java.lang.StackTraceElement[] approxSourceStackTraceElement(org.graalvm.compiler.nodes.FrameState);
descriptor: (Lorg/graalvm/compiler/nodes/FrameState;)[Ljava/lang/StackTraceElement;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=4, args_size=1
start local 0 0: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 1
start local 1 1: aload 0
astore 2
start local 2 2: goto 7
3: StackMap locals: java.util.ArrayList org.graalvm.compiler.nodes.FrameState
StackMap stack:
aload 2
invokevirtual org.graalvm.compiler.nodes.FrameState.getCode:()Lorg/graalvm/compiler/bytecode/Bytecode;
astore 3
start local 3 4: aload 3
ifnull 6
5: aload 1
aload 3
aload 2
getfield org.graalvm.compiler.nodes.FrameState.bci:I
iconst_1
isub
invokeinterface org.graalvm.compiler.bytecode.Bytecode.asStackTraceElement:(I)Ljava/lang/StackTraceElement;
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
6: StackMap locals: org.graalvm.compiler.bytecode.Bytecode
StackMap stack:
aload 2
invokevirtual org.graalvm.compiler.nodes.FrameState.outerFrameState:()Lorg/graalvm/compiler/nodes/FrameState;
astore 2
end local 3 7: StackMap locals:
StackMap stack:
aload 2
ifnonnull 3
8: aload 1
iconst_0
anewarray java.lang.StackTraceElement
invokevirtual java.util.ArrayList.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast java.lang.StackTraceElement[]
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 frameState Lorg/graalvm/compiler/nodes/FrameState;
1 9 1 elements Ljava/util/ArrayList<Ljava/lang/StackTraceElement;>;
2 9 2 state Lorg/graalvm/compiler/nodes/FrameState;
4 7 3 code Lorg/graalvm/compiler/bytecode/Bytecode;
MethodParameters:
Name Flags
frameState
public static java.lang.StackTraceElement[] approxSourceStackTraceElement(jdk.vm.ci.code.BytecodePosition);
descriptor: (Ljdk/vm/ci/code/BytecodePosition;)[Ljava/lang/StackTraceElement;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=4, args_size=1
start local 0 0: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 1
start local 1 1: aload 0
astore 2
start local 2 2: goto 7
3: StackMap locals: java.util.ArrayList jdk.vm.ci.code.BytecodePosition
StackMap stack:
aload 2
invokevirtual jdk.vm.ci.code.BytecodePosition.getMethod:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
astore 3
start local 3 4: aload 3
ifnull 6
5: aload 1
aload 3
aload 2
invokevirtual jdk.vm.ci.code.BytecodePosition.getBCI:()I
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.asStackTraceElement:(I)Ljava/lang/StackTraceElement;
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
6: StackMap locals: jdk.vm.ci.meta.ResolvedJavaMethod
StackMap stack:
aload 2
invokevirtual jdk.vm.ci.code.BytecodePosition.getCaller:()Ljdk/vm/ci/code/BytecodePosition;
astore 2
end local 3 7: StackMap locals:
StackMap stack:
aload 2
ifnonnull 3
8: aload 1
iconst_0
anewarray java.lang.StackTraceElement
invokevirtual java.util.ArrayList.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast java.lang.StackTraceElement[]
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 bytecodePosition Ljdk/vm/ci/code/BytecodePosition;
1 9 1 elements Ljava/util/ArrayList<Ljava/lang/StackTraceElement;>;
2 9 2 position Ljdk/vm/ci/code/BytecodePosition;
4 7 3 method Ljdk/vm/ci/meta/ResolvedJavaMethod;
MethodParameters:
Name Flags
bytecodePosition
public static java.lang.RuntimeException approxSourceException(org.graalvm.compiler.graph.Node, java.lang.Throwable);
descriptor: (Lorg/graalvm/compiler/graph/Node;Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokestatic org.graalvm.compiler.nodes.util.GraphUtil.approxSourceStackTraceElement:(Lorg/graalvm/compiler/graph/Node;)[Ljava/lang/StackTraceElement;
astore 2
start local 2 1: aload 1
ifnonnull 2
ldc ""
goto 3
StackMap locals: java.lang.StackTraceElement[]
StackMap stack:
2: aload 1
invokevirtual java.lang.Throwable.getMessage:()Ljava/lang/String;
StackMap locals:
StackMap stack: java.lang.String
3: aload 1
aload 2
invokestatic org.graalvm.compiler.nodes.util.GraphUtil.createBailoutException:(Ljava/lang/String;Ljava/lang/Throwable;[Ljava/lang/StackTraceElement;)Ljdk/vm/ci/code/BailoutException;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 node Lorg/graalvm/compiler/graph/Node;
0 4 1 cause Ljava/lang/Throwable;
1 4 2 elements [Ljava/lang/StackTraceElement;
MethodParameters:
Name Flags
node
cause
public static jdk.vm.ci.code.BailoutException createBailoutException(java.lang.String, java.lang.Throwable, java.lang.StackTraceElement[]);
descriptor: (Ljava/lang/String;Ljava/lang/Throwable;[Ljava/lang/StackTraceElement;)Ljdk/vm/ci/code/BailoutException;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
aload 0
aload 2
invokestatic org.graalvm.compiler.code.SourceStackTraceBailoutException.create:(Ljava/lang/Throwable;Ljava/lang/String;[Ljava/lang/StackTraceElement;)Lorg/graalvm/compiler/code/SourceStackTraceBailoutException;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 message Ljava/lang/String;
0 1 1 cause Ljava/lang/Throwable;
0 1 2 elements [Ljava/lang/StackTraceElement;
MethodParameters:
Name Flags
message
cause
elements
public static java.lang.String approxSourceLocation(org.graalvm.compiler.graph.Node);
descriptor: (Lorg/graalvm/compiler/graph/Node;)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=3, args_size=1
start local 0 0: aload 0
invokestatic org.graalvm.compiler.nodes.util.GraphUtil.approxSourceStackTraceElement:(Lorg/graalvm/compiler/graph/Node;)[Ljava/lang/StackTraceElement;
astore 1
start local 1 1: aload 1
ifnull 5
aload 1
arraylength
ifle 5
2: aload 1
iconst_0
aaload
astore 2
start local 2 3: aload 2
invokevirtual java.lang.StackTraceElement.getFileName:()Ljava/lang/String;
ifnull 5
aload 2
invokevirtual java.lang.StackTraceElement.getLineNumber:()I
iflt 5
4: new java.lang.StringBuilder
dup
aload 2
invokevirtual java.lang.StackTraceElement.getFileName:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ":"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2
invokevirtual java.lang.StackTraceElement.getLineNumber:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 2 5: StackMap locals: java.lang.StackTraceElement[]
StackMap stack:
aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 node Lorg/graalvm/compiler/graph/Node;
1 6 1 stackTraceElements [Ljava/lang/StackTraceElement;
3 5 2 top Ljava/lang/StackTraceElement;
MethodParameters:
Name Flags
node
public static java.lang.String toString(java.lang.Iterable<?>);
descriptor: (Ljava/lang/Iterable;)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=4, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 1
start local 1 1: aload 1
ldc "["
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
2: aload 0
invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
astore 3
goto 5
StackMap locals: java.lang.Iterable java.lang.StringBuilder top java.util.Iterator
StackMap stack:
3: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
astore 2
start local 2 4: aload 1
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc ", "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
end local 2 5: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
6: aload 1
invokevirtual java.lang.StringBuilder.length:()I
iconst_1
if_icmple 8
7: aload 1
aload 1
invokevirtual java.lang.StringBuilder.length:()I
iconst_2
isub
invokevirtual java.lang.StringBuilder.setLength:(I)V
8: StackMap locals: java.lang.Iterable java.lang.StringBuilder
StackMap stack:
aload 1
ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
9: aload 1
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 objects Ljava/lang/Iterable<*>;
1 10 1 str Ljava/lang/StringBuilder;
4 5 2 o Ljava/lang/Object;
Signature: (Ljava/lang/Iterable<*>;)Ljava/lang/String;
MethodParameters:
Name Flags
objects
public static org.graalvm.compiler.nodes.ValueNode unproxify(org.graalvm.compiler.nodes.ValueNode);
descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=2, args_size=1
start local 0 0: aload 0
astore 1
start local 1 1: goto 3
2: StackMap locals: org.graalvm.compiler.nodes.ValueNode
StackMap stack:
aload 1
checkcast org.graalvm.compiler.nodes.spi.ValueProxy
invokeinterface org.graalvm.compiler.nodes.spi.ValueProxy.getOriginalNode:()Lorg/graalvm/compiler/nodes/ValueNode;
astore 1
3: StackMap locals:
StackMap stack:
aload 1
instanceof org.graalvm.compiler.nodes.spi.ValueProxy
ifne 2
4: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 value Lorg/graalvm/compiler/nodes/ValueNode;
1 5 1 result Lorg/graalvm/compiler/nodes/ValueNode;
MethodParameters:
Name Flags
value
public static org.graalvm.compiler.nodes.ValueNode arrayLength(org.graalvm.compiler.nodes.ValueNode);
descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=3, args_size=1
start local 0 0: aload 0
astore 1
start local 1 1: StackMap locals: org.graalvm.compiler.nodes.ValueNode
StackMap stack:
aload 1
instanceof org.graalvm.compiler.nodes.spi.ArrayLengthProvider
ifeq 5
2: aload 1
checkcast org.graalvm.compiler.nodes.spi.ArrayLengthProvider
invokeinterface org.graalvm.compiler.nodes.spi.ArrayLengthProvider.length:()Lorg/graalvm/compiler/nodes/ValueNode;
astore 2
start local 2 3: aload 2
ifnull 5
4: aload 2
areturn
end local 2 5: StackMap locals:
StackMap stack:
aload 1
instanceof org.graalvm.compiler.nodes.spi.ValueProxy
ifeq 8
6: aload 1
checkcast org.graalvm.compiler.nodes.spi.ValueProxy
invokeinterface org.graalvm.compiler.nodes.spi.ValueProxy.getOriginalNode:()Lorg/graalvm/compiler/nodes/ValueNode;
astore 1
7: goto 1
8: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 value Lorg/graalvm/compiler/nodes/ValueNode;
1 9 1 current Lorg/graalvm/compiler/nodes/ValueNode;
3 5 2 length Lorg/graalvm/compiler/nodes/ValueNode;
MethodParameters:
Name Flags
value
public static org.graalvm.compiler.nodes.ValueNode originalValue(org.graalvm.compiler.nodes.ValueNode);
descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
astore 1
start local 1 1: StackMap locals: org.graalvm.compiler.nodes.ValueNode
StackMap stack:
aload 1
instanceof org.graalvm.compiler.nodes.spi.LimitedValueProxy
ifeq 4
2: aload 1
checkcast org.graalvm.compiler.nodes.spi.LimitedValueProxy
invokeinterface org.graalvm.compiler.nodes.spi.LimitedValueProxy.getOriginalNode:()Lorg/graalvm/compiler/nodes/ValueNode;
astore 1
3: goto 8
StackMap locals:
StackMap stack:
4: aload 1
instanceof org.graalvm.compiler.nodes.PhiNode
ifeq 9
5: aload 1
checkcast org.graalvm.compiler.nodes.PhiNode
invokevirtual org.graalvm.compiler.nodes.PhiNode.singleValue:()Lorg/graalvm/compiler/nodes/ValueNode;
astore 1
6: aload 1
getstatic org.graalvm.compiler.nodes.PhiNode.MULTIPLE_VALUES:Lorg/graalvm/compiler/nodes/ValueNode;
if_acmpne 8
7: aconst_null
astore 1
8: StackMap locals:
StackMap stack:
aload 1
ifnonnull 1
9: StackMap locals:
StackMap stack:
aload 1
ifnonnull 11
10: new org.graalvm.compiler.nodes.util.GraphUtil$OriginalValueSearch
dup
aload 0
invokespecial org.graalvm.compiler.nodes.util.GraphUtil$OriginalValueSearch.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;)V
getfield org.graalvm.compiler.nodes.util.GraphUtil$OriginalValueSearch.result:Lorg/graalvm/compiler/nodes/ValueNode;
astore 1
11: StackMap locals:
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 proxy Lorg/graalvm/compiler/nodes/ValueNode;
1 12 1 v Lorg/graalvm/compiler/nodes/ValueNode;
MethodParameters:
Name Flags
proxy
public static boolean tryKillUnused(org.graalvm.compiler.graph.Node);
descriptor: (Lorg/graalvm/compiler/graph/Node;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.graalvm.compiler.graph.Node.isAlive:()Z
ifeq 3
aload 0
invokestatic org.graalvm.compiler.nodes.util.GraphUtil.isFloatingNode:(Lorg/graalvm/compiler/graph/Node;)Z
ifeq 3
aload 0
invokevirtual org.graalvm.compiler.graph.Node.hasNoUsages:()Z
ifeq 3
1: aload 0
invokestatic org.graalvm.compiler.nodes.util.GraphUtil.killWithUnusedFloatingInputs:(Lorg/graalvm/compiler/graph/Node;)V
2: iconst_1
ireturn
3: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 node Lorg/graalvm/compiler/graph/Node;
MethodParameters:
Name Flags
node
public static org.graalvm.compiler.graph.iterators.NodeIterable<org.graalvm.compiler.nodes.FixedNode> predecessorIterable(org.graalvm.compiler.nodes.FixedNode);
descriptor: (Lorg/graalvm/compiler/nodes/FixedNode;)Lorg/graalvm/compiler/graph/iterators/NodeIterable;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new org.graalvm.compiler.nodes.util.GraphUtil$2
dup
aload 0
invokespecial org.graalvm.compiler.nodes.util.GraphUtil$2.<init>:(Lorg/graalvm/compiler/nodes/FixedNode;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 start Lorg/graalvm/compiler/nodes/FixedNode;
Signature: (Lorg/graalvm/compiler/nodes/FixedNode;)Lorg/graalvm/compiler/graph/iterators/NodeIterable<Lorg/graalvm/compiler/nodes/FixedNode;>;
MethodParameters:
Name Flags
start final
public static org.graalvm.compiler.graph.spi.SimplifierTool getDefaultSimplifier(jdk.vm.ci.meta.MetaAccessProvider, jdk.vm.ci.meta.ConstantReflectionProvider, org.graalvm.compiler.core.common.spi.ConstantFieldProvider, boolean, jdk.vm.ci.meta.Assumptions);
descriptor: (Ljdk/vm/ci/meta/MetaAccessProvider;Ljdk/vm/ci/meta/ConstantReflectionProvider;Lorg/graalvm/compiler/core/common/spi/ConstantFieldProvider;ZLjdk/vm/ci/meta/Assumptions;)Lorg/graalvm/compiler/graph/spi/SimplifierTool;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
aload 1
aload 2
iload 3
aload 4
aconst_null
invokestatic org.graalvm.compiler.nodes.util.GraphUtil.getDefaultSimplifier:(Ljdk/vm/ci/meta/MetaAccessProvider;Ljdk/vm/ci/meta/ConstantReflectionProvider;Lorg/graalvm/compiler/core/common/spi/ConstantFieldProvider;ZLjdk/vm/ci/meta/Assumptions;Lorg/graalvm/compiler/nodes/spi/LoweringProvider;)Lorg/graalvm/compiler/graph/spi/SimplifierTool;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 metaAccess Ljdk/vm/ci/meta/MetaAccessProvider;
0 1 1 constantReflection Ljdk/vm/ci/meta/ConstantReflectionProvider;
0 1 2 constantFieldProvider Lorg/graalvm/compiler/core/common/spi/ConstantFieldProvider;
0 1 3 canonicalizeReads Z
0 1 4 assumptions Ljdk/vm/ci/meta/Assumptions;
MethodParameters:
Name Flags
metaAccess
constantReflection
constantFieldProvider
canonicalizeReads
assumptions
public static org.graalvm.compiler.graph.spi.SimplifierTool getDefaultSimplifier(jdk.vm.ci.meta.MetaAccessProvider, jdk.vm.ci.meta.ConstantReflectionProvider, org.graalvm.compiler.core.common.spi.ConstantFieldProvider, boolean, jdk.vm.ci.meta.Assumptions, org.graalvm.compiler.nodes.spi.LoweringProvider);
descriptor: (Ljdk/vm/ci/meta/MetaAccessProvider;Ljdk/vm/ci/meta/ConstantReflectionProvider;Lorg/graalvm/compiler/core/common/spi/ConstantFieldProvider;ZLjdk/vm/ci/meta/Assumptions;Lorg/graalvm/compiler/nodes/spi/LoweringProvider;)Lorg/graalvm/compiler/graph/spi/SimplifierTool;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=8, 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.util.GraphUtil$DefaultSimplifierTool
dup
aload 0
aload 1
aload 2
iload 3
aload 4
aload 5
invokespecial org.graalvm.compiler.nodes.util.GraphUtil$DefaultSimplifierTool.<init>:(Ljdk/vm/ci/meta/MetaAccessProvider;Ljdk/vm/ci/meta/ConstantReflectionProvider;Lorg/graalvm/compiler/core/common/spi/ConstantFieldProvider;ZLjdk/vm/ci/meta/Assumptions;Lorg/graalvm/compiler/nodes/spi/LoweringProvider;)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 metaAccess Ljdk/vm/ci/meta/MetaAccessProvider;
0 1 1 constantReflection Ljdk/vm/ci/meta/ConstantReflectionProvider;
0 1 2 constantFieldProvider Lorg/graalvm/compiler/core/common/spi/ConstantFieldProvider;
0 1 3 canonicalizeReads Z
0 1 4 assumptions Ljdk/vm/ci/meta/Assumptions;
0 1 5 loweringProvider Lorg/graalvm/compiler/nodes/spi/LoweringProvider;
MethodParameters:
Name Flags
metaAccess
constantReflection
constantFieldProvider
canonicalizeReads
assumptions
loweringProvider
public static jdk.vm.ci.meta.Constant foldIfConstantAndRemove(org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.ValueNode);
descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)Ljdk/vm/ci/meta/Constant;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: getstatic org.graalvm.compiler.nodes.util.GraphUtil.$assertionsDisabled:Z
ifne 1
aload 0
invokevirtual org.graalvm.compiler.nodes.ValueNode.inputs:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
aload 1
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.contains:(Lorg/graalvm/compiler/graph/Node;)Z
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 1
invokevirtual org.graalvm.compiler.nodes.ValueNode.isConstant:()Z
ifeq 6
2: aload 0
aload 1
aconst_null
invokevirtual org.graalvm.compiler.nodes.ValueNode.replaceFirstInput:(Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;)V
3: aload 1
invokevirtual org.graalvm.compiler.nodes.ValueNode.asConstant:()Ljdk/vm/ci/meta/Constant;
astore 2
start local 2 4: aload 1
invokestatic org.graalvm.compiler.nodes.util.GraphUtil.tryKillUnused:(Lorg/graalvm/compiler/graph/Node;)Z
pop
5: aload 2
areturn
end local 2 6: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 node Lorg/graalvm/compiler/nodes/ValueNode;
0 7 1 constant Lorg/graalvm/compiler/nodes/ValueNode;
4 6 2 result Ljdk/vm/ci/meta/Constant;
MethodParameters:
Name Flags
node
constant
private static boolean lambda$0(org.graalvm.compiler.graph.Node);
descriptor: (Lorg/graalvm/compiler/graph/Node;)Z
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.graalvm.compiler.graph.Node.isDeleted:()Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 n Lorg/graalvm/compiler/graph/Node;
}
SourceFile: "GraphUtil.java"
NestMembers:
org.graalvm.compiler.nodes.util.GraphUtil$1 org.graalvm.compiler.nodes.util.GraphUtil$2 org.graalvm.compiler.nodes.util.GraphUtil$2$1 org.graalvm.compiler.nodes.util.GraphUtil$DefaultSimplifierTool org.graalvm.compiler.nodes.util.GraphUtil$Options org.graalvm.compiler.nodes.util.GraphUtil$OriginalValueSearch org.graalvm.compiler.nodes.util.GraphUtil$PoisonNode
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
public abstract Scope = org.graalvm.compiler.debug.Debug$Scope of org.graalvm.compiler.debug.Debug
public Mark = org.graalvm.compiler.graph.Graph$Mark of org.graalvm.compiler.graph.Graph
public abstract NodeEventListener = org.graalvm.compiler.graph.Graph$NodeEventListener of org.graalvm.compiler.graph.Graph
public final NodeEventScope = org.graalvm.compiler.graph.Graph$NodeEventScope of org.graalvm.compiler.graph.Graph
public Options = org.graalvm.compiler.graph.Graph$Options of org.graalvm.compiler.graph.Graph
public abstract ValueNumberable = org.graalvm.compiler.graph.Node$ValueNumberable of org.graalvm.compiler.graph.Node
org.graalvm.compiler.nodes.util.GraphUtil$1
org.graalvm.compiler.nodes.util.GraphUtil$2
private final DefaultSimplifierTool = org.graalvm.compiler.nodes.util.GraphUtil$DefaultSimplifierTool of org.graalvm.compiler.nodes.util.GraphUtil
public Options = org.graalvm.compiler.nodes.util.GraphUtil$Options of org.graalvm.compiler.nodes.util.GraphUtil
OriginalValueSearch = org.graalvm.compiler.nodes.util.GraphUtil$OriginalValueSearch of org.graalvm.compiler.nodes.util.GraphUtil
private final PoisonNode = org.graalvm.compiler.nodes.util.GraphUtil$PoisonNode of org.graalvm.compiler.nodes.util.GraphUtil