public class org.graalvm.compiler.nodes.GraphDecoder
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.graalvm.compiler.nodes.GraphDecoder
super_class: java.lang.Object
{
protected final jdk.vm.ci.code.Architecture architecture;
descriptor: Ljdk/vm/ci/code/Architecture;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
protected final org.graalvm.compiler.nodes.StructuredGraph graph;
descriptor: Lorg/graalvm/compiler/nodes/StructuredGraph;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
protected final org.graalvm.compiler.options.OptionValues options;
descriptor: Lorg/graalvm/compiler/options/OptionValues;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
protected final org.graalvm.compiler.debug.DebugContext debug;
descriptor: Lorg/graalvm/compiler/debug/DebugContext;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
private final jdk.internal.vm.compiler.collections.EconomicMap<org.graalvm.compiler.graph.NodeClass<?>, java.util.ArrayDeque<org.graalvm.compiler.graph.Node>> reusableFloatingNodes;
descriptor: Ljdk/internal/vm/compiler/collections/EconomicMap;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljdk/internal/vm/compiler/collections/EconomicMap<Lorg/graalvm/compiler/graph/NodeClass<*>;Ljava/util/ArrayDeque<Lorg/graalvm/compiler/graph/Node;>;>;
public static final boolean DUMP_DURING_FIXED_NODE_PROCESSING;
descriptor: Z
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 0
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/GraphDecoder;
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.GraphDecoder.$assertionsDisabled:Z
3: return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(jdk.vm.ci.code.Architecture, org.graalvm.compiler.nodes.StructuredGraph);
descriptor: (Ljdk/vm/ci/code/Architecture;Lorg/graalvm/compiler/nodes/StructuredGraph;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield org.graalvm.compiler.nodes.GraphDecoder.architecture:Ljdk/vm/ci/code/Architecture;
2: aload 0
aload 2
putfield org.graalvm.compiler.nodes.GraphDecoder.graph:Lorg/graalvm/compiler/nodes/StructuredGraph;
3: aload 0
aload 2
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getOptions:()Lorg/graalvm/compiler/options/OptionValues;
putfield org.graalvm.compiler.nodes.GraphDecoder.options:Lorg/graalvm/compiler/options/OptionValues;
4: aload 0
aload 2
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getDebug:()Lorg/graalvm/compiler/debug/DebugContext;
putfield org.graalvm.compiler.nodes.GraphDecoder.debug:Lorg/graalvm/compiler/debug/DebugContext;
5: aload 0
getstatic jdk.internal.vm.compiler.collections.Equivalence.IDENTITY:Ljdk/internal/vm/compiler/collections/Equivalence;
invokestatic jdk.internal.vm.compiler.collections.EconomicMap.create:(Ljdk/internal/vm/compiler/collections/Equivalence;)Ljdk/internal/vm/compiler/collections/EconomicMap;
putfield org.graalvm.compiler.nodes.GraphDecoder.reusableFloatingNodes:Ljdk/internal/vm/compiler/collections/EconomicMap;
6: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/graalvm/compiler/nodes/GraphDecoder;
0 7 1 architecture Ljdk/vm/ci/code/Architecture;
0 7 2 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
MethodParameters:
Name Flags
architecture
graph
public final void decode(org.graalvm.compiler.nodes.EncodedGraph);
descriptor: (Lorg/graalvm/compiler/nodes/EncodedGraph;)V
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=7, locals=6, args_size=2
start local 0 start local 1 0: aconst_null
astore 2
aconst_null
astore 3
1: aload 0
getfield org.graalvm.compiler.nodes.GraphDecoder.debug:Lorg/graalvm/compiler/debug/DebugContext;
ldc "GraphDecoder"
aload 0
getfield org.graalvm.compiler.nodes.GraphDecoder.graph:Lorg/graalvm/compiler/nodes/StructuredGraph;
invokevirtual org.graalvm.compiler.debug.DebugContext.scope:(Ljava/lang/Object;Ljava/lang/Object;)Lorg/graalvm/compiler/debug/DebugContext$Scope;
astore 4
start local 4 2: new org.graalvm.compiler.nodes.GraphDecoder$MethodScope
dup
aload 0
aconst_null
aload 0
getfield org.graalvm.compiler.nodes.GraphDecoder.graph:Lorg/graalvm/compiler/nodes/StructuredGraph;
aload 1
getstatic org.graalvm.compiler.nodes.graphbuilderconf.LoopExplosionPlugin$LoopExplosionKind.NONE:Lorg/graalvm/compiler/nodes/graphbuilderconf/LoopExplosionPlugin$LoopExplosionKind;
invokespecial org.graalvm.compiler.nodes.GraphDecoder$MethodScope.<init>:(Lorg/graalvm/compiler/nodes/GraphDecoder;Lorg/graalvm/compiler/nodes/GraphDecoder$LoopScope;Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/EncodedGraph;Lorg/graalvm/compiler/nodes/graphbuilderconf/LoopExplosionPlugin$LoopExplosionKind;)V
astore 5
start local 5 3: aload 0
aload 0
aload 5
aconst_null
invokevirtual org.graalvm.compiler.nodes.GraphDecoder.createInitialLoopScope:(Lorg/graalvm/compiler/nodes/GraphDecoder$MethodScope;Lorg/graalvm/compiler/nodes/FixedWithNextNode;)Lorg/graalvm/compiler/nodes/GraphDecoder$LoopScope;
invokevirtual org.graalvm.compiler.nodes.GraphDecoder.decode:(Lorg/graalvm/compiler/nodes/GraphDecoder$LoopScope;)V
4: aload 0
aload 5
invokevirtual org.graalvm.compiler.nodes.GraphDecoder.cleanupGraph:(Lorg/graalvm/compiler/nodes/GraphDecoder$MethodScope;)V
5: getstatic org.graalvm.compiler.nodes.GraphDecoder.$assertionsDisabled:Z
ifne 6
aload 0
getfield org.graalvm.compiler.nodes.GraphDecoder.graph:Lorg/graalvm/compiler/nodes/StructuredGraph;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.verify:()Z
ifne 6
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
end local 5 6: StackMap locals: java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope
StackMap stack:
aload 4
ifnull 14
aload 4
invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
goto 14
StackMap locals:
StackMap stack: java.lang.Throwable
7: astore 2
aload 4
ifnull 8
aload 4
invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
end local 4 StackMap locals:
StackMap stack:
8: aload 2
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
9: astore 3
aload 2
ifnonnull 10
aload 3
astore 2
goto 11
StackMap locals:
StackMap stack:
10: aload 2
aload 3
if_acmpeq 11
aload 2
aload 3
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
11: aload 2
athrow
StackMap locals: org.graalvm.compiler.nodes.GraphDecoder org.graalvm.compiler.nodes.EncodedGraph
StackMap stack: java.lang.Throwable
12: astore 2
start local 2 13: aload 0
getfield org.graalvm.compiler.nodes.GraphDecoder.debug:Lorg/graalvm/compiler/debug/DebugContext;
aload 2
invokevirtual org.graalvm.compiler.debug.DebugContext.handle:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
pop
end local 2 14: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lorg/graalvm/compiler/nodes/GraphDecoder;
0 15 1 encodedGraph Lorg/graalvm/compiler/nodes/EncodedGraph;
2 8 4 scope Lorg/graalvm/compiler/debug/DebugContext$Scope;
3 6 5 methodScope Lorg/graalvm/compiler/nodes/GraphDecoder$MethodScope;
13 14 2 ex Ljava/lang/Throwable;
Exception table:
from to target type
2 6 7 any
1 9 9 any
0 12 12 Class java.lang.Throwable
MethodParameters:
Name Flags
encodedGraph
protected final org.graalvm.compiler.nodes.GraphDecoder$LoopScope createInitialLoopScope(org.graalvm.compiler.nodes.GraphDecoder$MethodScope, org.graalvm.compiler.nodes.FixedWithNextNode);
descriptor: (Lorg/graalvm/compiler/nodes/GraphDecoder$MethodScope;Lorg/graalvm/compiler/nodes/FixedWithNextNode;)Lorg/graalvm/compiler/nodes/GraphDecoder$LoopScope;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=6, locals=5, args_size=3
start local 0 start local 1 start local 2 0: new org.graalvm.compiler.nodes.GraphDecoder$LoopScope
dup
aload 1
invokespecial org.graalvm.compiler.nodes.GraphDecoder$LoopScope.<init>:(Lorg/graalvm/compiler/nodes/GraphDecoder$MethodScope;)V
astore 3
start local 3 1: aload 2
ifnull 7
2: aload 0
aload 3
iconst_1
aload 2
invokestatic org.graalvm.compiler.nodes.AbstractBeginNode.prevBegin:(Lorg/graalvm/compiler/nodes/FixedNode;)Lorg/graalvm/compiler/nodes/AbstractBeginNode;
iconst_0
iconst_0
invokevirtual org.graalvm.compiler.nodes.GraphDecoder.registerNode:(Lorg/graalvm/compiler/nodes/GraphDecoder$LoopScope;ILorg/graalvm/compiler/graph/Node;ZZ)V
3: aload 0
aload 1
aload 3
iconst_2
invokevirtual org.graalvm.compiler.nodes.GraphDecoder.makeStubNode:(Lorg/graalvm/compiler/nodes/GraphDecoder$MethodScope;Lorg/graalvm/compiler/nodes/GraphDecoder$LoopScope;I)Lorg/graalvm/compiler/nodes/FixedNode;
astore 4
start local 4 4: aload 2
aload 4
invokevirtual org.graalvm.compiler.nodes.FixedWithNextNode.setNext:(Lorg/graalvm/compiler/nodes/FixedNode;)V
5: aload 3
getfield org.graalvm.compiler.nodes.GraphDecoder$LoopScope.nodesToProcess:Ljava/util/BitSet;
iconst_2
invokevirtual java.util.BitSet.set:(I)V
6: goto 10
end local 4 7: StackMap locals: org.graalvm.compiler.nodes.GraphDecoder$LoopScope
StackMap stack:
aload 0
getfield org.graalvm.compiler.nodes.GraphDecoder.graph:Lorg/graalvm/compiler/nodes/StructuredGraph;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.start:()Lorg/graalvm/compiler/nodes/StartNode;
astore 4
start local 4 8: aload 0
aload 3
iconst_1
aload 4
iconst_0
iconst_0
invokevirtual org.graalvm.compiler.nodes.GraphDecoder.registerNode:(Lorg/graalvm/compiler/nodes/GraphDecoder$LoopScope;ILorg/graalvm/compiler/graph/Node;ZZ)V
9: aload 3
getfield org.graalvm.compiler.nodes.GraphDecoder$LoopScope.nodesToProcess:Ljava/util/BitSet;
iconst_1
invokevirtual java.util.BitSet.set:(I)V
10: StackMap locals: org.graalvm.compiler.nodes.FixedNode
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 11 0 this Lorg/graalvm/compiler/nodes/GraphDecoder;
0 11 1 methodScope Lorg/graalvm/compiler/nodes/GraphDecoder$MethodScope;
0 11 2 startNode Lorg/graalvm/compiler/nodes/FixedWithNextNode;
1 11 3 loopScope Lorg/graalvm/compiler/nodes/GraphDecoder$LoopScope;
4 7 4 firstNode Lorg/graalvm/compiler/nodes/FixedNode;
8 11 4 firstNode Lorg/graalvm/compiler/nodes/FixedNode;
MethodParameters:
Name Flags
methodScope
startNode
protected final void decode(org.graalvm.compiler.nodes.GraphDecoder$LoopScope);
descriptor: (Lorg/graalvm/compiler/nodes/GraphDecoder$LoopScope;)V
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=4, locals=5, args_size=2
start local 0 start local 1 0: aload 1
astore 2
start local 2 1: goto 19
2: StackMap locals: org.graalvm.compiler.nodes.GraphDecoder$LoopScope
StackMap stack:
aload 2
getfield org.graalvm.compiler.nodes.GraphDecoder$LoopScope.methodScope:Lorg/graalvm/compiler/nodes/GraphDecoder$MethodScope;
astore 3
start local 3 3: goto 12
4: StackMap locals: org.graalvm.compiler.nodes.GraphDecoder$MethodScope
StackMap stack:
aload 0
aload 3
aload 2
invokevirtual org.graalvm.compiler.nodes.GraphDecoder.processNextNode:(Lorg/graalvm/compiler/nodes/GraphDecoder$MethodScope;Lorg/graalvm/compiler/nodes/GraphDecoder$LoopScope;)Lorg/graalvm/compiler/nodes/GraphDecoder$LoopScope;
astore 2
5: aload 2
getfield org.graalvm.compiler.nodes.GraphDecoder$LoopScope.methodScope:Lorg/graalvm/compiler/nodes/GraphDecoder$MethodScope;
astore 3
6: StackMap locals:
StackMap stack:
aload 2
getfield org.graalvm.compiler.nodes.GraphDecoder$LoopScope.nodesToProcess:Ljava/util/BitSet;
invokevirtual java.util.BitSet.isEmpty:()Z
ifeq 4
7: aload 2
invokevirtual org.graalvm.compiler.nodes.GraphDecoder$LoopScope.hasIterationsToProcess:()Z
ifeq 10
8: aload 2
iconst_1
invokevirtual org.graalvm.compiler.nodes.GraphDecoder$LoopScope.getNextIterationToProcess:(Z)Lorg/graalvm/compiler/nodes/GraphDecoder$LoopScope;
astore 2
9: goto 12
10: StackMap locals:
StackMap stack:
aload 2
invokestatic org.graalvm.compiler.nodes.GraphDecoder.propagateCreatedNodes:(Lorg/graalvm/compiler/nodes/GraphDecoder$LoopScope;)V
11: aload 2
getfield org.graalvm.compiler.nodes.GraphDecoder$LoopScope.outer:Lorg/graalvm/compiler/nodes/GraphDecoder$LoopScope;
astore 2
12: StackMap locals:
StackMap stack:
aload 2
ifnonnull 6
13: aload 3
getfield org.graalvm.compiler.nodes.GraphDecoder$MethodScope.loopExplosion:Lorg/graalvm/compiler/nodes/graphbuilderconf/LoopExplosionPlugin$LoopExplosionKind;
invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.LoopExplosionPlugin$LoopExplosionKind.mergeLoops:()Z
ifeq 16
14: new org.graalvm.compiler.nodes.LoopDetector
dup
aload 0
getfield org.graalvm.compiler.nodes.GraphDecoder.graph:Lorg/graalvm/compiler/nodes/StructuredGraph;
aload 3
invokespecial org.graalvm.compiler.nodes.LoopDetector.<init>:(Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/GraphDecoder$MethodScope;)V
astore 4
start local 4 15: aload 4
invokevirtual org.graalvm.compiler.nodes.LoopDetector.run:()V
end local 4 16: StackMap locals:
StackMap stack:
aload 3
invokevirtual org.graalvm.compiler.nodes.GraphDecoder$MethodScope.isInlinedMethod:()Z
ifeq 18
17: aload 0
aload 3
invokevirtual org.graalvm.compiler.nodes.GraphDecoder.finishInlining:(Lorg/graalvm/compiler/nodes/GraphDecoder$MethodScope;)V
18: StackMap locals:
StackMap stack:
aload 3
getfield org.graalvm.compiler.nodes.GraphDecoder$MethodScope.callerLoopScope:Lorg/graalvm/compiler/nodes/GraphDecoder$LoopScope;
astore 2
end local 3 19: StackMap locals:
StackMap stack:
aload 2
ifnonnull 2
20: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 this Lorg/graalvm/compiler/nodes/GraphDecoder;
0 21 1 initialLoopScope Lorg/graalvm/compiler/nodes/GraphDecoder$LoopScope;
1 21 2 loopScope Lorg/graalvm/compiler/nodes/GraphDecoder$LoopScope;
3 19 3 methodScope Lorg/graalvm/compiler/nodes/GraphDecoder$MethodScope;
15 16 4 loopDetector Lorg/graalvm/compiler/nodes/LoopDetector;
MethodParameters:
Name Flags
initialLoopScope
protected void finishInlining(org.graalvm.compiler.nodes.GraphDecoder$MethodScope);
descriptor: (Lorg/graalvm/compiler/nodes/GraphDecoder$MethodScope;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=0, locals=2, args_size=2
start local 0 start local 1 0: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/nodes/GraphDecoder;
0 1 1 inlineScope Lorg/graalvm/compiler/nodes/GraphDecoder$MethodScope;
MethodParameters:
Name Flags
inlineScope
private static void propagateCreatedNodes(org.graalvm.compiler.nodes.GraphDecoder$LoopScope);
descriptor: (Lorg/graalvm/compiler/nodes/GraphDecoder$LoopScope;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: aload 0
getfield org.graalvm.compiler.nodes.GraphDecoder$LoopScope.outer:Lorg/graalvm/compiler/nodes/GraphDecoder$LoopScope;
ifnull 1
aload 0
getfield org.graalvm.compiler.nodes.GraphDecoder$LoopScope.createdNodes:[Lorg/graalvm/compiler/graph/Node;
aload 0
getfield org.graalvm.compiler.nodes.GraphDecoder$LoopScope.outer:Lorg/graalvm/compiler/nodes/GraphDecoder$LoopScope;
getfield org.graalvm.compiler.nodes.GraphDecoder$LoopScope.createdNodes:[Lorg/graalvm/compiler/graph/Node;
if_acmpeq 2
1: StackMap locals:
StackMap stack:
return
2: StackMap locals:
StackMap stack:
iconst_0
istore 1
start local 1 3: goto 7
4: StackMap locals: int
StackMap stack:
aload 0
getfield org.graalvm.compiler.nodes.GraphDecoder$LoopScope.outer:Lorg/graalvm/compiler/nodes/GraphDecoder$LoopScope;
getfield org.graalvm.compiler.nodes.GraphDecoder$LoopScope.createdNodes:[Lorg/graalvm/compiler/graph/Node;
iload 1
aaload
ifnonnull 6
5: aload 0
getfield org.graalvm.compiler.nodes.GraphDecoder$LoopScope.outer:Lorg/graalvm/compiler/nodes/GraphDecoder$LoopScope;
getfield org.graalvm.compiler.nodes.GraphDecoder$LoopScope.createdNodes:[Lorg/graalvm/compiler/graph/Node;
iload 1
aload 0
getfield org.graalvm.compiler.nodes.GraphDecoder$LoopScope.createdNodes:[Lorg/graalvm/compiler/graph/Node;
iload 1
aaload
aastore
6: StackMap locals:
StackMap stack:
iinc 1 1
StackMap locals:
StackMap stack:
7: iload 1
aload 0
getfield org.graalvm.compiler.nodes.GraphDecoder$LoopScope.createdNodes:[Lorg/graalvm/compiler/graph/Node;
arraylength
if_icmplt 4
end local 1 8: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 loopScope Lorg/graalvm/compiler/nodes/GraphDecoder$LoopScope;
3 8 1 i I
MethodParameters:
Name Flags
loopScope
protected org.graalvm.compiler.nodes.GraphDecoder$LoopScope processNextNode(org.graalvm.compiler.nodes.GraphDecoder$MethodScope, org.graalvm.compiler.nodes.GraphDecoder$LoopScope);
descriptor: (Lorg/graalvm/compiler/nodes/GraphDecoder$MethodScope;Lorg/graalvm/compiler/nodes/GraphDecoder$LoopScope;)Lorg/graalvm/compiler/nodes/GraphDecoder$LoopScope;
flags: (0x0004) ACC_PROTECTED
Code:
stack=15, locals=16, args_size=3
start local 0 start local 1 start local 2 0: aload 2
getfield org.graalvm.compiler.nodes.GraphDecoder$LoopScope.nodesToProcess:Ljava/util/BitSet;
iconst_0
invokevirtual java.util.BitSet.nextSetBit:(I)I
istore 3
start local 3 1: aload 2
getfield org.graalvm.compiler.nodes.GraphDecoder$LoopScope.nodesToProcess:Ljava/util/BitSet;
iload 3
invokevirtual java.util.BitSet.clear:(I)V
2: aload 0
aload 2
iload 3
invokevirtual org.graalvm.compiler.nodes.GraphDecoder.lookupNode:(Lorg/graalvm/compiler/nodes/GraphDecoder$LoopScope;I)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.FixedNode
astore 4
start local 4 3: aload 4
invokevirtual org.graalvm.compiler.nodes.FixedNode.isDeleted:()Z
ifeq 5
4: aload 2
areturn
5: StackMap locals: int org.graalvm.compiler.nodes.FixedNode
StackMap stack:
aload 4
instanceof org.graalvm.compiler.nodes.MergeNode
ifne 8
6: aload 4
instanceof org.graalvm.compiler.nodes.LoopBeginNode
ifeq 17
aload 1
getfield org.graalvm.compiler.nodes.GraphDecoder$MethodScope.loopExplosion:Lorg/graalvm/compiler/nodes/graphbuilderconf/LoopExplosionPlugin$LoopExplosionKind;
invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.LoopExplosionPlugin$LoopExplosionKind.unrollLoops:()Z
ifeq 17
7: aload 1
getfield org.graalvm.compiler.nodes.GraphDecoder$MethodScope.loopExplosion:Lorg/graalvm/compiler/nodes/graphbuilderconf/LoopExplosionPlugin$LoopExplosionKind;
invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.LoopExplosionPlugin$LoopExplosionKind.mergeLoops:()Z
ifne 17
8: StackMap locals:
StackMap stack:
aload 4
checkcast org.graalvm.compiler.nodes.AbstractMergeNode
invokevirtual org.graalvm.compiler.nodes.AbstractMergeNode.forwardEndCount:()I
iconst_1
if_icmpne 17
9: aload 4
checkcast org.graalvm.compiler.nodes.AbstractMergeNode
astore 5
start local 5 10: aload 5
iconst_0
invokevirtual org.graalvm.compiler.nodes.AbstractMergeNode.forwardEndAt:(I)Lorg/graalvm/compiler/nodes/EndNode;
astore 6
start local 6 11: aload 0
aload 2
iload 3
aload 6
invokestatic org.graalvm.compiler.nodes.AbstractBeginNode.prevBegin:(Lorg/graalvm/compiler/nodes/FixedNode;)Lorg/graalvm/compiler/nodes/AbstractBeginNode;
iconst_1
iconst_0
invokevirtual org.graalvm.compiler.nodes.GraphDecoder.registerNode:(Lorg/graalvm/compiler/nodes/GraphDecoder$LoopScope;ILorg/graalvm/compiler/graph/Node;ZZ)V
12: aload 0
aload 1
aload 2
iload 3
iconst_1
iadd
invokevirtual org.graalvm.compiler.nodes.GraphDecoder.makeStubNode:(Lorg/graalvm/compiler/nodes/GraphDecoder$MethodScope;Lorg/graalvm/compiler/nodes/GraphDecoder$LoopScope;I)Lorg/graalvm/compiler/nodes/FixedNode;
astore 7
start local 7 13: aload 6
aload 7
invokevirtual org.graalvm.compiler.nodes.EndNode.replaceAtPredecessor:(Lorg/graalvm/compiler/graph/Node;)V
14: aload 5
invokevirtual org.graalvm.compiler.nodes.AbstractMergeNode.safeDelete:()V
15: aload 6
invokevirtual org.graalvm.compiler.nodes.EndNode.safeDelete:()V
16: aload 2
areturn
end local 7 end local 6 end local 5 17: StackMap locals:
StackMap stack:
aload 2
astore 5
start local 5 18: iconst_1
istore 6
start local 6 19: aload 4
instanceof org.graalvm.compiler.nodes.LoopExitNode
ifeq 48
20: aload 1
getfield org.graalvm.compiler.nodes.GraphDecoder$MethodScope.loopExplosion:Lorg/graalvm/compiler/nodes/graphbuilderconf/LoopExplosionPlugin$LoopExplosionKind;
invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.LoopExplosionPlugin$LoopExplosionKind.duplicateLoopExits:()Z
ifne 21
aload 1
getfield org.graalvm.compiler.nodes.GraphDecoder$MethodScope.loopExplosion:Lorg/graalvm/compiler/nodes/graphbuilderconf/LoopExplosionPlugin$LoopExplosionKind;
invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.LoopExplosionPlugin$LoopExplosionKind.mergeLoops:()Z
ifeq 46
aload 2
getfield org.graalvm.compiler.nodes.GraphDecoder$LoopScope.loopDepth:I
iconst_1
if_icmple 46
21: StackMap locals: org.graalvm.compiler.nodes.GraphDecoder$LoopScope int
StackMap stack:
aload 2
getfield org.graalvm.compiler.nodes.GraphDecoder$LoopScope.outer:Lorg/graalvm/compiler/nodes/GraphDecoder$LoopScope;
astore 7
start local 7 22: aload 7
getfield org.graalvm.compiler.nodes.GraphDecoder$LoopScope.nextIterationFromLoopExitDuplication:Ljava/util/Deque;
invokeinterface java.util.Deque.isEmpty:()Z
ifeq 23
aload 7
getfield org.graalvm.compiler.nodes.GraphDecoder$LoopScope.loopIteration:I
iconst_1
iadd
goto 24
23: StackMap locals: org.graalvm.compiler.nodes.GraphDecoder$LoopScope
StackMap stack:
aload 7
getfield org.graalvm.compiler.nodes.GraphDecoder$LoopScope.nextIterationFromLoopExitDuplication:Ljava/util/Deque;
invokeinterface java.util.Deque.getLast:()Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.GraphDecoder$LoopScope
getfield org.graalvm.compiler.nodes.GraphDecoder$LoopScope.loopIteration:I
iconst_1
iadd
24: StackMap locals:
StackMap stack: int
istore 8
start local 8 25: aload 7
getfield org.graalvm.compiler.nodes.GraphDecoder$LoopScope.initialCreatedNodes:[Lorg/graalvm/compiler/graph/Node;
ifnonnull 26
aconst_null
goto 29
26: StackMap locals: int
StackMap stack:
aload 1
getfield org.graalvm.compiler.nodes.GraphDecoder$MethodScope.loopExplosion:Lorg/graalvm/compiler/nodes/graphbuilderconf/LoopExplosionPlugin$LoopExplosionKind;
invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.LoopExplosionPlugin$LoopExplosionKind.mergeLoops:()Z
ifeq 28
27: aload 7
getfield org.graalvm.compiler.nodes.GraphDecoder$LoopScope.initialCreatedNodes:[Lorg/graalvm/compiler/graph/Node;
aload 7
getfield org.graalvm.compiler.nodes.GraphDecoder$LoopScope.initialCreatedNodes:[Lorg/graalvm/compiler/graph/Node;
arraylength
invokestatic java.util.Arrays.copyOf:([Ljava/lang/Object;I)[Ljava/lang/Object;
checkcast org.graalvm.compiler.graph.Node[]
goto 29
28: StackMap locals:
StackMap stack:
aload 7
getfield org.graalvm.compiler.nodes.GraphDecoder$LoopScope.initialCreatedNodes:[Lorg/graalvm/compiler/graph/Node;
29: StackMap locals:
StackMap stack: org.graalvm.compiler.graph.Node[]
astore 9
start local 9 30: new org.graalvm.compiler.nodes.GraphDecoder$LoopScope
dup
aload 1
aload 7
getfield org.graalvm.compiler.nodes.GraphDecoder$LoopScope.outer:Lorg/graalvm/compiler/nodes/GraphDecoder$LoopScope;
aload 7
getfield org.graalvm.compiler.nodes.GraphDecoder$LoopScope.loopDepth:I
iload 8
aload 7
getfield org.graalvm.compiler.nodes.GraphDecoder$LoopScope.loopBeginOrderId:I
getstatic org.graalvm.compiler.nodes.GraphDecoder$LoopScopeTrigger.LOOP_EXIT_DUPLICATION:Lorg/graalvm/compiler/nodes/GraphDecoder$LoopScopeTrigger;
31: aload 9
32: aload 2
getfield org.graalvm.compiler.nodes.GraphDecoder$LoopScope.initialCreatedNodes:[Lorg/graalvm/compiler/graph/Node;
aload 2
getfield org.graalvm.compiler.nodes.GraphDecoder$LoopScope.initialCreatedNodes:[Lorg/graalvm/compiler/graph/Node;
arraylength
invokestatic java.util.Arrays.copyOf:([Ljava/lang/Object;I)[Ljava/lang/Object;
checkcast org.graalvm.compiler.graph.Node[]
33: aload 7
getfield org.graalvm.compiler.nodes.GraphDecoder$LoopScope.nextIterationFromLoopExitDuplication:Ljava/util/Deque;
34: aload 7
getfield org.graalvm.compiler.nodes.GraphDecoder$LoopScope.nextIterationFromLoopEndDuplication:Ljava/util/Deque;
35: aload 7
getfield org.graalvm.compiler.nodes.GraphDecoder$LoopScope.nextIterationsFromUnrolling:Ljava/util/Deque;
36: aload 7
getfield org.graalvm.compiler.nodes.GraphDecoder$LoopScope.iterationStates:Ljdk/internal/vm/compiler/collections/EconomicMap;
37: invokespecial org.graalvm.compiler.nodes.GraphDecoder$LoopScope.<init>:(Lorg/graalvm/compiler/nodes/GraphDecoder$MethodScope;Lorg/graalvm/compiler/nodes/GraphDecoder$LoopScope;IIILorg/graalvm/compiler/nodes/GraphDecoder$LoopScopeTrigger;[Lorg/graalvm/compiler/graph/Node;[Lorg/graalvm/compiler/graph/Node;Ljava/util/Deque;Ljava/util/Deque;Ljava/util/Deque;Ljdk/internal/vm/compiler/collections/EconomicMap;)V
astore 5
38: aload 0
aload 1
aload 5
invokevirtual org.graalvm.compiler.nodes.GraphDecoder.checkLoopExplosionIteration:(Lorg/graalvm/compiler/nodes/GraphDecoder$MethodScope;Lorg/graalvm/compiler/nodes/GraphDecoder$LoopScope;)V
39: aload 7
getfield org.graalvm.compiler.nodes.GraphDecoder$LoopScope.nodesToProcess:Ljava/util/BitSet;
iconst_0
invokevirtual java.util.BitSet.nextSetBit:(I)I
istore 10
start local 10 40: goto 43
41: StackMap locals: org.graalvm.compiler.graph.Node[] int
StackMap stack:
aload 5
getfield org.graalvm.compiler.nodes.GraphDecoder$LoopScope.createdNodes:[Lorg/graalvm/compiler/graph/Node;
iload 10
aconst_null
aastore
42: aload 7
getfield org.graalvm.compiler.nodes.GraphDecoder$LoopScope.nodesToProcess:Ljava/util/BitSet;
iload 10
iconst_1
iadd
invokevirtual java.util.BitSet.nextSetBit:(I)I
istore 10
StackMap locals:
StackMap stack:
43: iload 10
ifge 41
end local 10 44: aload 7
getfield org.graalvm.compiler.nodes.GraphDecoder$LoopScope.nextIterationFromLoopExitDuplication:Ljava/util/Deque;
aload 5
invokeinterface java.util.Deque.addLast:(Ljava/lang/Object;)V
end local 9 end local 8 end local 7 45: goto 47
46: StackMap locals: org.graalvm.compiler.nodes.GraphDecoder org.graalvm.compiler.nodes.GraphDecoder$MethodScope org.graalvm.compiler.nodes.GraphDecoder$LoopScope int org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.GraphDecoder$LoopScope int
StackMap stack:
aload 2
getfield org.graalvm.compiler.nodes.GraphDecoder$LoopScope.outer:Lorg/graalvm/compiler/nodes/GraphDecoder$LoopScope;
astore 5
47: StackMap locals:
StackMap stack:
aload 1
getfield org.graalvm.compiler.nodes.GraphDecoder$MethodScope.loopExplosion:Lorg/graalvm/compiler/nodes/graphbuilderconf/LoopExplosionPlugin$LoopExplosionKind;
invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.LoopExplosionPlugin$LoopExplosionKind.isNoExplosion:()Z
istore 6
48: StackMap locals:
StackMap stack:
aload 1
getfield org.graalvm.compiler.nodes.GraphDecoder$MethodScope.reader:Lorg/graalvm/compiler/core/common/util/TypeReader;
aload 1
getfield org.graalvm.compiler.nodes.GraphDecoder$MethodScope.encodedGraph:Lorg/graalvm/compiler/nodes/EncodedGraph;
getfield org.graalvm.compiler.nodes.EncodedGraph.nodeStartOffsets:[I
iload 3
iaload
i2l
invokeinterface org.graalvm.compiler.core.common.util.TypeReader.setByteIndex:(J)V
49: aload 1
getfield org.graalvm.compiler.nodes.GraphDecoder$MethodScope.reader:Lorg/graalvm/compiler/core/common/util/TypeReader;
invokeinterface org.graalvm.compiler.core.common.util.TypeReader.getUVInt:()I
istore 7
start local 7 50: getstatic org.graalvm.compiler.nodes.GraphDecoder.$assertionsDisabled:Z
ifne 51
aload 4
invokevirtual org.graalvm.compiler.nodes.FixedNode.getNodeClass:()Lorg/graalvm/compiler/graph/NodeClass;
aload 1
getfield org.graalvm.compiler.nodes.GraphDecoder$MethodScope.encodedGraph:Lorg/graalvm/compiler/nodes/EncodedGraph;
invokevirtual org.graalvm.compiler.nodes.EncodedGraph.getNodeClasses:()[Lorg/graalvm/compiler/graph/NodeClass;
iload 7
aaload
if_acmpeq 51
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
51: StackMap locals: int
StackMap stack:
aload 0
aload 1
aload 2
aload 4
invokevirtual org.graalvm.compiler.nodes.GraphDecoder.makeFixedNodeInputs:(Lorg/graalvm/compiler/nodes/GraphDecoder$MethodScope;Lorg/graalvm/compiler/nodes/GraphDecoder$LoopScope;Lorg/graalvm/compiler/graph/Node;)V
52: aload 0
aload 1
aload 4
invokevirtual org.graalvm.compiler.nodes.GraphDecoder.readProperties:(Lorg/graalvm/compiler/nodes/GraphDecoder$MethodScope;Lorg/graalvm/compiler/graph/Node;)V
53: aload 4
instanceof org.graalvm.compiler.nodes.IfNode
ifne 54
aload 4
instanceof org.graalvm.compiler.nodes.extended.SwitchNode
ifeq 56
54: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 5
iload 3
aload 4
invokevirtual org.graalvm.compiler.nodes.GraphDecoder.earlyCanonicalization:(Lorg/graalvm/compiler/nodes/GraphDecoder$MethodScope;Lorg/graalvm/compiler/nodes/GraphDecoder$LoopScope;ILorg/graalvm/compiler/nodes/FixedNode;)Z
ifeq 56
55: aload 2
areturn
56: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 5
aload 4
iload 6
invokevirtual org.graalvm.compiler.nodes.GraphDecoder.makeSuccessorStubs:(Lorg/graalvm/compiler/nodes/GraphDecoder$MethodScope;Lorg/graalvm/compiler/nodes/GraphDecoder$LoopScope;Lorg/graalvm/compiler/graph/Node;Z)V
57: aload 2
astore 8
start local 8 58: aload 4
instanceof org.graalvm.compiler.nodes.LoopBeginNode
ifeq 62
59: aload 1
getfield org.graalvm.compiler.nodes.GraphDecoder$MethodScope.loopExplosion:Lorg/graalvm/compiler/nodes/graphbuilderconf/LoopExplosionPlugin$LoopExplosionKind;
invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.LoopExplosionPlugin$LoopExplosionKind.useExplosion:()Z
ifeq 158
60: aload 0
aload 1
aload 2
aload 4
checkcast org.graalvm.compiler.nodes.LoopBeginNode
invokevirtual org.graalvm.compiler.nodes.GraphDecoder.handleLoopExplosionBegin:(Lorg/graalvm/compiler/nodes/GraphDecoder$MethodScope;Lorg/graalvm/compiler/nodes/GraphDecoder$LoopScope;Lorg/graalvm/compiler/nodes/LoopBeginNode;)V
61: goto 158
StackMap locals: org.graalvm.compiler.nodes.GraphDecoder$LoopScope
StackMap stack:
62: aload 4
instanceof org.graalvm.compiler.nodes.LoopExitNode
ifeq 68
63: aload 1
getfield org.graalvm.compiler.nodes.GraphDecoder$MethodScope.loopExplosion:Lorg/graalvm/compiler/nodes/graphbuilderconf/LoopExplosionPlugin$LoopExplosionKind;
invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.LoopExplosionPlugin$LoopExplosionKind.useExplosion:()Z
ifeq 66
64: aload 0
aload 1
aload 2
aload 5
aload 4
checkcast org.graalvm.compiler.nodes.LoopExitNode
iload 3
invokevirtual org.graalvm.compiler.nodes.GraphDecoder.handleLoopExplosionProxyNodes:(Lorg/graalvm/compiler/nodes/GraphDecoder$MethodScope;Lorg/graalvm/compiler/nodes/GraphDecoder$LoopScope;Lorg/graalvm/compiler/nodes/GraphDecoder$LoopScope;Lorg/graalvm/compiler/nodes/LoopExitNode;I)V
65: goto 158
66: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
aload 4
checkcast org.graalvm.compiler.nodes.LoopExitNode
invokevirtual org.graalvm.compiler.nodes.GraphDecoder.handleProxyNodes:(Lorg/graalvm/compiler/nodes/GraphDecoder$MethodScope;Lorg/graalvm/compiler/nodes/GraphDecoder$LoopScope;Lorg/graalvm/compiler/nodes/LoopExitNode;)V
67: goto 158
StackMap locals:
StackMap stack:
68: aload 4
instanceof org.graalvm.compiler.nodes.MergeNode
ifeq 71
69: aload 0
aload 4
checkcast org.graalvm.compiler.nodes.MergeNode
invokevirtual org.graalvm.compiler.nodes.GraphDecoder.handleMergeNode:(Lorg/graalvm/compiler/nodes/MergeNode;)V
70: goto 158
StackMap locals:
StackMap stack:
71: aload 4
instanceof org.graalvm.compiler.nodes.AbstractEndNode
ifeq 150
72: aload 2
astore 9
start local 9 73: aload 2
astore 10
start local 10 74: aload 0
aload 1
invokevirtual org.graalvm.compiler.nodes.GraphDecoder.readOrderId:(Lorg/graalvm/compiler/nodes/GraphDecoder$MethodScope;)I
istore 11
start local 11 75: aload 1
getfield org.graalvm.compiler.nodes.GraphDecoder$MethodScope.loopExplosion:Lorg/graalvm/compiler/nodes/graphbuilderconf/LoopExplosionPlugin$LoopExplosionKind;
invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.LoopExplosionPlugin$LoopExplosionKind.unrollLoops:()Z
ifeq 82
76: aload 1
getfield org.graalvm.compiler.nodes.GraphDecoder$MethodScope.loopExplosion:Lorg/graalvm/compiler/nodes/graphbuilderconf/LoopExplosionPlugin$LoopExplosionKind;
invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.LoopExplosionPlugin$LoopExplosionKind.duplicateLoopExits:()Z
ifeq 82
77: aload 1
getfield org.graalvm.compiler.nodes.GraphDecoder$MethodScope.loopExplosion:Lorg/graalvm/compiler/nodes/graphbuilderconf/LoopExplosionPlugin$LoopExplosionKind;
invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.LoopExplosionPlugin$LoopExplosionKind.duplicateLoopEnds:()Z
ifne 82
78: aload 1
getfield org.graalvm.compiler.nodes.GraphDecoder$MethodScope.loopExplosion:Lorg/graalvm/compiler/nodes/graphbuilderconf/LoopExplosionPlugin$LoopExplosionKind;
invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.LoopExplosionPlugin$LoopExplosionKind.mergeLoops:()Z
ifne 82
79: aload 4
instanceof org.graalvm.compiler.nodes.LoopEndNode
ifeq 82
80: aload 2
getfield org.graalvm.compiler.nodes.GraphDecoder$LoopScope.trigger:Lorg/graalvm/compiler/nodes/GraphDecoder$LoopScopeTrigger;
getstatic org.graalvm.compiler.nodes.GraphDecoder$LoopScopeTrigger.LOOP_EXIT_DUPLICATION:Lorg/graalvm/compiler/nodes/GraphDecoder$LoopScopeTrigger;
if_acmpne 82
81: iconst_1
goto 83
StackMap locals: org.graalvm.compiler.nodes.GraphDecoder$LoopScope org.graalvm.compiler.nodes.GraphDecoder$LoopScope int
StackMap stack:
82: iconst_0
StackMap locals:
StackMap stack: int
83: istore 12
start local 12 84: iload 12
ifeq 111
85: aload 0
getfield org.graalvm.compiler.nodes.GraphDecoder.graph:Lorg/graalvm/compiler/nodes/StructuredGraph;
new org.graalvm.compiler.nodes.EndNode
dup
invokespecial org.graalvm.compiler.nodes.EndNode.<init>:()V
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.EndNode
astore 13
start local 13 86: aload 4
aload 13
invokevirtual org.graalvm.compiler.nodes.FixedNode.replaceAtPredecessor:(Lorg/graalvm/compiler/graph/Node;)V
87: aload 4
invokevirtual org.graalvm.compiler.nodes.FixedNode.safeDelete:()V
88: aload 13
astore 4
89: aload 2
getfield org.graalvm.compiler.nodes.GraphDecoder$LoopScope.nextIterationsFromUnrolling:Ljava/util/Deque;
invokeinterface java.util.Deque.isEmpty:()Z
ifeq 109
90: aload 2
getfield org.graalvm.compiler.nodes.GraphDecoder$LoopScope.nextIterationsFromUnrolling:Ljava/util/Deque;
invokeinterface java.util.Deque.isEmpty:()Z
ifeq 91
aload 2
getfield org.graalvm.compiler.nodes.GraphDecoder$LoopScope.loopIteration:I
iconst_1
iadd
goto 92
StackMap locals: int org.graalvm.compiler.nodes.EndNode
StackMap stack:
91: aload 2
getfield org.graalvm.compiler.nodes.GraphDecoder$LoopScope.nextIterationsFromUnrolling:Ljava/util/Deque;
invokeinterface java.util.Deque.getLast:()Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.GraphDecoder$LoopScope
getfield org.graalvm.compiler.nodes.GraphDecoder$LoopScope.loopIteration:I
iconst_1
iadd
StackMap locals:
StackMap stack: int
92: istore 14
start local 14 93: new org.graalvm.compiler.nodes.GraphDecoder$LoopScope
dup
aload 1
aload 2
getfield org.graalvm.compiler.nodes.GraphDecoder$LoopScope.outer:Lorg/graalvm/compiler/nodes/GraphDecoder$LoopScope;
aload 2
getfield org.graalvm.compiler.nodes.GraphDecoder$LoopScope.loopDepth:I
iload 14
aload 2
getfield org.graalvm.compiler.nodes.GraphDecoder$LoopScope.loopBeginOrderId:I
94: getstatic org.graalvm.compiler.nodes.GraphDecoder$LoopScopeTrigger.LOOP_BEGIN_UNROLLING:Lorg/graalvm/compiler/nodes/GraphDecoder$LoopScopeTrigger;
95: aload 1
getfield org.graalvm.compiler.nodes.GraphDecoder$MethodScope.loopExplosion:Lorg/graalvm/compiler/nodes/graphbuilderconf/LoopExplosionPlugin$LoopExplosionKind;
invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.LoopExplosionPlugin$LoopExplosionKind.mergeLoops:()Z
ifeq 96
aload 2
getfield org.graalvm.compiler.nodes.GraphDecoder$LoopScope.initialCreatedNodes:[Lorg/graalvm/compiler/graph/Node;
aload 2
getfield org.graalvm.compiler.nodes.GraphDecoder$LoopScope.initialCreatedNodes:[Lorg/graalvm/compiler/graph/Node;
arraylength
invokestatic java.util.Arrays.copyOf:([Ljava/lang/Object;I)[Ljava/lang/Object;
checkcast org.graalvm.compiler.graph.Node[]
goto 97
StackMap locals: org.graalvm.compiler.nodes.GraphDecoder org.graalvm.compiler.nodes.GraphDecoder$MethodScope org.graalvm.compiler.nodes.GraphDecoder$LoopScope int org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.GraphDecoder$LoopScope int int org.graalvm.compiler.nodes.GraphDecoder$LoopScope org.graalvm.compiler.nodes.GraphDecoder$LoopScope org.graalvm.compiler.nodes.GraphDecoder$LoopScope int int org.graalvm.compiler.nodes.EndNode int
StackMap stack: new 93 new 93 org.graalvm.compiler.nodes.GraphDecoder$MethodScope org.graalvm.compiler.nodes.GraphDecoder$LoopScope int int int org.graalvm.compiler.nodes.GraphDecoder$LoopScopeTrigger
96: aload 2
getfield org.graalvm.compiler.nodes.GraphDecoder$LoopScope.initialCreatedNodes:[Lorg/graalvm/compiler/graph/Node;
97: StackMap locals: org.graalvm.compiler.nodes.GraphDecoder org.graalvm.compiler.nodes.GraphDecoder$MethodScope org.graalvm.compiler.nodes.GraphDecoder$LoopScope int org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.GraphDecoder$LoopScope int int org.graalvm.compiler.nodes.GraphDecoder$LoopScope org.graalvm.compiler.nodes.GraphDecoder$LoopScope org.graalvm.compiler.nodes.GraphDecoder$LoopScope int int org.graalvm.compiler.nodes.EndNode int
StackMap stack: new 93 new 93 org.graalvm.compiler.nodes.GraphDecoder$MethodScope org.graalvm.compiler.nodes.GraphDecoder$LoopScope int int int org.graalvm.compiler.nodes.GraphDecoder$LoopScopeTrigger org.graalvm.compiler.graph.Node[]
aload 2
getfield org.graalvm.compiler.nodes.GraphDecoder$LoopScope.initialCreatedNodes:[Lorg/graalvm/compiler/graph/Node;
aload 2
getfield org.graalvm.compiler.nodes.GraphDecoder$LoopScope.initialCreatedNodes:[Lorg/graalvm/compiler/graph/Node;
arraylength
invokestatic java.util.Arrays.copyOf:([Ljava/lang/Object;I)[Ljava/lang/Object;
checkcast org.graalvm.compiler.graph.Node[]
98: aload 2
getfield org.graalvm.compiler.nodes.GraphDecoder$LoopScope.nextIterationFromLoopExitDuplication:Ljava/util/Deque;
99: aload 2
getfield org.graalvm.compiler.nodes.GraphDecoder$LoopScope.nextIterationFromLoopEndDuplication:Ljava/util/Deque;
100: aload 2
getfield org.graalvm.compiler.nodes.GraphDecoder$LoopScope.nextIterationsFromUnrolling:Ljava/util/Deque;
101: aload 2
getfield org.graalvm.compiler.nodes.GraphDecoder$LoopScope.iterationStates:Ljdk/internal/vm/compiler/collections/EconomicMap;
102: invokespecial org.graalvm.compiler.nodes.GraphDecoder$LoopScope.<init>:(Lorg/graalvm/compiler/nodes/GraphDecoder$MethodScope;Lorg/graalvm/compiler/nodes/GraphDecoder$LoopScope;IIILorg/graalvm/compiler/nodes/GraphDecoder$LoopScopeTrigger;[Lorg/graalvm/compiler/graph/Node;[Lorg/graalvm/compiler/graph/Node;Ljava/util/Deque;Ljava/util/Deque;Ljava/util/Deque;Ljdk/internal/vm/compiler/collections/EconomicMap;)V
astore 15
start local 15 103: aload 0
aload 1
aload 15
invokevirtual org.graalvm.compiler.nodes.GraphDecoder.checkLoopExplosionIteration:(Lorg/graalvm/compiler/nodes/GraphDecoder$MethodScope;Lorg/graalvm/compiler/nodes/GraphDecoder$LoopScope;)V
104: aload 2
getfield org.graalvm.compiler.nodes.GraphDecoder$LoopScope.nextIterationsFromUnrolling:Ljava/util/Deque;
aload 15
invokeinterface java.util.Deque.addLast:(Ljava/lang/Object;)V
105: aload 0
aload 15
aload 2
getfield org.graalvm.compiler.nodes.GraphDecoder$LoopScope.loopBeginOrderId:I
aconst_null
iconst_1
iconst_1
invokevirtual org.graalvm.compiler.nodes.GraphDecoder.registerNode:(Lorg/graalvm/compiler/nodes/GraphDecoder$LoopScope;ILorg/graalvm/compiler/graph/Node;ZZ)V
106: aload 0
aload 1
aload 15
aload 2
getfield org.graalvm.compiler.nodes.GraphDecoder$LoopScope.loopBeginOrderId:I
invokevirtual org.graalvm.compiler.nodes.GraphDecoder.makeStubNode:(Lorg/graalvm/compiler/nodes/GraphDecoder$MethodScope;Lorg/graalvm/compiler/nodes/GraphDecoder$LoopScope;I)Lorg/graalvm/compiler/nodes/FixedNode;
pop
107: aload 15
astore 10
end local 15 end local 14 108: goto 121
109: StackMap locals:
StackMap stack:
aload 2
getfield org.graalvm.compiler.nodes.GraphDecoder$LoopScope.nextIterationsFromUnrolling:Ljava/util/Deque;
invokeinterface java.util.Deque.getLast:()Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.GraphDecoder$LoopScope
astore 10
end local 13 110: goto 121
StackMap locals:
StackMap stack:
111: aload 1
getfield org.graalvm.compiler.nodes.GraphDecoder$MethodScope.loopExplosion:Lorg/graalvm/compiler/nodes/graphbuilderconf/LoopExplosionPlugin$LoopExplosionKind;
invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.LoopExplosionPlugin$LoopExplosionKind.useExplosion:()Z
ifeq 121
aload 4
instanceof org.graalvm.compiler.nodes.LoopEndNode
ifeq 121
112: aload 0
getfield org.graalvm.compiler.nodes.GraphDecoder.graph:Lorg/graalvm/compiler/nodes/StructuredGraph;
new org.graalvm.compiler.nodes.EndNode
dup
invokespecial org.graalvm.compiler.nodes.EndNode.<init>:()V
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.EndNode
astore 13
start local 13 113: aload 4
aload 13
invokevirtual org.graalvm.compiler.nodes.FixedNode.replaceAtPredecessor:(Lorg/graalvm/compiler/graph/Node;)V
114: aload 4
invokevirtual org.graalvm.compiler.nodes.FixedNode.safeDelete:()V
115: aload 13
astore 4
116: aload 0
aload 1
aload 2
invokevirtual org.graalvm.compiler.nodes.GraphDecoder.handleLoopExplosionEnd:(Lorg/graalvm/compiler/nodes/GraphDecoder$MethodScope;Lorg/graalvm/compiler/nodes/GraphDecoder$LoopScope;)Lorg/graalvm/compiler/nodes/GraphDecoder$LoopScopeTrigger;
astore 14
start local 14 117: aload 2
getfield org.graalvm.compiler.nodes.GraphDecoder$LoopScope.nextIterationsFromUnrolling:Ljava/util/Deque;
astore 15
start local 15 118: aload 14
getstatic org.graalvm.compiler.nodes.GraphDecoder$LoopScopeTrigger.LOOP_END_DUPLICATION:Lorg/graalvm/compiler/nodes/GraphDecoder$LoopScopeTrigger;
if_acmpne 120
119: aload 2
getfield org.graalvm.compiler.nodes.GraphDecoder$LoopScope.nextIterationFromLoopEndDuplication:Ljava/util/Deque;
astore 15
120: StackMap locals: org.graalvm.compiler.nodes.EndNode org.graalvm.compiler.nodes.GraphDecoder$LoopScopeTrigger java.util.Deque
StackMap stack:
aload 15
invokeinterface java.util.Deque.getLast:()Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.GraphDecoder$LoopScope
astore 10
end local 15 end local 14 end local 13 121: StackMap locals:
StackMap stack:
aload 0
aload 10
iload 11
invokevirtual org.graalvm.compiler.nodes.GraphDecoder.lookupNode:(Lorg/graalvm/compiler/nodes/GraphDecoder$LoopScope;I)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.AbstractMergeNode
astore 13
start local 13 122: aload 13
ifnonnull 148
123: aload 0
aload 1
aload 10
iload 11
invokevirtual org.graalvm.compiler.nodes.GraphDecoder.makeStubNode:(Lorg/graalvm/compiler/nodes/GraphDecoder$MethodScope;Lorg/graalvm/compiler/nodes/GraphDecoder$LoopScope;I)Lorg/graalvm/compiler/nodes/FixedNode;
checkcast org.graalvm.compiler.nodes.AbstractMergeNode
astore 13
124: aload 13
instanceof org.graalvm.compiler.nodes.LoopBeginNode
ifeq 148
125: getstatic org.graalvm.compiler.nodes.GraphDecoder.$assertionsDisabled:Z
ifne 127
aload 10
aload 9
if_acmpne 126
aload 10
aload 2
if_acmpeq 127
StackMap locals: org.graalvm.compiler.nodes.AbstractMergeNode
StackMap stack:
126: new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
127: StackMap locals:
StackMap stack:
new org.graalvm.compiler.nodes.GraphDecoder$LoopScope
dup
aload 1
aload 2
aload 2
getfield org.graalvm.compiler.nodes.GraphDecoder$LoopScope.loopDepth:I
iconst_1
iadd
iconst_0
iload 11
getstatic org.graalvm.compiler.nodes.GraphDecoder$LoopScopeTrigger.START:Lorg/graalvm/compiler/nodes/GraphDecoder$LoopScopeTrigger;
128: aload 1
getfield org.graalvm.compiler.nodes.GraphDecoder$MethodScope.loopExplosion:Lorg/graalvm/compiler/nodes/graphbuilderconf/LoopExplosionPlugin$LoopExplosionKind;
invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.LoopExplosionPlugin$LoopExplosionKind.useExplosion:()Z
ifeq 129
aload 2
getfield org.graalvm.compiler.nodes.GraphDecoder$LoopScope.createdNodes:[Lorg/graalvm/compiler/graph/Node;
aload 2
getfield org.graalvm.compiler.nodes.GraphDecoder$LoopScope.createdNodes:[Lorg/graalvm/compiler/graph/Node;
arraylength
invokestatic java.util.Arrays.copyOf:([Ljava/lang/Object;I)[Ljava/lang/Object;
checkcast org.graalvm.compiler.graph.Node[]
goto 130
StackMap locals: org.graalvm.compiler.nodes.GraphDecoder org.graalvm.compiler.nodes.GraphDecoder$MethodScope org.graalvm.compiler.nodes.GraphDecoder$LoopScope int org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.GraphDecoder$LoopScope int int org.graalvm.compiler.nodes.GraphDecoder$LoopScope org.graalvm.compiler.nodes.GraphDecoder$LoopScope org.graalvm.compiler.nodes.GraphDecoder$LoopScope int int org.graalvm.compiler.nodes.AbstractMergeNode
StackMap stack: new 127 new 127 org.graalvm.compiler.nodes.GraphDecoder$MethodScope org.graalvm.compiler.nodes.GraphDecoder$LoopScope int int int org.graalvm.compiler.nodes.GraphDecoder$LoopScopeTrigger
129: aconst_null
130: StackMap locals: org.graalvm.compiler.nodes.GraphDecoder org.graalvm.compiler.nodes.GraphDecoder$MethodScope org.graalvm.compiler.nodes.GraphDecoder$LoopScope int org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.GraphDecoder$LoopScope int int org.graalvm.compiler.nodes.GraphDecoder$LoopScope org.graalvm.compiler.nodes.GraphDecoder$LoopScope org.graalvm.compiler.nodes.GraphDecoder$LoopScope int int org.graalvm.compiler.nodes.AbstractMergeNode
StackMap stack: new 127 new 127 org.graalvm.compiler.nodes.GraphDecoder$MethodScope org.graalvm.compiler.nodes.GraphDecoder$LoopScope int int int org.graalvm.compiler.nodes.GraphDecoder$LoopScopeTrigger org.graalvm.compiler.graph.Node[]
aload 1
getfield org.graalvm.compiler.nodes.GraphDecoder$MethodScope.loopExplosion:Lorg/graalvm/compiler/nodes/graphbuilderconf/LoopExplosionPlugin$LoopExplosionKind;
invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.LoopExplosionPlugin$LoopExplosionKind.useExplosion:()Z
ifeq 131
aload 2
getfield org.graalvm.compiler.nodes.GraphDecoder$LoopScope.createdNodes:[Lorg/graalvm/compiler/graph/Node;
aload 2
getfield org.graalvm.compiler.nodes.GraphDecoder$LoopScope.createdNodes:[Lorg/graalvm/compiler/graph/Node;
arraylength
invokestatic java.util.Arrays.copyOf:([Ljava/lang/Object;I)[Ljava/lang/Object;
checkcast org.graalvm.compiler.graph.Node[]
goto 132
StackMap locals: org.graalvm.compiler.nodes.GraphDecoder org.graalvm.compiler.nodes.GraphDecoder$MethodScope org.graalvm.compiler.nodes.GraphDecoder$LoopScope int org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.GraphDecoder$LoopScope int int org.graalvm.compiler.nodes.GraphDecoder$LoopScope org.graalvm.compiler.nodes.GraphDecoder$LoopScope org.graalvm.compiler.nodes.GraphDecoder$LoopScope int int org.graalvm.compiler.nodes.AbstractMergeNode
StackMap stack: new 127 new 127 org.graalvm.compiler.nodes.GraphDecoder$MethodScope org.graalvm.compiler.nodes.GraphDecoder$LoopScope int int int org.graalvm.compiler.nodes.GraphDecoder$LoopScopeTrigger org.graalvm.compiler.graph.Node[]
131: aload 2
getfield org.graalvm.compiler.nodes.GraphDecoder$LoopScope.createdNodes:[Lorg/graalvm/compiler/graph/Node;
132: StackMap locals: org.graalvm.compiler.nodes.GraphDecoder org.graalvm.compiler.nodes.GraphDecoder$MethodScope org.graalvm.compiler.nodes.GraphDecoder$LoopScope int org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.GraphDecoder$LoopScope int int org.graalvm.compiler.nodes.GraphDecoder$LoopScope org.graalvm.compiler.nodes.GraphDecoder$LoopScope org.graalvm.compiler.nodes.GraphDecoder$LoopScope int int org.graalvm.compiler.nodes.AbstractMergeNode
StackMap stack: new 127 new 127 org.graalvm.compiler.nodes.GraphDecoder$MethodScope org.graalvm.compiler.nodes.GraphDecoder$LoopScope int int int org.graalvm.compiler.nodes.GraphDecoder$LoopScopeTrigger org.graalvm.compiler.graph.Node[] org.graalvm.compiler.graph.Node[]
aload 1
getfield org.graalvm.compiler.nodes.GraphDecoder$MethodScope.loopExplosion:Lorg/graalvm/compiler/nodes/graphbuilderconf/LoopExplosionPlugin$LoopExplosionKind;
invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.LoopExplosionPlugin$LoopExplosionKind.duplicateLoopExits:()Z
ifne 133
aload 1
getfield org.graalvm.compiler.nodes.GraphDecoder$MethodScope.loopExplosion:Lorg/graalvm/compiler/nodes/graphbuilderconf/LoopExplosionPlugin$LoopExplosionKind;
invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.LoopExplosionPlugin$LoopExplosionKind.mergeLoops:()Z
ifeq 134
StackMap locals: org.graalvm.compiler.nodes.GraphDecoder org.graalvm.compiler.nodes.GraphDecoder$MethodScope org.graalvm.compiler.nodes.GraphDecoder$LoopScope int org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.GraphDecoder$LoopScope int int org.graalvm.compiler.nodes.GraphDecoder$LoopScope org.graalvm.compiler.nodes.GraphDecoder$LoopScope org.graalvm.compiler.nodes.GraphDecoder$LoopScope int int org.graalvm.compiler.nodes.AbstractMergeNode
StackMap stack: new 127 new 127 org.graalvm.compiler.nodes.GraphDecoder$MethodScope org.graalvm.compiler.nodes.GraphDecoder$LoopScope int int int org.graalvm.compiler.nodes.GraphDecoder$LoopScopeTrigger org.graalvm.compiler.graph.Node[] org.graalvm.compiler.graph.Node[]
133: new java.util.ArrayDeque
dup
iconst_2
invokespecial java.util.ArrayDeque.<init>:(I)V
goto 135
StackMap locals: org.graalvm.compiler.nodes.GraphDecoder org.graalvm.compiler.nodes.GraphDecoder$MethodScope org.graalvm.compiler.nodes.GraphDecoder$LoopScope int org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.GraphDecoder$LoopScope int int org.graalvm.compiler.nodes.GraphDecoder$LoopScope org.graalvm.compiler.nodes.GraphDecoder$LoopScope org.graalvm.compiler.nodes.GraphDecoder$LoopScope int int org.graalvm.compiler.nodes.AbstractMergeNode
StackMap stack: new 127 new 127 org.graalvm.compiler.nodes.GraphDecoder$MethodScope org.graalvm.compiler.nodes.GraphDecoder$LoopScope int int int org.graalvm.compiler.nodes.GraphDecoder$LoopScopeTrigger org.graalvm.compiler.graph.Node[] org.graalvm.compiler.graph.Node[]
134: aconst_null
135: StackMap locals: org.graalvm.compiler.nodes.GraphDecoder org.graalvm.compiler.nodes.GraphDecoder$MethodScope org.graalvm.compiler.nodes.GraphDecoder$LoopScope int org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.GraphDecoder$LoopScope int int org.graalvm.compiler.nodes.GraphDecoder$LoopScope org.graalvm.compiler.nodes.GraphDecoder$LoopScope org.graalvm.compiler.nodes.GraphDecoder$LoopScope int int org.graalvm.compiler.nodes.AbstractMergeNode
StackMap stack: new 127 new 127 org.graalvm.compiler.nodes.GraphDecoder$MethodScope org.graalvm.compiler.nodes.GraphDecoder$LoopScope int int int org.graalvm.compiler.nodes.GraphDecoder$LoopScopeTrigger org.graalvm.compiler.graph.Node[] org.graalvm.compiler.graph.Node[] java.util.ArrayDeque
aload 1
getfield org.graalvm.compiler.nodes.GraphDecoder$MethodScope.loopExplosion:Lorg/graalvm/compiler/nodes/graphbuilderconf/LoopExplosionPlugin$LoopExplosionKind;
invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.LoopExplosionPlugin$LoopExplosionKind.duplicateLoopEnds:()Z
ifeq 136
new java.util.ArrayDeque
dup
iconst_2
invokespecial java.util.ArrayDeque.<init>:(I)V
goto 137
StackMap locals: org.graalvm.compiler.nodes.GraphDecoder org.graalvm.compiler.nodes.GraphDecoder$MethodScope org.graalvm.compiler.nodes.GraphDecoder$LoopScope int org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.GraphDecoder$LoopScope int int org.graalvm.compiler.nodes.GraphDecoder$LoopScope org.graalvm.compiler.nodes.GraphDecoder$LoopScope org.graalvm.compiler.nodes.GraphDecoder$LoopScope int int org.graalvm.compiler.nodes.AbstractMergeNode
StackMap stack: new 127 new 127 org.graalvm.compiler.nodes.GraphDecoder$MethodScope org.graalvm.compiler.nodes.GraphDecoder$LoopScope int int int org.graalvm.compiler.nodes.GraphDecoder$LoopScopeTrigger org.graalvm.compiler.graph.Node[] org.graalvm.compiler.graph.Node[] java.util.ArrayDeque
136: aconst_null
137: StackMap locals: org.graalvm.compiler.nodes.GraphDecoder org.graalvm.compiler.nodes.GraphDecoder$MethodScope org.graalvm.compiler.nodes.GraphDecoder$LoopScope int org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.GraphDecoder$LoopScope int int org.graalvm.compiler.nodes.GraphDecoder$LoopScope org.graalvm.compiler.nodes.GraphDecoder$LoopScope org.graalvm.compiler.nodes.GraphDecoder$LoopScope int int org.graalvm.compiler.nodes.AbstractMergeNode
StackMap stack: new 127 new 127 org.graalvm.compiler.nodes.GraphDecoder$MethodScope org.graalvm.compiler.nodes.GraphDecoder$LoopScope int int int org.graalvm.compiler.nodes.GraphDecoder$LoopScopeTrigger org.graalvm.compiler.graph.Node[] org.graalvm.compiler.graph.Node[] java.util.ArrayDeque java.util.ArrayDeque
aload 1
getfield org.graalvm.compiler.nodes.GraphDecoder$MethodScope.loopExplosion:Lorg/graalvm/compiler/nodes/graphbuilderconf/LoopExplosionPlugin$LoopExplosionKind;
invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.LoopExplosionPlugin$LoopExplosionKind.unrollLoops:()Z
ifeq 138
new java.util.ArrayDeque
dup
iconst_2
invokespecial java.util.ArrayDeque.<init>:(I)V
goto 139
StackMap locals: org.graalvm.compiler.nodes.GraphDecoder org.graalvm.compiler.nodes.GraphDecoder$MethodScope org.graalvm.compiler.nodes.GraphDecoder$LoopScope int org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.GraphDecoder$LoopScope int int org.graalvm.compiler.nodes.GraphDecoder$LoopScope org.graalvm.compiler.nodes.GraphDecoder$LoopScope org.graalvm.compiler.nodes.GraphDecoder$LoopScope int int org.graalvm.compiler.nodes.AbstractMergeNode
StackMap stack: new 127 new 127 org.graalvm.compiler.nodes.GraphDecoder$MethodScope org.graalvm.compiler.nodes.GraphDecoder$LoopScope int int int org.graalvm.compiler.nodes.GraphDecoder$LoopScopeTrigger org.graalvm.compiler.graph.Node[] org.graalvm.compiler.graph.Node[] java.util.ArrayDeque java.util.ArrayDeque
138: aconst_null
139: StackMap locals: org.graalvm.compiler.nodes.GraphDecoder org.graalvm.compiler.nodes.GraphDecoder$MethodScope org.graalvm.compiler.nodes.GraphDecoder$LoopScope int org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.GraphDecoder$LoopScope int int org.graalvm.compiler.nodes.GraphDecoder$LoopScope org.graalvm.compiler.nodes.GraphDecoder$LoopScope org.graalvm.compiler.nodes.GraphDecoder$LoopScope int int org.graalvm.compiler.nodes.AbstractMergeNode
StackMap stack: new 127 new 127 org.graalvm.compiler.nodes.GraphDecoder$MethodScope org.graalvm.compiler.nodes.GraphDecoder$LoopScope int int int org.graalvm.compiler.nodes.GraphDecoder$LoopScopeTrigger org.graalvm.compiler.graph.Node[] org.graalvm.compiler.graph.Node[] java.util.ArrayDeque java.util.ArrayDeque java.util.ArrayDeque
aload 1
getfield org.graalvm.compiler.nodes.GraphDecoder$MethodScope.loopExplosion:Lorg/graalvm/compiler/nodes/graphbuilderconf/LoopExplosionPlugin$LoopExplosionKind;
invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.LoopExplosionPlugin$LoopExplosionKind.mergeLoops:()Z
ifeq 140
getstatic jdk.internal.vm.compiler.collections.Equivalence.DEFAULT:Ljdk/internal/vm/compiler/collections/Equivalence;
invokestatic jdk.internal.vm.compiler.collections.EconomicMap.create:(Ljdk/internal/vm/compiler/collections/Equivalence;)Ljdk/internal/vm/compiler/collections/EconomicMap;
goto 141
StackMap locals: org.graalvm.compiler.nodes.GraphDecoder org.graalvm.compiler.nodes.GraphDecoder$MethodScope org.graalvm.compiler.nodes.GraphDecoder$LoopScope int org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.GraphDecoder$LoopScope int int org.graalvm.compiler.nodes.GraphDecoder$LoopScope org.graalvm.compiler.nodes.GraphDecoder$LoopScope org.graalvm.compiler.nodes.GraphDecoder$LoopScope int int org.graalvm.compiler.nodes.AbstractMergeNode
StackMap stack: new 127 new 127 org.graalvm.compiler.nodes.GraphDecoder$MethodScope org.graalvm.compiler.nodes.GraphDecoder$LoopScope int int int org.graalvm.compiler.nodes.GraphDecoder$LoopScopeTrigger org.graalvm.compiler.graph.Node[] org.graalvm.compiler.graph.Node[] java.util.ArrayDeque java.util.ArrayDeque java.util.ArrayDeque
140: aconst_null
141: StackMap locals: org.graalvm.compiler.nodes.GraphDecoder org.graalvm.compiler.nodes.GraphDecoder$MethodScope org.graalvm.compiler.nodes.GraphDecoder$LoopScope int org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.GraphDecoder$LoopScope int int org.graalvm.compiler.nodes.GraphDecoder$LoopScope org.graalvm.compiler.nodes.GraphDecoder$LoopScope org.graalvm.compiler.nodes.GraphDecoder$LoopScope int int org.graalvm.compiler.nodes.AbstractMergeNode
StackMap stack: new 127 new 127 org.graalvm.compiler.nodes.GraphDecoder$MethodScope org.graalvm.compiler.nodes.GraphDecoder$LoopScope int int int org.graalvm.compiler.nodes.GraphDecoder$LoopScopeTrigger org.graalvm.compiler.graph.Node[] org.graalvm.compiler.graph.Node[] java.util.ArrayDeque java.util.ArrayDeque java.util.ArrayDeque jdk.internal.vm.compiler.collections.EconomicMap
invokespecial org.graalvm.compiler.nodes.GraphDecoder$LoopScope.<init>:(Lorg/graalvm/compiler/nodes/GraphDecoder$MethodScope;Lorg/graalvm/compiler/nodes/GraphDecoder$LoopScope;IIILorg/graalvm/compiler/nodes/GraphDecoder$LoopScopeTrigger;[Lorg/graalvm/compiler/graph/Node;[Lorg/graalvm/compiler/graph/Node;Ljava/util/Deque;Ljava/util/Deque;Ljava/util/Deque;Ljdk/internal/vm/compiler/collections/EconomicMap;)V
astore 8
142: aload 8
astore 9
143: aload 8
astore 10
144: aload 1
getfield org.graalvm.compiler.nodes.GraphDecoder$MethodScope.loopExplosion:Lorg/graalvm/compiler/nodes/graphbuilderconf/LoopExplosionPlugin$LoopExplosionKind;
invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.LoopExplosionPlugin$LoopExplosionKind.useExplosion:()Z
ifeq 146
145: aload 0
aload 2
iload 11
aconst_null
iconst_1
iconst_1
invokevirtual org.graalvm.compiler.nodes.GraphDecoder.registerNode:(Lorg/graalvm/compiler/nodes/GraphDecoder$LoopScope;ILorg/graalvm/compiler/graph/Node;ZZ)V
146: StackMap locals:
StackMap stack:
aload 2
getfield org.graalvm.compiler.nodes.GraphDecoder$LoopScope.nodesToProcess:Ljava/util/BitSet;
iload 11
invokevirtual java.util.BitSet.clear:(I)V
147: aload 8
getfield org.graalvm.compiler.nodes.GraphDecoder$LoopScope.nodesToProcess:Ljava/util/BitSet;
iload 11
invokevirtual java.util.BitSet.set:(I)V
148: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 9
aload 10
aload 4
checkcast org.graalvm.compiler.nodes.AbstractEndNode
aload 13
invokevirtual org.graalvm.compiler.nodes.GraphDecoder.handlePhiFunctions:(Lorg/graalvm/compiler/nodes/GraphDecoder$MethodScope;Lorg/graalvm/compiler/nodes/GraphDecoder$LoopScope;Lorg/graalvm/compiler/nodes/GraphDecoder$LoopScope;Lorg/graalvm/compiler/nodes/AbstractEndNode;Lorg/graalvm/compiler/nodes/AbstractMergeNode;)V
end local 13 end local 12 end local 11 end local 10 end local 9 149: goto 158
StackMap locals: org.graalvm.compiler.nodes.GraphDecoder org.graalvm.compiler.nodes.GraphDecoder$MethodScope org.graalvm.compiler.nodes.GraphDecoder$LoopScope int org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.GraphDecoder$LoopScope int int org.graalvm.compiler.nodes.GraphDecoder$LoopScope
StackMap stack:
150: aload 4
instanceof org.graalvm.compiler.nodes.Invoke
ifeq 154
151: aload 0
aload 1
iload 3
aload 4
checkcast org.graalvm.compiler.nodes.Invoke
invokevirtual org.graalvm.compiler.nodes.GraphDecoder.readInvokeData:(Lorg/graalvm/compiler/nodes/GraphDecoder$MethodScope;ILorg/graalvm/compiler/nodes/Invoke;)Lorg/graalvm/compiler/nodes/GraphDecoder$InvokeData;
astore 9
start local 9 152: aload 0
aload 1
aload 2
aload 9
invokevirtual org.graalvm.compiler.nodes.GraphDecoder.handleInvoke:(Lorg/graalvm/compiler/nodes/GraphDecoder$MethodScope;Lorg/graalvm/compiler/nodes/GraphDecoder$LoopScope;Lorg/graalvm/compiler/nodes/GraphDecoder$InvokeData;)Lorg/graalvm/compiler/nodes/GraphDecoder$LoopScope;
astore 8
end local 9 153: goto 158
StackMap locals:
StackMap stack:
154: aload 4
instanceof org.graalvm.compiler.nodes.ReturnNode
ifne 155
aload 4
instanceof org.graalvm.compiler.nodes.UnwindNode
ifeq 157
155: StackMap locals:
StackMap stack:
aload 1
getfield org.graalvm.compiler.nodes.GraphDecoder$MethodScope.returnAndUnwindNodes:Ljava/util/List;
aload 4
checkcast org.graalvm.compiler.nodes.ControlSinkNode
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
156: goto 158
157: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
iload 3
aload 4
invokevirtual org.graalvm.compiler.nodes.GraphDecoder.handleFixedNode:(Lorg/graalvm/compiler/nodes/GraphDecoder$MethodScope;Lorg/graalvm/compiler/nodes/GraphDecoder$LoopScope;ILorg/graalvm/compiler/nodes/FixedNode;)V
158: StackMap locals:
StackMap stack:
aload 8
areturn
end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 159 0 this Lorg/graalvm/compiler/nodes/GraphDecoder;
0 159 1 methodScope Lorg/graalvm/compiler/nodes/GraphDecoder$MethodScope;
0 159 2 loopScope Lorg/graalvm/compiler/nodes/GraphDecoder$LoopScope;
1 159 3 nodeOrderId I
3 159 4 node Lorg/graalvm/compiler/nodes/FixedNode;
10 17 5 merge Lorg/graalvm/compiler/nodes/AbstractMergeNode;
11 17 6 singleEnd Lorg/graalvm/compiler/nodes/EndNode;
13 17 7 next Lorg/graalvm/compiler/nodes/FixedNode;
18 159 5 successorAddScope Lorg/graalvm/compiler/nodes/GraphDecoder$LoopScope;
19 159 6 updatePredecessors Z
22 45 7 outerScope Lorg/graalvm/compiler/nodes/GraphDecoder$LoopScope;
25 45 8 nextIterationNumber I
30 45 9 initialCreatedNodes [Lorg/graalvm/compiler/graph/Node;
40 44 10 id I
50 159 7 typeId I
58 159 8 resultScope Lorg/graalvm/compiler/nodes/GraphDecoder$LoopScope;
73 149 9 phiInputScope Lorg/graalvm/compiler/nodes/GraphDecoder$LoopScope;
74 149 10 phiNodeScope Lorg/graalvm/compiler/nodes/GraphDecoder$LoopScope;
75 149 11 mergeOrderId I
84 149 12 requiresMergeOfOuterLoop Z
86 110 13 replacementNode Lorg/graalvm/compiler/nodes/EndNode;
93 108 14 nextIterationNumber I
103 108 15 outerLoopMergeScope Lorg/graalvm/compiler/nodes/GraphDecoder$LoopScope;
113 121 13 replacementNode Lorg/graalvm/compiler/nodes/EndNode;
117 121 14 trigger Lorg/graalvm/compiler/nodes/GraphDecoder$LoopScopeTrigger;
118 121 15 phiScope Ljava/util/Deque<Lorg/graalvm/compiler/nodes/GraphDecoder$LoopScope;>;
122 149 13 merge Lorg/graalvm/compiler/nodes/AbstractMergeNode;
152 153 9 invokeData Lorg/graalvm/compiler/nodes/GraphDecoder$InvokeData;
MethodParameters:
Name Flags
methodScope
loopScope
protected org.graalvm.compiler.nodes.GraphDecoder$InvokeData readInvokeData(org.graalvm.compiler.nodes.GraphDecoder$MethodScope, int, org.graalvm.compiler.nodes.Invoke);
descriptor: (Lorg/graalvm/compiler/nodes/GraphDecoder$MethodScope;ILorg/graalvm/compiler/nodes/Invoke;)Lorg/graalvm/compiler/nodes/GraphDecoder$InvokeData;
flags: (0x0004) ACC_PROTECTED
Code:
stack=12, locals=12, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
invokevirtual org.graalvm.compiler.nodes.GraphDecoder.readObject:(Lorg/graalvm/compiler/nodes/GraphDecoder$MethodScope;)Ljava/lang/Object;
checkcast jdk.vm.ci.meta.ResolvedJavaType
astore 4
start local 4 1: aload 0
aload 1
invokevirtual org.graalvm.compiler.nodes.GraphDecoder.readOrderId:(Lorg/graalvm/compiler/nodes/GraphDecoder$MethodScope;)I
istore 5
start local 5 2: aload 0
aload 1
invokevirtual org.graalvm.compiler.nodes.GraphDecoder.readOrderId:(Lorg/graalvm/compiler/nodes/GraphDecoder$MethodScope;)I
istore 6
start local 6 3: aload 0
aload 1
invokevirtual org.graalvm.compiler.nodes.GraphDecoder.readOrderId:(Lorg/graalvm/compiler/nodes/GraphDecoder$MethodScope;)I
istore 7
start local 7 4: aload 3
instanceof org.graalvm.compiler.nodes.InvokeWithExceptionNode
ifeq 12
5: aload 0
aload 1
invokevirtual org.graalvm.compiler.nodes.GraphDecoder.readOrderId:(Lorg/graalvm/compiler/nodes/GraphDecoder$MethodScope;)I
istore 8
start local 8 6: aload 0
aload 1
invokevirtual org.graalvm.compiler.nodes.GraphDecoder.readOrderId:(Lorg/graalvm/compiler/nodes/GraphDecoder$MethodScope;)I
istore 9
start local 9 7: aload 0
aload 1
invokevirtual org.graalvm.compiler.nodes.GraphDecoder.readOrderId:(Lorg/graalvm/compiler/nodes/GraphDecoder$MethodScope;)I
istore 10
start local 10 8: aload 0
aload 1
invokevirtual org.graalvm.compiler.nodes.GraphDecoder.readOrderId:(Lorg/graalvm/compiler/nodes/GraphDecoder$MethodScope;)I
istore 11
start local 11 9: new org.graalvm.compiler.nodes.GraphDecoder$InvokeData
dup
aload 3
aload 4
iload 2
iload 5
iload 6
iload 7
iload 8
iload 9
iload 10
10: iload 11
11: invokespecial org.graalvm.compiler.nodes.GraphDecoder$InvokeData.<init>:(Lorg/graalvm/compiler/nodes/Invoke;Ljdk/vm/ci/meta/ResolvedJavaType;IIIIIIII)V
areturn
end local 11 end local 10 end local 9 end local 8 12: StackMap locals: org.graalvm.compiler.nodes.GraphDecoder org.graalvm.compiler.nodes.GraphDecoder$MethodScope int org.graalvm.compiler.nodes.Invoke jdk.vm.ci.meta.ResolvedJavaType int int int
StackMap stack:
new org.graalvm.compiler.nodes.GraphDecoder$InvokeData
dup
aload 3
aload 4
iload 2
iload 5
iload 6
iload 7
iconst_m1
iconst_m1
iconst_m1
iconst_m1
invokespecial org.graalvm.compiler.nodes.GraphDecoder$InvokeData.<init>:(Lorg/graalvm/compiler/nodes/Invoke;Ljdk/vm/ci/meta/ResolvedJavaType;IIIIIIII)V
areturn
end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lorg/graalvm/compiler/nodes/GraphDecoder;
0 13 1 methodScope Lorg/graalvm/compiler/nodes/GraphDecoder$MethodScope;
0 13 2 invokeOrderId I
0 13 3 invoke Lorg/graalvm/compiler/nodes/Invoke;
1 13 4 contextType Ljdk/vm/ci/meta/ResolvedJavaType;
2 13 5 callTargetOrderId I
3 13 6 stateAfterOrderId I
4 13 7 nextOrderId I
6 12 8 nextNextOrderId I
7 12 9 exceptionOrderId I
8 12 10 exceptionStateOrderId I
9 12 11 exceptionNextOrderId I
MethodParameters:
Name Flags
methodScope
invokeOrderId
invoke
protected org.graalvm.compiler.nodes.GraphDecoder$LoopScope handleInvoke(org.graalvm.compiler.nodes.GraphDecoder$MethodScope, org.graalvm.compiler.nodes.GraphDecoder$LoopScope, org.graalvm.compiler.nodes.GraphDecoder$InvokeData);
descriptor: (Lorg/graalvm/compiler/nodes/GraphDecoder$MethodScope;Lorg/graalvm/compiler/nodes/GraphDecoder$LoopScope;Lorg/graalvm/compiler/nodes/GraphDecoder$InvokeData;)Lorg/graalvm/compiler/nodes/GraphDecoder$LoopScope;
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: getstatic org.graalvm.compiler.nodes.GraphDecoder.$assertionsDisabled:Z
ifne 1
aload 3
getfield org.graalvm.compiler.nodes.GraphDecoder$InvokeData.invoke:Lorg/graalvm/compiler/nodes/Invoke;
invokeinterface org.graalvm.compiler.nodes.Invoke.callTarget:()Lorg/graalvm/compiler/nodes/CallTargetNode;
ifnull 1
new java.lang.AssertionError
dup
ldc "callTarget edge is ignored during decoding of Invoke"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
1: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
aload 3
getfield org.graalvm.compiler.nodes.GraphDecoder$InvokeData.callTargetOrderId:I
invokevirtual org.graalvm.compiler.nodes.GraphDecoder.ensureNodeCreated:(Lorg/graalvm/compiler/nodes/GraphDecoder$MethodScope;Lorg/graalvm/compiler/nodes/GraphDecoder$LoopScope;I)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.CallTargetNode
astore 4
start local 4 2: aload 0
aload 1
aload 2
aload 3
aload 4
invokevirtual org.graalvm.compiler.nodes.GraphDecoder.appendInvoke:(Lorg/graalvm/compiler/nodes/GraphDecoder$MethodScope;Lorg/graalvm/compiler/nodes/GraphDecoder$LoopScope;Lorg/graalvm/compiler/nodes/GraphDecoder$InvokeData;Lorg/graalvm/compiler/nodes/CallTargetNode;)V
3: aload 2
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/graalvm/compiler/nodes/GraphDecoder;
0 4 1 methodScope Lorg/graalvm/compiler/nodes/GraphDecoder$MethodScope;
0 4 2 loopScope Lorg/graalvm/compiler/nodes/GraphDecoder$LoopScope;
0 4 3 invokeData Lorg/graalvm/compiler/nodes/GraphDecoder$InvokeData;
2 4 4 callTarget Lorg/graalvm/compiler/nodes/CallTargetNode;
MethodParameters:
Name Flags
methodScope
loopScope
invokeData
protected void appendInvoke(org.graalvm.compiler.nodes.GraphDecoder$MethodScope, org.graalvm.compiler.nodes.GraphDecoder$LoopScope, org.graalvm.compiler.nodes.GraphDecoder$InvokeData, org.graalvm.compiler.nodes.CallTargetNode);
descriptor: (Lorg/graalvm/compiler/nodes/GraphDecoder$MethodScope;Lorg/graalvm/compiler/nodes/GraphDecoder$LoopScope;Lorg/graalvm/compiler/nodes/GraphDecoder$InvokeData;Lorg/graalvm/compiler/nodes/CallTargetNode;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 3
getfield org.graalvm.compiler.nodes.GraphDecoder$InvokeData.invoke:Lorg/graalvm/compiler/nodes/Invoke;
instanceof org.graalvm.compiler.nodes.InvokeWithExceptionNode
ifeq 3
1: aload 3
getfield org.graalvm.compiler.nodes.GraphDecoder$InvokeData.invoke:Lorg/graalvm/compiler/nodes/Invoke;
checkcast org.graalvm.compiler.nodes.InvokeWithExceptionNode
aload 4
invokevirtual org.graalvm.compiler.nodes.InvokeWithExceptionNode.setCallTarget:(Lorg/graalvm/compiler/nodes/CallTargetNode;)V
2: goto 4
3: StackMap locals:
StackMap stack:
aload 3
getfield org.graalvm.compiler.nodes.GraphDecoder$InvokeData.invoke:Lorg/graalvm/compiler/nodes/Invoke;
checkcast org.graalvm.compiler.nodes.InvokeNode
aload 4
invokevirtual org.graalvm.compiler.nodes.InvokeNode.setCallTarget:(Lorg/graalvm/compiler/nodes/CallTargetNode;)V
4: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.nodes.GraphDecoder.$assertionsDisabled:Z
ifne 6
aload 3
getfield org.graalvm.compiler.nodes.GraphDecoder$InvokeData.invoke:Lorg/graalvm/compiler/nodes/Invoke;
invokeinterface org.graalvm.compiler.nodes.Invoke.stateAfter:()Lorg/graalvm/compiler/nodes/FrameState;
ifnonnull 5
aload 3
getfield org.graalvm.compiler.nodes.GraphDecoder$InvokeData.invoke:Lorg/graalvm/compiler/nodes/Invoke;
invokeinterface org.graalvm.compiler.nodes.Invoke.stateDuring:()Lorg/graalvm/compiler/nodes/FrameState;
ifnull 6
StackMap locals:
StackMap stack:
5: new java.lang.AssertionError
dup
ldc "FrameState edges are ignored during decoding of Invoke"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
6: StackMap locals:
StackMap stack:
aload 3
getfield org.graalvm.compiler.nodes.GraphDecoder$InvokeData.invoke:Lorg/graalvm/compiler/nodes/Invoke;
aload 0
aload 1
aload 2
aload 3
getfield org.graalvm.compiler.nodes.GraphDecoder$InvokeData.stateAfterOrderId:I
invokevirtual org.graalvm.compiler.nodes.GraphDecoder.ensureNodeCreated:(Lorg/graalvm/compiler/nodes/GraphDecoder$MethodScope;Lorg/graalvm/compiler/nodes/GraphDecoder$LoopScope;I)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.FrameState
invokeinterface org.graalvm.compiler.nodes.Invoke.setStateAfter:(Lorg/graalvm/compiler/nodes/FrameState;)V
7: aload 3
getfield org.graalvm.compiler.nodes.GraphDecoder$InvokeData.invoke:Lorg/graalvm/compiler/nodes/Invoke;
aload 0
aload 1
aload 2
aload 3
getfield org.graalvm.compiler.nodes.GraphDecoder$InvokeData.nextOrderId:I
invokevirtual org.graalvm.compiler.nodes.GraphDecoder.makeStubNode:(Lorg/graalvm/compiler/nodes/GraphDecoder$MethodScope;Lorg/graalvm/compiler/nodes/GraphDecoder$LoopScope;I)Lorg/graalvm/compiler/nodes/FixedNode;
invokeinterface org.graalvm.compiler.nodes.Invoke.setNext:(Lorg/graalvm/compiler/nodes/FixedNode;)V
8: aload 3
getfield org.graalvm.compiler.nodes.GraphDecoder$InvokeData.invoke:Lorg/graalvm/compiler/nodes/Invoke;
instanceof org.graalvm.compiler.nodes.InvokeWithExceptionNode
ifeq 10
9: aload 3
getfield org.graalvm.compiler.nodes.GraphDecoder$InvokeData.invoke:Lorg/graalvm/compiler/nodes/Invoke;
checkcast org.graalvm.compiler.nodes.InvokeWithExceptionNode
aload 0
aload 1
aload 2
aload 3
getfield org.graalvm.compiler.nodes.GraphDecoder$InvokeData.exceptionOrderId:I
invokevirtual org.graalvm.compiler.nodes.GraphDecoder.makeStubNode:(Lorg/graalvm/compiler/nodes/GraphDecoder$MethodScope;Lorg/graalvm/compiler/nodes/GraphDecoder$LoopScope;I)Lorg/graalvm/compiler/nodes/FixedNode;
checkcast org.graalvm.compiler.nodes.AbstractBeginNode
invokevirtual org.graalvm.compiler.nodes.InvokeWithExceptionNode.setExceptionEdge:(Lorg/graalvm/compiler/nodes/AbstractBeginNode;)V
10: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/graalvm/compiler/nodes/GraphDecoder;
0 11 1 methodScope Lorg/graalvm/compiler/nodes/GraphDecoder$MethodScope;
0 11 2 loopScope Lorg/graalvm/compiler/nodes/GraphDecoder$LoopScope;
0 11 3 invokeData Lorg/graalvm/compiler/nodes/GraphDecoder$InvokeData;
0 11 4 callTarget Lorg/graalvm/compiler/nodes/CallTargetNode;
MethodParameters:
Name Flags
methodScope
loopScope
invokeData
callTarget
protected void handleMergeNode(org.graalvm.compiler.nodes.MergeNode);
descriptor: (Lorg/graalvm/compiler/nodes/MergeNode;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=0, locals=2, args_size=2
start local 0 start local 1 0: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/nodes/GraphDecoder;
0 1 1 merge Lorg/graalvm/compiler/nodes/MergeNode;
MethodParameters:
Name Flags
merge
protected void handleLoopExplosionBegin(org.graalvm.compiler.nodes.GraphDecoder$MethodScope, org.graalvm.compiler.nodes.GraphDecoder$LoopScope, org.graalvm.compiler.nodes.LoopBeginNode);
descriptor: (Lorg/graalvm/compiler/nodes/GraphDecoder$MethodScope;Lorg/graalvm/compiler/nodes/GraphDecoder$LoopScope;Lorg/graalvm/compiler/nodes/LoopBeginNode;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=13, locals=13, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 2
invokevirtual org.graalvm.compiler.nodes.GraphDecoder.checkLoopExplosionIteration:(Lorg/graalvm/compiler/nodes/GraphDecoder$MethodScope;Lorg/graalvm/compiler/nodes/GraphDecoder$LoopScope;)V
1: aload 3
invokevirtual org.graalvm.compiler.nodes.LoopBeginNode.forwardEnds:()Lorg/graalvm/compiler/graph/NodeInputList;
invokevirtual org.graalvm.compiler.graph.NodeInputList.snapshot:()Ljava/util/List;
astore 4
start local 4 2: aload 3
invokevirtual org.graalvm.compiler.nodes.LoopBeginNode.next:()Lorg/graalvm/compiler/nodes/FixedNode;
astore 5
start local 5 3: aload 3
invokevirtual org.graalvm.compiler.nodes.LoopBeginNode.stateAfter:()Lorg/graalvm/compiler/nodes/FrameState;
astore 6
start local 6 4: aload 1
getfield org.graalvm.compiler.nodes.GraphDecoder$MethodScope.loopExplosion:Lorg/graalvm/compiler/nodes/graphbuilderconf/LoopExplosionPlugin$LoopExplosionKind;
invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.LoopExplosionPlugin$LoopExplosionKind.mergeLoops:()Z
ifeq 15
5: new org.graalvm.compiler.nodes.GraphDecoder$LoopExplosionState
dup
aload 6
aconst_null
invokespecial org.graalvm.compiler.nodes.GraphDecoder$LoopExplosionState.<init>:(Lorg/graalvm/compiler/nodes/FrameState;Lorg/graalvm/compiler/nodes/MergeNode;)V
astore 7
start local 7 6: aload 2
getfield org.graalvm.compiler.nodes.GraphDecoder$LoopScope.iterationStates:Ljdk/internal/vm/compiler/collections/EconomicMap;
aload 7
invokeinterface jdk.internal.vm.compiler.collections.EconomicMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.GraphDecoder$LoopExplosionState
astore 8
start local 8 7: aload 8
ifnull 15
8: aload 3
aload 8
getfield org.graalvm.compiler.nodes.GraphDecoder$LoopExplosionState.merge:Lorg/graalvm/compiler/nodes/MergeNode;
invokevirtual org.graalvm.compiler.nodes.LoopBeginNode.replaceAtUsagesAndDelete:(Lorg/graalvm/compiler/graph/Node;)V
9: aload 5
invokevirtual org.graalvm.compiler.nodes.FixedNode.safeDelete:()V
10: aload 4
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 10
goto 13
StackMap locals: org.graalvm.compiler.nodes.GraphDecoder org.graalvm.compiler.nodes.GraphDecoder$MethodScope org.graalvm.compiler.nodes.GraphDecoder$LoopScope org.graalvm.compiler.nodes.LoopBeginNode java.util.List org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.FrameState org.graalvm.compiler.nodes.GraphDecoder$LoopExplosionState org.graalvm.compiler.nodes.GraphDecoder$LoopExplosionState top java.util.Iterator
StackMap stack:
11: aload 10
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.EndNode
astore 9
start local 9 12: aload 8
getfield org.graalvm.compiler.nodes.GraphDecoder$LoopExplosionState.merge:Lorg/graalvm/compiler/nodes/MergeNode;
aload 9
invokevirtual org.graalvm.compiler.nodes.MergeNode.addForwardEnd:(Lorg/graalvm/compiler/nodes/EndNode;)V
end local 9 13: StackMap locals:
StackMap stack:
aload 10
invokeinterface java.util.Iterator.hasNext:()Z
ifne 11
14: return
end local 8 end local 7 15: StackMap locals: org.graalvm.compiler.nodes.GraphDecoder org.graalvm.compiler.nodes.GraphDecoder$MethodScope org.graalvm.compiler.nodes.GraphDecoder$LoopScope org.graalvm.compiler.nodes.LoopBeginNode java.util.List org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.FrameState
StackMap stack:
aload 0
getfield org.graalvm.compiler.nodes.GraphDecoder.graph:Lorg/graalvm/compiler/nodes/StructuredGraph;
new org.graalvm.compiler.nodes.MergeNode
dup
invokespecial org.graalvm.compiler.nodes.MergeNode.<init>:()V
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.MergeNode
astore 7
start local 7 16: aload 1
getfield org.graalvm.compiler.nodes.GraphDecoder$MethodScope.loopExplosionMerges:Ljdk/internal/vm/compiler/collections/EconomicSet;
aload 7
invokeinterface jdk.internal.vm.compiler.collections.EconomicSet.add:(Ljava/lang/Object;)Z
pop
17: aload 1
getfield org.graalvm.compiler.nodes.GraphDecoder$MethodScope.loopExplosion:Lorg/graalvm/compiler/nodes/graphbuilderconf/LoopExplosionPlugin$LoopExplosionKind;
invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.LoopExplosionPlugin$LoopExplosionKind.mergeLoops:()Z
ifeq 49
18: aload 2
getfield org.graalvm.compiler.nodes.GraphDecoder$LoopScope.iterationStates:Ljdk/internal/vm/compiler/collections/EconomicMap;
invokeinterface jdk.internal.vm.compiler.collections.EconomicMap.size:()I
ifne 22
aload 2
getfield org.graalvm.compiler.nodes.GraphDecoder$LoopScope.loopDepth:I
iconst_1
if_icmpne 22
19: aload 1
getfield org.graalvm.compiler.nodes.GraphDecoder$MethodScope.loopExplosionHead:Lorg/graalvm/compiler/nodes/MergeNode;
ifnull 21
20: new org.graalvm.compiler.core.common.PermanentBailoutException
dup
ldc "Graal implementation restriction: Method with %s loop explosion must not have more than one top-level loop"
iconst_1
anewarray java.lang.Object
dup
iconst_0
getstatic org.graalvm.compiler.nodes.graphbuilderconf.LoopExplosionPlugin$LoopExplosionKind.MERGE_EXPLODE:Lorg/graalvm/compiler/nodes/graphbuilderconf/LoopExplosionPlugin$LoopExplosionKind;
aastore
invokespecial org.graalvm.compiler.core.common.PermanentBailoutException.<init>:(Ljava/lang/String;[Ljava/lang/Object;)V
athrow
21: StackMap locals: org.graalvm.compiler.nodes.MergeNode
StackMap stack:
aload 1
aload 7
putfield org.graalvm.compiler.nodes.GraphDecoder$MethodScope.loopExplosionHead:Lorg/graalvm/compiler/nodes/MergeNode;
22: StackMap locals:
StackMap stack:
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 8
start local 8 23: aload 6
getfield org.graalvm.compiler.nodes.FrameState.values:Lorg/graalvm/compiler/graph/NodeInputList;
invokevirtual org.graalvm.compiler.graph.NodeInputList.iterator:()Ljava/util/Iterator;
astore 10
goto 43
StackMap locals: org.graalvm.compiler.nodes.GraphDecoder org.graalvm.compiler.nodes.GraphDecoder$MethodScope org.graalvm.compiler.nodes.GraphDecoder$LoopScope org.graalvm.compiler.nodes.LoopBeginNode java.util.List org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.FrameState org.graalvm.compiler.nodes.MergeNode java.util.List top java.util.Iterator
StackMap stack:
24: aload 10
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.ValueNode
astore 9
start local 9 25: aload 9
ifnull 26
aload 9
invokevirtual org.graalvm.compiler.nodes.ValueNode.isConstant:()Z
ifne 26
aload 0
getfield org.graalvm.compiler.nodes.GraphDecoder.graph:Lorg/graalvm/compiler/nodes/StructuredGraph;
aload 1
getfield org.graalvm.compiler.nodes.GraphDecoder$MethodScope.methodStartMark:Lorg/graalvm/compiler/graph/Graph$Mark;
aload 9
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.isNew:(Lorg/graalvm/compiler/graph/Graph$Mark;Lorg/graalvm/compiler/graph/Node;)Z
ifne 28
26: StackMap locals: org.graalvm.compiler.nodes.GraphDecoder org.graalvm.compiler.nodes.GraphDecoder$MethodScope org.graalvm.compiler.nodes.GraphDecoder$LoopScope org.graalvm.compiler.nodes.LoopBeginNode java.util.List org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.FrameState org.graalvm.compiler.nodes.MergeNode java.util.List org.graalvm.compiler.nodes.ValueNode java.util.Iterator
StackMap stack:
aload 8
aload 9
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
27: goto 43
28: StackMap locals:
StackMap stack:
aload 0
getfield org.graalvm.compiler.nodes.GraphDecoder.graph:Lorg/graalvm/compiler/nodes/StructuredGraph;
new org.graalvm.compiler.nodes.GraphDecoder$ProxyPlaceholder
dup
aload 9
aload 7
invokespecial org.graalvm.compiler.nodes.GraphDecoder$ProxyPlaceholder.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/MergeNode;)V
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.unique:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.GraphDecoder$ProxyPlaceholder
astore 11
start local 11 29: aload 8
aload 11
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
30: iconst_0
istore 12
start local 12 31: goto 35
32: StackMap locals: org.graalvm.compiler.nodes.GraphDecoder$ProxyPlaceholder int
StackMap stack:
aload 2
getfield org.graalvm.compiler.nodes.GraphDecoder$LoopScope.createdNodes:[Lorg/graalvm/compiler/graph/Node;
iload 12
aaload
aload 9
if_acmpne 34
33: aload 2
getfield org.graalvm.compiler.nodes.GraphDecoder$LoopScope.createdNodes:[Lorg/graalvm/compiler/graph/Node;
iload 12
aload 11
aastore
34: StackMap locals:
StackMap stack:
iinc 12 1
StackMap locals:
StackMap stack:
35: iload 12
aload 2
getfield org.graalvm.compiler.nodes.GraphDecoder$LoopScope.createdNodes:[Lorg/graalvm/compiler/graph/Node;
arraylength
if_icmplt 32
end local 12 36: aload 2
getfield org.graalvm.compiler.nodes.GraphDecoder$LoopScope.initialCreatedNodes:[Lorg/graalvm/compiler/graph/Node;
ifnull 43
37: iconst_0
istore 12
start local 12 38: goto 42
39: StackMap locals:
StackMap stack:
aload 2
getfield org.graalvm.compiler.nodes.GraphDecoder$LoopScope.initialCreatedNodes:[Lorg/graalvm/compiler/graph/Node;
iload 12
aaload
aload 9
if_acmpne 41
40: aload 2
getfield org.graalvm.compiler.nodes.GraphDecoder$LoopScope.initialCreatedNodes:[Lorg/graalvm/compiler/graph/Node;
iload 12
aload 11
aastore
41: StackMap locals:
StackMap stack:
iinc 12 1
StackMap locals:
StackMap stack:
42: iload 12
aload 2
getfield org.graalvm.compiler.nodes.GraphDecoder$LoopScope.initialCreatedNodes:[Lorg/graalvm/compiler/graph/Node;
arraylength
if_icmplt 39
end local 12 end local 11 end local 9 43: StackMap locals: org.graalvm.compiler.nodes.GraphDecoder org.graalvm.compiler.nodes.GraphDecoder$MethodScope org.graalvm.compiler.nodes.GraphDecoder$LoopScope org.graalvm.compiler.nodes.LoopBeginNode java.util.List org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.FrameState org.graalvm.compiler.nodes.MergeNode java.util.List top java.util.Iterator
StackMap stack:
aload 10
invokeinterface java.util.Iterator.hasNext:()Z
ifne 24
44: aload 0
getfield org.graalvm.compiler.nodes.GraphDecoder.graph:Lorg/graalvm/compiler/nodes/StructuredGraph;
new org.graalvm.compiler.nodes.FrameState
dup
aload 6
invokevirtual org.graalvm.compiler.nodes.FrameState.outerFrameState:()Lorg/graalvm/compiler/nodes/FrameState;
aload 6
invokevirtual org.graalvm.compiler.nodes.FrameState.getCode:()Lorg/graalvm/compiler/bytecode/Bytecode;
aload 6
getfield org.graalvm.compiler.nodes.FrameState.bci:I
aload 8
aload 6
invokevirtual org.graalvm.compiler.nodes.FrameState.localsSize:()I
45: aload 6
invokevirtual org.graalvm.compiler.nodes.FrameState.stackSize:()I
aload 6
invokevirtual org.graalvm.compiler.nodes.FrameState.rethrowException:()Z
aload 6
invokevirtual org.graalvm.compiler.nodes.FrameState.duringCall:()Z
aload 6
invokevirtual org.graalvm.compiler.nodes.FrameState.monitorIds:()Lorg/graalvm/compiler/graph/NodeInputList;
aload 6
invokevirtual org.graalvm.compiler.nodes.FrameState.virtualObjectMappings:()Lorg/graalvm/compiler/graph/NodeInputList;
invokespecial org.graalvm.compiler.nodes.FrameState.<init>:(Lorg/graalvm/compiler/nodes/FrameState;Lorg/graalvm/compiler/bytecode/Bytecode;ILjava/util/List;IIZZLjava/util/List;Ljava/util/List;)V
46: invokevirtual org.graalvm.compiler.nodes.StructuredGraph.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.FrameState
astore 9
start local 9 47: aload 6
aload 9
invokevirtual org.graalvm.compiler.nodes.FrameState.replaceAtUsagesAndDelete:(Lorg/graalvm/compiler/graph/Node;)V
48: aload 9
astore 6
end local 9 end local 8 49: StackMap locals: org.graalvm.compiler.nodes.GraphDecoder org.graalvm.compiler.nodes.GraphDecoder$MethodScope org.graalvm.compiler.nodes.GraphDecoder$LoopScope org.graalvm.compiler.nodes.LoopBeginNode java.util.List org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.FrameState org.graalvm.compiler.nodes.MergeNode
StackMap stack:
aload 3
aload 7
invokevirtual org.graalvm.compiler.nodes.LoopBeginNode.replaceAtUsagesAndDelete:(Lorg/graalvm/compiler/graph/Node;)V
50: aload 7
aload 6
invokevirtual org.graalvm.compiler.nodes.MergeNode.setStateAfter:(Lorg/graalvm/compiler/nodes/FrameState;)V
51: aload 7
aload 5
invokevirtual org.graalvm.compiler.nodes.MergeNode.setNext:(Lorg/graalvm/compiler/nodes/FixedNode;)V
52: aload 4
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 9
goto 55
StackMap locals: org.graalvm.compiler.nodes.GraphDecoder org.graalvm.compiler.nodes.GraphDecoder$MethodScope org.graalvm.compiler.nodes.GraphDecoder$LoopScope org.graalvm.compiler.nodes.LoopBeginNode java.util.List org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.FrameState org.graalvm.compiler.nodes.MergeNode top java.util.Iterator
StackMap stack:
53: aload 9
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.EndNode
astore 8
start local 8 54: aload 7
aload 8
invokevirtual org.graalvm.compiler.nodes.MergeNode.addForwardEnd:(Lorg/graalvm/compiler/nodes/EndNode;)V
end local 8 55: StackMap locals:
StackMap stack:
aload 9
invokeinterface java.util.Iterator.hasNext:()Z
ifne 53
56: aload 1
getfield org.graalvm.compiler.nodes.GraphDecoder$MethodScope.loopExplosion:Lorg/graalvm/compiler/nodes/graphbuilderconf/LoopExplosionPlugin$LoopExplosionKind;
invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.LoopExplosionPlugin$LoopExplosionKind.mergeLoops:()Z
ifeq 59
57: new org.graalvm.compiler.nodes.GraphDecoder$LoopExplosionState
dup
aload 6
aload 7
invokespecial org.graalvm.compiler.nodes.GraphDecoder$LoopExplosionState.<init>:(Lorg/graalvm/compiler/nodes/FrameState;Lorg/graalvm/compiler/nodes/MergeNode;)V
astore 8
start local 8 58: aload 2
getfield org.graalvm.compiler.nodes.GraphDecoder$LoopScope.iterationStates:Ljdk/internal/vm/compiler/collections/EconomicMap;
aload 8
aload 8
invokeinterface jdk.internal.vm.compiler.collections.EconomicMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 8 59: StackMap locals: org.graalvm.compiler.nodes.GraphDecoder org.graalvm.compiler.nodes.GraphDecoder$MethodScope org.graalvm.compiler.nodes.GraphDecoder$LoopScope org.graalvm.compiler.nodes.LoopBeginNode java.util.List org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.FrameState org.graalvm.compiler.nodes.MergeNode
StackMap stack:
return
end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 60 0 this Lorg/graalvm/compiler/nodes/GraphDecoder;
0 60 1 methodScope Lorg/graalvm/compiler/nodes/GraphDecoder$MethodScope;
0 60 2 loopScope Lorg/graalvm/compiler/nodes/GraphDecoder$LoopScope;
0 60 3 loopBegin Lorg/graalvm/compiler/nodes/LoopBeginNode;
2 60 4 predecessors Ljava/util/List<Lorg/graalvm/compiler/nodes/EndNode;>;
3 60 5 successor Lorg/graalvm/compiler/nodes/FixedNode;
4 60 6 frameState Lorg/graalvm/compiler/nodes/FrameState;
6 15 7 queryState Lorg/graalvm/compiler/nodes/GraphDecoder$LoopExplosionState;
7 15 8 existingState Lorg/graalvm/compiler/nodes/GraphDecoder$LoopExplosionState;
12 13 9 predecessor Lorg/graalvm/compiler/nodes/EndNode;
16 60 7 merge Lorg/graalvm/compiler/nodes/MergeNode;
23 49 8 newFrameStateValues Ljava/util/List<Lorg/graalvm/compiler/nodes/ValueNode;>;
25 43 9 frameStateValue Lorg/graalvm/compiler/nodes/ValueNode;
29 43 11 newFrameStateValue Lorg/graalvm/compiler/nodes/GraphDecoder$ProxyPlaceholder;
31 36 12 i I
38 43 12 i I
47 49 9 newFrameState Lorg/graalvm/compiler/nodes/FrameState;
54 55 8 predecessor Lorg/graalvm/compiler/nodes/EndNode;
58 59 8 explosionState Lorg/graalvm/compiler/nodes/GraphDecoder$LoopExplosionState;
MethodParameters:
Name Flags
methodScope
loopScope
loopBegin
protected void checkLoopExplosionIteration(org.graalvm.compiler.nodes.GraphDecoder$MethodScope, org.graalvm.compiler.nodes.GraphDecoder$LoopScope);
descriptor: (Lorg/graalvm/compiler/nodes/GraphDecoder$MethodScope;Lorg/graalvm/compiler/nodes/GraphDecoder$LoopScope;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=3, args_size=3
start local 0 start local 1 start local 2 0: ldc "when subclass uses loop explosion, it needs to implement this method"
invokestatic org.graalvm.compiler.debug.GraalError.shouldNotReachHere:(Ljava/lang/String;)Ljava/lang/RuntimeException;
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/nodes/GraphDecoder;
0 1 1 methodScope Lorg/graalvm/compiler/nodes/GraphDecoder$MethodScope;
0 1 2 loopScope Lorg/graalvm/compiler/nodes/GraphDecoder$LoopScope;
MethodParameters:
Name Flags
methodScope
loopScope
protected org.graalvm.compiler.nodes.GraphDecoder$LoopScopeTrigger handleLoopExplosionEnd(org.graalvm.compiler.nodes.GraphDecoder$MethodScope, org.graalvm.compiler.nodes.GraphDecoder$LoopScope);
descriptor: (Lorg/graalvm/compiler/nodes/GraphDecoder$MethodScope;Lorg/graalvm/compiler/nodes/GraphDecoder$LoopScope;)Lorg/graalvm/compiler/nodes/GraphDecoder$LoopScopeTrigger;
flags: (0x0004) ACC_PROTECTED
Code:
stack=14, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aconst_null
astore 3
start local 3 1: aconst_null
astore 4
start local 4 2: aload 1
getfield org.graalvm.compiler.nodes.GraphDecoder$MethodScope.loopExplosion:Lorg/graalvm/compiler/nodes/graphbuilderconf/LoopExplosionPlugin$LoopExplosionKind;
invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.LoopExplosionPlugin$LoopExplosionKind.duplicateLoopEnds:()Z
ifeq 6
3: getstatic org.graalvm.compiler.nodes.GraphDecoder$LoopScopeTrigger.LOOP_END_DUPLICATION:Lorg/graalvm/compiler/nodes/GraphDecoder$LoopScopeTrigger;
astore 3
4: aload 2
getfield org.graalvm.compiler.nodes.GraphDecoder$LoopScope.nextIterationFromLoopEndDuplication:Ljava/util/Deque;
astore 4
5: goto 9
StackMap locals: org.graalvm.compiler.nodes.GraphDecoder$LoopScopeTrigger java.util.Deque
StackMap stack:
6: aload 2
getfield org.graalvm.compiler.nodes.GraphDecoder$LoopScope.nextIterationsFromUnrolling:Ljava/util/Deque;
invokeinterface java.util.Deque.isEmpty:()Z
ifeq 9
7: getstatic org.graalvm.compiler.nodes.GraphDecoder$LoopScopeTrigger.LOOP_BEGIN_UNROLLING:Lorg/graalvm/compiler/nodes/GraphDecoder$LoopScopeTrigger;
astore 3
8: aload 2
getfield org.graalvm.compiler.nodes.GraphDecoder$LoopScope.nextIterationsFromUnrolling:Ljava/util/Deque;
astore 4
9: StackMap locals:
StackMap stack:
aload 3
ifnull 26
10: aload 4
invokeinterface java.util.Deque.isEmpty:()Z
ifeq 11
aload 2
getfield org.graalvm.compiler.nodes.GraphDecoder$LoopScope.loopIteration:I
iconst_1
iadd
goto 12
StackMap locals:
StackMap stack:
11: aload 4
invokeinterface java.util.Deque.getLast:()Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.GraphDecoder$LoopScope
getfield org.graalvm.compiler.nodes.GraphDecoder$LoopScope.loopIteration:I
iconst_1
iadd
StackMap locals:
StackMap stack: int
12: istore 5
start local 5 13: new org.graalvm.compiler.nodes.GraphDecoder$LoopScope
dup
aload 1
aload 2
getfield org.graalvm.compiler.nodes.GraphDecoder$LoopScope.outer:Lorg/graalvm/compiler/nodes/GraphDecoder$LoopScope;
aload 2
getfield org.graalvm.compiler.nodes.GraphDecoder$LoopScope.loopDepth:I
iload 5
aload 2
getfield org.graalvm.compiler.nodes.GraphDecoder$LoopScope.loopBeginOrderId:I
aload 3
14: aload 1
getfield org.graalvm.compiler.nodes.GraphDecoder$MethodScope.loopExplosion:Lorg/graalvm/compiler/nodes/graphbuilderconf/LoopExplosionPlugin$LoopExplosionKind;
invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.LoopExplosionPlugin$LoopExplosionKind.mergeLoops:()Z
ifeq 15
aload 2
getfield org.graalvm.compiler.nodes.GraphDecoder$LoopScope.initialCreatedNodes:[Lorg/graalvm/compiler/graph/Node;
aload 2
getfield org.graalvm.compiler.nodes.GraphDecoder$LoopScope.initialCreatedNodes:[Lorg/graalvm/compiler/graph/Node;
arraylength
invokestatic java.util.Arrays.copyOf:([Ljava/lang/Object;I)[Ljava/lang/Object;
checkcast org.graalvm.compiler.graph.Node[]
goto 16
StackMap locals: org.graalvm.compiler.nodes.GraphDecoder org.graalvm.compiler.nodes.GraphDecoder$MethodScope org.graalvm.compiler.nodes.GraphDecoder$LoopScope org.graalvm.compiler.nodes.GraphDecoder$LoopScopeTrigger java.util.Deque int
StackMap stack: new 13 new 13 org.graalvm.compiler.nodes.GraphDecoder$MethodScope org.graalvm.compiler.nodes.GraphDecoder$LoopScope int int int org.graalvm.compiler.nodes.GraphDecoder$LoopScopeTrigger
15: aload 2
getfield org.graalvm.compiler.nodes.GraphDecoder$LoopScope.initialCreatedNodes:[Lorg/graalvm/compiler/graph/Node;
16: StackMap locals: org.graalvm.compiler.nodes.GraphDecoder org.graalvm.compiler.nodes.GraphDecoder$MethodScope org.graalvm.compiler.nodes.GraphDecoder$LoopScope org.graalvm.compiler.nodes.GraphDecoder$LoopScopeTrigger java.util.Deque int
StackMap stack: new 13 new 13 org.graalvm.compiler.nodes.GraphDecoder$MethodScope org.graalvm.compiler.nodes.GraphDecoder$LoopScope int int int org.graalvm.compiler.nodes.GraphDecoder$LoopScopeTrigger org.graalvm.compiler.graph.Node[]
aload 2
getfield org.graalvm.compiler.nodes.GraphDecoder$LoopScope.initialCreatedNodes:[Lorg/graalvm/compiler/graph/Node;
aload 2
getfield org.graalvm.compiler.nodes.GraphDecoder$LoopScope.initialCreatedNodes:[Lorg/graalvm/compiler/graph/Node;
arraylength
invokestatic java.util.Arrays.copyOf:([Ljava/lang/Object;I)[Ljava/lang/Object;
checkcast org.graalvm.compiler.graph.Node[]
17: aload 2
getfield org.graalvm.compiler.nodes.GraphDecoder$LoopScope.nextIterationFromLoopExitDuplication:Ljava/util/Deque;
18: aload 2
getfield org.graalvm.compiler.nodes.GraphDecoder$LoopScope.nextIterationFromLoopEndDuplication:Ljava/util/Deque;
19: aload 2
getfield org.graalvm.compiler.nodes.GraphDecoder$LoopScope.nextIterationsFromUnrolling:Ljava/util/Deque;
20: aload 2
getfield org.graalvm.compiler.nodes.GraphDecoder$LoopScope.iterationStates:Ljdk/internal/vm/compiler/collections/EconomicMap;
21: invokespecial org.graalvm.compiler.nodes.GraphDecoder$LoopScope.<init>:(Lorg/graalvm/compiler/nodes/GraphDecoder$MethodScope;Lorg/graalvm/compiler/nodes/GraphDecoder$LoopScope;IIILorg/graalvm/compiler/nodes/GraphDecoder$LoopScopeTrigger;[Lorg/graalvm/compiler/graph/Node;[Lorg/graalvm/compiler/graph/Node;Ljava/util/Deque;Ljava/util/Deque;Ljava/util/Deque;Ljdk/internal/vm/compiler/collections/EconomicMap;)V
astore 6
start local 6 22: aload 0
aload 1
aload 6
invokevirtual org.graalvm.compiler.nodes.GraphDecoder.checkLoopExplosionIteration:(Lorg/graalvm/compiler/nodes/GraphDecoder$MethodScope;Lorg/graalvm/compiler/nodes/GraphDecoder$LoopScope;)V
23: aload 4
aload 6
invokeinterface java.util.Deque.addLast:(Ljava/lang/Object;)V
24: aload 0
aload 6
aload 2
getfield org.graalvm.compiler.nodes.GraphDecoder$LoopScope.loopBeginOrderId:I
aconst_null
iconst_1
iconst_1
invokevirtual org.graalvm.compiler.nodes.GraphDecoder.registerNode:(Lorg/graalvm/compiler/nodes/GraphDecoder$LoopScope;ILorg/graalvm/compiler/graph/Node;ZZ)V
25: aload 0
aload 1
aload 6
aload 2
getfield org.graalvm.compiler.nodes.GraphDecoder$LoopScope.loopBeginOrderId:I
invokevirtual org.graalvm.compiler.nodes.GraphDecoder.makeStubNode:(Lorg/graalvm/compiler/nodes/GraphDecoder$MethodScope;Lorg/graalvm/compiler/nodes/GraphDecoder$LoopScope;I)Lorg/graalvm/compiler/nodes/FixedNode;
pop
end local 6 end local 5 26: 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 27 0 this Lorg/graalvm/compiler/nodes/GraphDecoder;
0 27 1 methodScope Lorg/graalvm/compiler/nodes/GraphDecoder$MethodScope;
0 27 2 loopScope Lorg/graalvm/compiler/nodes/GraphDecoder$LoopScope;
1 27 3 trigger Lorg/graalvm/compiler/nodes/GraphDecoder$LoopScopeTrigger;
2 27 4 nextIterations Ljava/util/Deque<Lorg/graalvm/compiler/nodes/GraphDecoder$LoopScope;>;
13 26 5 nextIterationNumber I
22 26 6 nextIterationScope Lorg/graalvm/compiler/nodes/GraphDecoder$LoopScope;
MethodParameters:
Name Flags
methodScope
loopScope
protected void handleFixedNode(org.graalvm.compiler.nodes.GraphDecoder$MethodScope, org.graalvm.compiler.nodes.GraphDecoder$LoopScope, int, org.graalvm.compiler.nodes.FixedNode);
descriptor: (Lorg/graalvm/compiler/nodes/GraphDecoder$MethodScope;Lorg/graalvm/compiler/nodes/GraphDecoder$LoopScope;ILorg/graalvm/compiler/nodes/FixedNode;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=0, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/nodes/GraphDecoder;
0 1 1 methodScope Lorg/graalvm/compiler/nodes/GraphDecoder$MethodScope;
0 1 2 loopScope Lorg/graalvm/compiler/nodes/GraphDecoder$LoopScope;
0 1 3 nodeOrderId I
0 1 4 node Lorg/graalvm/compiler/nodes/FixedNode;
MethodParameters:
Name Flags
methodScope
loopScope
nodeOrderId
node
protected boolean earlyCanonicalization(org.graalvm.compiler.nodes.GraphDecoder$MethodScope, org.graalvm.compiler.nodes.GraphDecoder$LoopScope, int, org.graalvm.compiler.nodes.FixedNode);
descriptor: (Lorg/graalvm/compiler/nodes/GraphDecoder$MethodScope;Lorg/graalvm/compiler/nodes/GraphDecoder$LoopScope;ILorg/graalvm/compiler/nodes/FixedNode;)Z
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: iconst_0
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/nodes/GraphDecoder;
0 1 1 methodScope Lorg/graalvm/compiler/nodes/GraphDecoder$MethodScope;
0 1 2 loopScope Lorg/graalvm/compiler/nodes/GraphDecoder$LoopScope;
0 1 3 nodeOrderId I
0 1 4 node Lorg/graalvm/compiler/nodes/FixedNode;
MethodParameters:
Name Flags
methodScope
loopScope
nodeOrderId
node
protected void handleProxyNodes(org.graalvm.compiler.nodes.GraphDecoder$MethodScope, org.graalvm.compiler.nodes.GraphDecoder$LoopScope, org.graalvm.compiler.nodes.LoopExitNode);
descriptor: (Lorg/graalvm/compiler/nodes/GraphDecoder$MethodScope;Lorg/graalvm/compiler/nodes/GraphDecoder$LoopScope;Lorg/graalvm/compiler/nodes/LoopExitNode;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=6, locals=9, args_size=4
start local 0 start local 1 start local 2 start local 3 0: getstatic org.graalvm.compiler.nodes.GraphDecoder.$assertionsDisabled:Z
ifne 1
aload 3
invokevirtual org.graalvm.compiler.nodes.LoopExitNode.stateAfter:()Lorg/graalvm/compiler/nodes/FrameState;
ifnull 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.nodes.GraphDecoder.readOrderId:(Lorg/graalvm/compiler/nodes/GraphDecoder$MethodScope;)I
istore 4
start local 4 2: aload 3
aload 0
aload 1
aload 2
iload 4
invokevirtual org.graalvm.compiler.nodes.GraphDecoder.ensureNodeCreated:(Lorg/graalvm/compiler/nodes/GraphDecoder$MethodScope;Lorg/graalvm/compiler/nodes/GraphDecoder$LoopScope;I)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.FrameState
invokevirtual org.graalvm.compiler.nodes.LoopExitNode.setStateAfter:(Lorg/graalvm/compiler/nodes/FrameState;)V
3: aload 1
getfield org.graalvm.compiler.nodes.GraphDecoder$MethodScope.reader:Lorg/graalvm/compiler/core/common/util/TypeReader;
invokeinterface org.graalvm.compiler.core.common.util.TypeReader.getUVInt:()I
istore 5
start local 5 4: iconst_0
istore 6
start local 6 5: goto 11
6: StackMap locals: int int int
StackMap stack:
aload 0
aload 1
invokevirtual org.graalvm.compiler.nodes.GraphDecoder.readOrderId:(Lorg/graalvm/compiler/nodes/GraphDecoder$MethodScope;)I
istore 7
start local 7 7: aload 0
aload 1
aload 2
iload 7
invokevirtual org.graalvm.compiler.nodes.GraphDecoder.ensureNodeCreated:(Lorg/graalvm/compiler/nodes/GraphDecoder$MethodScope;Lorg/graalvm/compiler/nodes/GraphDecoder$LoopScope;I)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.ProxyNode
astore 8
start local 8 8: aload 2
getfield org.graalvm.compiler.nodes.GraphDecoder$LoopScope.outer:Lorg/graalvm/compiler/nodes/GraphDecoder$LoopScope;
getfield org.graalvm.compiler.nodes.GraphDecoder$LoopScope.createdNodes:[Lorg/graalvm/compiler/graph/Node;
aload 2
getfield org.graalvm.compiler.nodes.GraphDecoder$LoopScope.createdNodes:[Lorg/graalvm/compiler/graph/Node;
if_acmpeq 10
9: aload 0
aload 2
getfield org.graalvm.compiler.nodes.GraphDecoder$LoopScope.outer:Lorg/graalvm/compiler/nodes/GraphDecoder$LoopScope;
iload 7
aload 8
iconst_0
iconst_0
invokevirtual org.graalvm.compiler.nodes.GraphDecoder.registerNode:(Lorg/graalvm/compiler/nodes/GraphDecoder$LoopScope;ILorg/graalvm/compiler/graph/Node;ZZ)V
end local 8 end local 7 10: StackMap locals:
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
11: iload 6
iload 5
if_icmplt 6
end local 6 12: return
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 13 0 this Lorg/graalvm/compiler/nodes/GraphDecoder;
0 13 1 methodScope Lorg/graalvm/compiler/nodes/GraphDecoder$MethodScope;
0 13 2 loopScope Lorg/graalvm/compiler/nodes/GraphDecoder$LoopScope;
0 13 3 loopExit Lorg/graalvm/compiler/nodes/LoopExitNode;
2 13 4 stateAfterOrderId I
4 13 5 numProxies I
5 12 6 i I
7 10 7 proxyOrderId I
8 10 8 proxy Lorg/graalvm/compiler/nodes/ProxyNode;
MethodParameters:
Name Flags
methodScope
loopScope
loopExit
protected void handleLoopExplosionProxyNodes(org.graalvm.compiler.nodes.GraphDecoder$MethodScope, org.graalvm.compiler.nodes.GraphDecoder$LoopScope, org.graalvm.compiler.nodes.GraphDecoder$LoopScope, org.graalvm.compiler.nodes.LoopExitNode, int);
descriptor: (Lorg/graalvm/compiler/nodes/GraphDecoder$MethodScope;Lorg/graalvm/compiler/nodes/GraphDecoder$LoopScope;Lorg/graalvm/compiler/nodes/GraphDecoder$LoopScope;Lorg/graalvm/compiler/nodes/LoopExitNode;I)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=6, locals=22, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: getstatic org.graalvm.compiler.nodes.GraphDecoder.$assertionsDisabled:Z
ifne 1
aload 4
invokevirtual org.graalvm.compiler.nodes.LoopExitNode.stateAfter:()Lorg/graalvm/compiler/nodes/FrameState;
ifnull 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.nodes.GraphDecoder.readOrderId:(Lorg/graalvm/compiler/nodes/GraphDecoder$MethodScope;)I
istore 6
start local 6 2: aload 0
getfield org.graalvm.compiler.nodes.GraphDecoder.graph:Lorg/graalvm/compiler/nodes/StructuredGraph;
new org.graalvm.compiler.nodes.BeginNode
dup
invokespecial org.graalvm.compiler.nodes.BeginNode.<init>:()V
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.BeginNode
astore 7
start local 7 3: aload 4
invokevirtual org.graalvm.compiler.nodes.LoopExitNode.next:()Lorg/graalvm/compiler/nodes/FixedNode;
astore 8
start local 8 4: aload 4
aload 7
invokevirtual org.graalvm.compiler.nodes.LoopExitNode.replaceAtPredecessor:(Lorg/graalvm/compiler/graph/Node;)V
5: aconst_null
astore 9
start local 9 6: aload 1
getfield org.graalvm.compiler.nodes.GraphDecoder$MethodScope.loopExplosion:Lorg/graalvm/compiler/nodes/graphbuilderconf/LoopExplosionPlugin$LoopExplosionKind;
invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.LoopExplosionPlugin$LoopExplosionKind.mergeLoops:()Z
ifeq 14
aload 2
getfield org.graalvm.compiler.nodes.GraphDecoder$LoopScope.loopDepth:I
iconst_1
if_icmpne 14
7: aload 0
getfield org.graalvm.compiler.nodes.GraphDecoder.graph:Lorg/graalvm/compiler/nodes/StructuredGraph;
new org.graalvm.compiler.nodes.MergeNode
dup
invokespecial org.graalvm.compiler.nodes.MergeNode.<init>:()V
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.MergeNode
astore 9
8: aload 1
getfield org.graalvm.compiler.nodes.GraphDecoder$MethodScope.loopExplosionMerges:Ljdk/internal/vm/compiler/collections/EconomicSet;
aload 9
invokeinterface jdk.internal.vm.compiler.collections.EconomicSet.add:(Ljava/lang/Object;)Z
pop
9: aload 0
getfield org.graalvm.compiler.nodes.GraphDecoder.graph:Lorg/graalvm/compiler/nodes/StructuredGraph;
new org.graalvm.compiler.nodes.EndNode
dup
invokespecial org.graalvm.compiler.nodes.EndNode.<init>:()V
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.EndNode
astore 10
start local 10 10: aload 7
aload 10
invokevirtual org.graalvm.compiler.nodes.BeginNode.setNext:(Lorg/graalvm/compiler/nodes/FixedNode;)V
11: aload 9
aload 10
invokevirtual org.graalvm.compiler.nodes.MergeNode.addForwardEnd:(Lorg/graalvm/compiler/nodes/EndNode;)V
12: aload 0
getfield org.graalvm.compiler.nodes.GraphDecoder.graph:Lorg/graalvm/compiler/nodes/StructuredGraph;
new org.graalvm.compiler.nodes.BeginNode
dup
invokespecial org.graalvm.compiler.nodes.BeginNode.<init>:()V
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.BeginNode
astore 7
13: aload 9
aload 7
invokevirtual org.graalvm.compiler.nodes.MergeNode.setNext:(Lorg/graalvm/compiler/nodes/FixedNode;)V
end local 10 14: StackMap locals: org.graalvm.compiler.nodes.GraphDecoder org.graalvm.compiler.nodes.GraphDecoder$MethodScope org.graalvm.compiler.nodes.GraphDecoder$LoopScope org.graalvm.compiler.nodes.GraphDecoder$LoopScope org.graalvm.compiler.nodes.LoopExitNode int int org.graalvm.compiler.nodes.BeginNode org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.MergeNode
StackMap stack:
aconst_null
astore 10
start local 10 15: aload 0
aload 3
iload 5
invokevirtual org.graalvm.compiler.nodes.GraphDecoder.lookupNode:(Lorg/graalvm/compiler/nodes/GraphDecoder$LoopScope;I)Lorg/graalvm/compiler/graph/Node;
astore 11
start local 11 16: aload 11
ifnonnull 20
17: aload 0
aload 3
iload 5
aload 7
iconst_0
iconst_0
invokevirtual org.graalvm.compiler.nodes.GraphDecoder.registerNode:(Lorg/graalvm/compiler/nodes/GraphDecoder$LoopScope;ILorg/graalvm/compiler/graph/Node;ZZ)V
18: aload 7
aload 8
invokevirtual org.graalvm.compiler.nodes.BeginNode.setNext:(Lorg/graalvm/compiler/nodes/FixedNode;)V
19: goto 29
StackMap locals: org.graalvm.compiler.nodes.MergeNode org.graalvm.compiler.graph.Node
StackMap stack:
20: aload 11
instanceof org.graalvm.compiler.nodes.BeginNode
ifeq 28
21: aload 0
getfield org.graalvm.compiler.nodes.GraphDecoder.graph:Lorg/graalvm/compiler/nodes/StructuredGraph;
new org.graalvm.compiler.nodes.MergeNode
dup
invokespecial org.graalvm.compiler.nodes.MergeNode.<init>:()V
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.MergeNode
astore 10
22: aload 0
aload 3
iload 5
aload 10
iconst_1
iconst_0
invokevirtual org.graalvm.compiler.nodes.GraphDecoder.registerNode:(Lorg/graalvm/compiler/nodes/GraphDecoder$LoopScope;ILorg/graalvm/compiler/graph/Node;ZZ)V
23: aload 0
getfield org.graalvm.compiler.nodes.GraphDecoder.graph:Lorg/graalvm/compiler/nodes/StructuredGraph;
new org.graalvm.compiler.nodes.EndNode
dup
invokespecial org.graalvm.compiler.nodes.EndNode.<init>:()V
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.EndNode
astore 12
start local 12 24: aload 11
checkcast org.graalvm.compiler.nodes.BeginNode
aload 12
invokevirtual org.graalvm.compiler.nodes.BeginNode.setNext:(Lorg/graalvm/compiler/nodes/FixedNode;)V
25: aload 10
aload 12
invokevirtual org.graalvm.compiler.nodes.MergeNode.addForwardEnd:(Lorg/graalvm/compiler/nodes/EndNode;)V
26: aload 10
aload 8
invokevirtual org.graalvm.compiler.nodes.MergeNode.setNext:(Lorg/graalvm/compiler/nodes/FixedNode;)V
end local 12 27: goto 29
28: StackMap locals:
StackMap stack:
aload 11
checkcast org.graalvm.compiler.nodes.MergeNode
astore 10
29: StackMap locals:
StackMap stack:
aload 10
ifnull 33
30: aload 0
getfield org.graalvm.compiler.nodes.GraphDecoder.graph:Lorg/graalvm/compiler/nodes/StructuredGraph;
new org.graalvm.compiler.nodes.EndNode
dup
invokespecial org.graalvm.compiler.nodes.EndNode.<init>:()V
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.EndNode
astore 12
start local 12 31: aload 7
aload 12
invokevirtual org.graalvm.compiler.nodes.BeginNode.setNext:(Lorg/graalvm/compiler/nodes/FixedNode;)V
32: aload 10
aload 12
invokevirtual org.graalvm.compiler.nodes.MergeNode.addForwardEnd:(Lorg/graalvm/compiler/nodes/EndNode;)V
end local 12 33: StackMap locals:
StackMap stack:
aload 1
getfield org.graalvm.compiler.nodes.GraphDecoder$MethodScope.reader:Lorg/graalvm/compiler/core/common/util/TypeReader;
invokeinterface org.graalvm.compiler.core.common.util.TypeReader.getUVInt:()I
istore 12
start local 12 34: iconst_0
istore 13
start local 13 35: iconst_0
istore 14
start local 14 36: goto 67
37: StackMap locals: int int int
StackMap stack:
aload 0
aload 1
invokevirtual org.graalvm.compiler.nodes.GraphDecoder.readOrderId:(Lorg/graalvm/compiler/nodes/GraphDecoder$MethodScope;)I
istore 15
start local 15 38: aload 0
aload 1
aload 2
iload 15
invokevirtual org.graalvm.compiler.nodes.GraphDecoder.ensureNodeCreated:(Lorg/graalvm/compiler/nodes/GraphDecoder$MethodScope;Lorg/graalvm/compiler/nodes/GraphDecoder$LoopScope;I)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.ProxyNode
astore 16
start local 16 39: aload 16
invokevirtual org.graalvm.compiler.nodes.ProxyNode.value:()Lorg/graalvm/compiler/nodes/ValueNode;
astore 17
start local 17 40: aload 9
ifnull 44
41: aload 17
invokevirtual org.graalvm.compiler.nodes.ValueNode.isConstant:()Z
ifne 43
42: aload 0
getfield org.graalvm.compiler.nodes.GraphDecoder.graph:Lorg/graalvm/compiler/nodes/StructuredGraph;
new org.graalvm.compiler.nodes.GraphDecoder$ProxyPlaceholder
dup
aload 17
aload 9
invokespecial org.graalvm.compiler.nodes.GraphDecoder$ProxyPlaceholder.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/MergeNode;)V
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.unique:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.ValueNode
astore 17
43: StackMap locals: int org.graalvm.compiler.nodes.ProxyNode org.graalvm.compiler.nodes.ValueNode
StackMap stack:
aload 0
aload 2
iload 15
aload 17
iconst_1
iconst_0
invokevirtual org.graalvm.compiler.nodes.GraphDecoder.registerNode:(Lorg/graalvm/compiler/nodes/GraphDecoder$LoopScope;ILorg/graalvm/compiler/graph/Node;ZZ)V
44: StackMap locals:
StackMap stack:
aload 3
getfield org.graalvm.compiler.nodes.GraphDecoder$LoopScope.createdNodes:[Lorg/graalvm/compiler/graph/Node;
iload 15
aaload
checkcast org.graalvm.compiler.nodes.ValueNode
astore 19
start local 19 45: aload 19
ifnull 46
aload 19
aload 17
if_acmpne 49
46: StackMap locals: org.graalvm.compiler.nodes.GraphDecoder org.graalvm.compiler.nodes.GraphDecoder$MethodScope org.graalvm.compiler.nodes.GraphDecoder$LoopScope org.graalvm.compiler.nodes.GraphDecoder$LoopScope org.graalvm.compiler.nodes.LoopExitNode int int org.graalvm.compiler.nodes.BeginNode org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.MergeNode org.graalvm.compiler.nodes.MergeNode org.graalvm.compiler.graph.Node int int int int org.graalvm.compiler.nodes.ProxyNode org.graalvm.compiler.nodes.ValueNode top org.graalvm.compiler.nodes.ValueNode
StackMap stack:
aload 0
aload 3
iload 15
aload 17
iconst_1
iconst_0
invokevirtual org.graalvm.compiler.nodes.GraphDecoder.registerNode:(Lorg/graalvm/compiler/nodes/GraphDecoder$LoopScope;ILorg/graalvm/compiler/graph/Node;ZZ)V
47: aload 17
astore 18
start local 18 48: goto 65
end local 18 49: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.nodes.GraphDecoder.$assertionsDisabled:Z
ifne 50
aload 10
ifnonnull 50
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
50: StackMap locals:
StackMap stack:
aload 10
aload 19
invokevirtual org.graalvm.compiler.nodes.MergeNode.isPhiAtMerge:(Lorg/graalvm/compiler/graph/Node;)Z
ifne 62
51: aload 16
aload 10
invokevirtual org.graalvm.compiler.nodes.ProxyNode.createPhi:(Lorg/graalvm/compiler/nodes/AbstractMergeNode;)Lorg/graalvm/compiler/nodes/PhiNode;
astore 20
start local 20 52: iconst_0
istore 21
start local 21 53: goto 56
54: StackMap locals: org.graalvm.compiler.nodes.PhiNode int
StackMap stack:
aload 20
aload 19
invokevirtual org.graalvm.compiler.nodes.PhiNode.addInput:(Lorg/graalvm/compiler/nodes/ValueNode;)V
55: iinc 21 1
StackMap locals:
StackMap stack:
56: iload 21
aload 10
invokevirtual org.graalvm.compiler.nodes.MergeNode.phiPredecessorCount:()I
iconst_1
isub
if_icmplt 54
end local 21 57: aload 20
aload 17
invokevirtual org.graalvm.compiler.nodes.PhiNode.addInput:(Lorg/graalvm/compiler/nodes/ValueNode;)V
58: aload 0
aload 3
iload 15
aload 20
iconst_1
iconst_0
invokevirtual org.graalvm.compiler.nodes.GraphDecoder.registerNode:(Lorg/graalvm/compiler/nodes/GraphDecoder$LoopScope;ILorg/graalvm/compiler/graph/Node;ZZ)V
59: aload 20
astore 18
start local 18 60: iconst_1
istore 13
end local 20 61: goto 65
end local 18 62: StackMap locals:
StackMap stack:
aload 19
checkcast org.graalvm.compiler.nodes.PhiNode
astore 20
start local 20 63: aload 20
aload 17
invokevirtual org.graalvm.compiler.nodes.PhiNode.addInput:(Lorg/graalvm/compiler/nodes/ValueNode;)V
64: aload 20
astore 18
end local 20 start local 18 65: StackMap locals: org.graalvm.compiler.nodes.GraphDecoder org.graalvm.compiler.nodes.GraphDecoder$MethodScope org.graalvm.compiler.nodes.GraphDecoder$LoopScope org.graalvm.compiler.nodes.GraphDecoder$LoopScope org.graalvm.compiler.nodes.LoopExitNode int int org.graalvm.compiler.nodes.BeginNode org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.MergeNode org.graalvm.compiler.nodes.MergeNode org.graalvm.compiler.graph.Node int int int int org.graalvm.compiler.nodes.ProxyNode org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.ValueNode
StackMap stack:
aload 16
aload 18
invokevirtual org.graalvm.compiler.nodes.ProxyNode.replaceAtUsagesAndDelete:(Lorg/graalvm/compiler/graph/Node;)V
end local 19 end local 18 end local 17 end local 16 end local 15 66: iinc 14 1
StackMap locals: org.graalvm.compiler.nodes.GraphDecoder org.graalvm.compiler.nodes.GraphDecoder$MethodScope org.graalvm.compiler.nodes.GraphDecoder$LoopScope org.graalvm.compiler.nodes.GraphDecoder$LoopScope org.graalvm.compiler.nodes.LoopExitNode int int org.graalvm.compiler.nodes.BeginNode org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.MergeNode org.graalvm.compiler.nodes.MergeNode org.graalvm.compiler.graph.Node int int int
StackMap stack:
67: iload 14
iload 12
if_icmplt 37
end local 14 68: aload 9
ifnull 71
69: aload 0
aload 2
iload 6
aconst_null
iconst_1
iconst_1
invokevirtual org.graalvm.compiler.nodes.GraphDecoder.registerNode:(Lorg/graalvm/compiler/nodes/GraphDecoder$LoopScope;ILorg/graalvm/compiler/graph/Node;ZZ)V
70: aload 9
aload 0
aload 1
aload 2
iload 6
invokevirtual org.graalvm.compiler.nodes.GraphDecoder.ensureNodeCreated:(Lorg/graalvm/compiler/nodes/GraphDecoder$MethodScope;Lorg/graalvm/compiler/nodes/GraphDecoder$LoopScope;I)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.FrameState
invokevirtual org.graalvm.compiler.nodes.MergeNode.setStateAfter:(Lorg/graalvm/compiler/nodes/FrameState;)V
71: StackMap locals:
StackMap stack:
aload 10
ifnull 77
aload 10
invokevirtual org.graalvm.compiler.nodes.MergeNode.stateAfter:()Lorg/graalvm/compiler/nodes/FrameState;
ifnull 72
iload 13
ifeq 77
72: StackMap locals:
StackMap stack:
aload 10
invokevirtual org.graalvm.compiler.nodes.MergeNode.stateAfter:()Lorg/graalvm/compiler/nodes/FrameState;
astore 14
start local 14 73: aload 0
aload 3
iload 6
aconst_null
iconst_1
iconst_1
invokevirtual org.graalvm.compiler.nodes.GraphDecoder.registerNode:(Lorg/graalvm/compiler/nodes/GraphDecoder$LoopScope;ILorg/graalvm/compiler/graph/Node;ZZ)V
74: aload 10
aload 0
aload 1
aload 3
iload 6
invokevirtual org.graalvm.compiler.nodes.GraphDecoder.ensureNodeCreated:(Lorg/graalvm/compiler/nodes/GraphDecoder$MethodScope;Lorg/graalvm/compiler/nodes/GraphDecoder$LoopScope;I)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.FrameState
invokevirtual org.graalvm.compiler.nodes.MergeNode.setStateAfter:(Lorg/graalvm/compiler/nodes/FrameState;)V
75: aload 14
ifnull 77
76: aload 14
invokevirtual org.graalvm.compiler.nodes.FrameState.safeDelete:()V
end local 14 77: StackMap locals:
StackMap stack:
aload 4
invokevirtual org.graalvm.compiler.nodes.LoopExitNode.safeDelete:()V
78: getstatic org.graalvm.compiler.nodes.GraphDecoder.$assertionsDisabled:Z
ifne 79
aload 8
invokevirtual org.graalvm.compiler.nodes.FixedNode.predecessor:()Lorg/graalvm/compiler/graph/Node;
ifnull 79
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
79: StackMap locals:
StackMap stack:
aload 10
ifnull 82
80: aload 10
invokevirtual org.graalvm.compiler.nodes.MergeNode.getNodeClass:()Lorg/graalvm/compiler/graph/NodeClass;
invokevirtual org.graalvm.compiler.graph.NodeClass.getSuccessorEdges:()Lorg/graalvm/compiler/graph/Edges;
aload 10
aconst_null
aload 8
invokevirtual org.graalvm.compiler.graph.Edges.update:(Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;)V
81: goto 83
82: StackMap locals:
StackMap stack:
aload 7
invokevirtual org.graalvm.compiler.nodes.BeginNode.getNodeClass:()Lorg/graalvm/compiler/graph/NodeClass;
invokevirtual org.graalvm.compiler.graph.NodeClass.getSuccessorEdges:()Lorg/graalvm/compiler/graph/Edges;
aload 7
aconst_null
aload 8
invokevirtual org.graalvm.compiler.graph.Edges.update:(Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;)V
83: StackMap locals:
StackMap stack:
return
end local 13 end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 84 0 this Lorg/graalvm/compiler/nodes/GraphDecoder;
0 84 1 methodScope Lorg/graalvm/compiler/nodes/GraphDecoder$MethodScope;
0 84 2 loopScope Lorg/graalvm/compiler/nodes/GraphDecoder$LoopScope;
0 84 3 outerScope Lorg/graalvm/compiler/nodes/GraphDecoder$LoopScope;
0 84 4 loopExit Lorg/graalvm/compiler/nodes/LoopExitNode;
0 84 5 loopExitOrderId I
2 84 6 stateAfterOrderId I
3 84 7 begin Lorg/graalvm/compiler/nodes/BeginNode;
4 84 8 loopExitSuccessor Lorg/graalvm/compiler/nodes/FixedNode;
6 84 9 loopExitPlaceholder Lorg/graalvm/compiler/nodes/MergeNode;
10 14 10 end Lorg/graalvm/compiler/nodes/EndNode;
15 84 10 merge Lorg/graalvm/compiler/nodes/MergeNode;
16 84 11 existingExit Lorg/graalvm/compiler/graph/Node;
24 27 12 firstEnd Lorg/graalvm/compiler/nodes/EndNode;
31 33 12 end Lorg/graalvm/compiler/nodes/EndNode;
34 84 12 numProxies I
35 84 13 phiCreated Z
36 68 14 i I
38 66 15 proxyOrderId I
39 66 16 proxy Lorg/graalvm/compiler/nodes/ProxyNode;
40 66 17 phiInput Lorg/graalvm/compiler/nodes/ValueNode;
48 49 18 replacement Lorg/graalvm/compiler/nodes/ValueNode;
60 62 18 replacement Lorg/graalvm/compiler/nodes/ValueNode;
65 66 18 replacement Lorg/graalvm/compiler/nodes/ValueNode;
45 66 19 existing Lorg/graalvm/compiler/nodes/ValueNode;
52 61 20 phi Lorg/graalvm/compiler/nodes/PhiNode;
53 57 21 j I
63 65 20 phi Lorg/graalvm/compiler/nodes/PhiNode;
73 77 14 oldStateAfter Lorg/graalvm/compiler/nodes/FrameState;
MethodParameters:
Name Flags
methodScope
loopScope
outerScope
loopExit
loopExitOrderId
protected void handlePhiFunctions(org.graalvm.compiler.nodes.GraphDecoder$MethodScope, org.graalvm.compiler.nodes.GraphDecoder$LoopScope, org.graalvm.compiler.nodes.GraphDecoder$LoopScope, org.graalvm.compiler.nodes.AbstractEndNode, org.graalvm.compiler.nodes.AbstractMergeNode);
descriptor: (Lorg/graalvm/compiler/nodes/GraphDecoder$MethodScope;Lorg/graalvm/compiler/nodes/GraphDecoder$LoopScope;Lorg/graalvm/compiler/nodes/GraphDecoder$LoopScope;Lorg/graalvm/compiler/nodes/AbstractEndNode;Lorg/graalvm/compiler/nodes/AbstractMergeNode;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=6, locals=15, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 4
instanceof org.graalvm.compiler.nodes.LoopEndNode
ifeq 5
1: aload 5
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.count:()I
istore 6
start local 6 2: aload 5
checkcast org.graalvm.compiler.nodes.LoopBeginNode
iload 6
putfield org.graalvm.compiler.nodes.LoopBeginNode.nextEndIndex:I
3: aload 4
checkcast org.graalvm.compiler.nodes.LoopEndNode
iload 6
iconst_1
isub
putfield org.graalvm.compiler.nodes.LoopEndNode.endIndex:I
end local 6 4: goto 8
5: StackMap locals:
StackMap stack:
aload 5
getfield org.graalvm.compiler.nodes.AbstractMergeNode.ends:Lorg/graalvm/compiler/graph/NodeInputList;
ifnonnull 7
6: aload 5
new org.graalvm.compiler.graph.NodeInputList
dup
aload 5
invokespecial org.graalvm.compiler.graph.NodeInputList.<init>:(Lorg/graalvm/compiler/graph/Node;)V
putfield org.graalvm.compiler.nodes.AbstractMergeNode.ends:Lorg/graalvm/compiler/graph/NodeInputList;
7: StackMap locals:
StackMap stack:
aload 5
aload 4
checkcast org.graalvm.compiler.nodes.EndNode
invokevirtual org.graalvm.compiler.nodes.AbstractMergeNode.addForwardEnd:(Lorg/graalvm/compiler/nodes/EndNode;)V
8: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.graalvm.compiler.nodes.GraphDecoder.allowLazyPhis:()Z
ifeq 10
aload 5
instanceof org.graalvm.compiler.nodes.LoopBeginNode
ifeq 9
aload 1
getfield org.graalvm.compiler.nodes.GraphDecoder$MethodScope.loopExplosion:Lorg/graalvm/compiler/nodes/graphbuilderconf/LoopExplosionPlugin$LoopExplosionKind;
invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.LoopExplosionPlugin$LoopExplosionKind.useExplosion:()Z
ifeq 10
StackMap locals:
StackMap stack:
9: iconst_1
goto 11
StackMap locals:
StackMap stack:
10: iconst_0
StackMap locals:
StackMap stack: int
11: istore 6
start local 6 12: aload 1
getfield org.graalvm.compiler.nodes.GraphDecoder$MethodScope.reader:Lorg/graalvm/compiler/core/common/util/TypeReader;
invokeinterface org.graalvm.compiler.core.common.util.TypeReader.getUVInt:()I
istore 7
start local 7 13: iconst_0
istore 8
start local 8 14: goto 40
15: StackMap locals: int int int
StackMap stack:
aload 0
aload 1
invokevirtual org.graalvm.compiler.nodes.GraphDecoder.readOrderId:(Lorg/graalvm/compiler/nodes/GraphDecoder$MethodScope;)I
istore 9
start local 9 16: aload 0
aload 1
invokevirtual org.graalvm.compiler.nodes.GraphDecoder.readOrderId:(Lorg/graalvm/compiler/nodes/GraphDecoder$MethodScope;)I
istore 10
start local 10 17: aload 0
aload 1
aload 2
iload 9
invokevirtual org.graalvm.compiler.nodes.GraphDecoder.ensureNodeCreated:(Lorg/graalvm/compiler/nodes/GraphDecoder$MethodScope;Lorg/graalvm/compiler/nodes/GraphDecoder$LoopScope;I)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.ValueNode
astore 11
start local 11 18: aload 0
aload 3
iload 10
invokevirtual org.graalvm.compiler.nodes.GraphDecoder.lookupNode:(Lorg/graalvm/compiler/nodes/GraphDecoder$LoopScope;I)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.ValueNode
astore 12
start local 12 19: aload 12
ifnull 23
aload 5
invokevirtual org.graalvm.compiler.nodes.AbstractMergeNode.phiPredecessorCount:()I
iconst_1
if_icmpne 23
20: getstatic org.graalvm.compiler.nodes.GraphDecoder.$assertionsDisabled:Z
ifne 22
aload 1
getfield org.graalvm.compiler.nodes.GraphDecoder$MethodScope.loopExplosion:Lorg/graalvm/compiler/nodes/graphbuilderconf/LoopExplosionPlugin$LoopExplosionKind;
invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.LoopExplosionPlugin$LoopExplosionKind.duplicateLoopExits:()Z
ifeq 21
aload 3
getfield org.graalvm.compiler.nodes.GraphDecoder$LoopScope.loopIteration:I
ifgt 22
StackMap locals: org.graalvm.compiler.nodes.GraphDecoder org.graalvm.compiler.nodes.GraphDecoder$MethodScope org.graalvm.compiler.nodes.GraphDecoder$LoopScope org.graalvm.compiler.nodes.GraphDecoder$LoopScope org.graalvm.compiler.nodes.AbstractEndNode org.graalvm.compiler.nodes.AbstractMergeNode int int int int int org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.ValueNode
StackMap stack:
21: new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
22: StackMap locals:
StackMap stack:
aconst_null
astore 12
23: StackMap locals:
StackMap stack:
iload 6
ifeq 26
aload 12
ifnull 24
aload 12
aload 11
if_acmpne 26
24: StackMap locals:
StackMap stack:
aload 0
aload 3
iload 10
aload 11
iconst_1
iconst_0
invokevirtual org.graalvm.compiler.nodes.GraphDecoder.registerNode:(Lorg/graalvm/compiler/nodes/GraphDecoder$LoopScope;ILorg/graalvm/compiler/graph/Node;ZZ)V
25: goto 39
StackMap locals:
StackMap stack:
26: aload 5
aload 12
invokevirtual org.graalvm.compiler.nodes.AbstractMergeNode.isPhiAtMerge:(Lorg/graalvm/compiler/graph/Node;)Z
ifne 37
27: aload 0
aload 3
iload 10
aconst_null
iconst_1
iconst_1
invokevirtual org.graalvm.compiler.nodes.GraphDecoder.registerNode:(Lorg/graalvm/compiler/nodes/GraphDecoder$LoopScope;ILorg/graalvm/compiler/graph/Node;ZZ)V
28: aload 0
aload 1
aload 3
iload 10
invokevirtual org.graalvm.compiler.nodes.GraphDecoder.ensureNodeCreated:(Lorg/graalvm/compiler/nodes/GraphDecoder$MethodScope;Lorg/graalvm/compiler/nodes/GraphDecoder$LoopScope;I)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.PhiNode
astore 13
start local 13 29: aload 13
aload 5
invokevirtual org.graalvm.compiler.nodes.PhiNode.setMerge:(Lorg/graalvm/compiler/nodes/AbstractMergeNode;)V
30: iconst_0
istore 14
start local 14 31: goto 34
32: StackMap locals: org.graalvm.compiler.nodes.PhiNode int
StackMap stack:
aload 13
aload 12
invokevirtual org.graalvm.compiler.nodes.PhiNode.addInput:(Lorg/graalvm/compiler/nodes/ValueNode;)V
33: iinc 14 1
StackMap locals:
StackMap stack:
34: iload 14
aload 5
invokevirtual org.graalvm.compiler.nodes.AbstractMergeNode.phiPredecessorCount:()I
iconst_1
isub
if_icmplt 32
end local 14 35: aload 13
aload 11
invokevirtual org.graalvm.compiler.nodes.PhiNode.addInput:(Lorg/graalvm/compiler/nodes/ValueNode;)V
end local 13 36: goto 39
37: StackMap locals:
StackMap stack:
aload 12
checkcast org.graalvm.compiler.nodes.PhiNode
astore 13
start local 13 38: aload 13
aload 11
invokevirtual org.graalvm.compiler.nodes.PhiNode.addInput:(Lorg/graalvm/compiler/nodes/ValueNode;)V
end local 13 end local 12 end local 11 end local 10 end local 9 39: StackMap locals: org.graalvm.compiler.nodes.GraphDecoder org.graalvm.compiler.nodes.GraphDecoder$MethodScope org.graalvm.compiler.nodes.GraphDecoder$LoopScope org.graalvm.compiler.nodes.GraphDecoder$LoopScope org.graalvm.compiler.nodes.AbstractEndNode org.graalvm.compiler.nodes.AbstractMergeNode int int int
StackMap stack:
iinc 8 1
StackMap locals:
StackMap stack:
40: iload 8
iload 7
if_icmplt 15
end local 8 41: return
end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 42 0 this Lorg/graalvm/compiler/nodes/GraphDecoder;
0 42 1 methodScope Lorg/graalvm/compiler/nodes/GraphDecoder$MethodScope;
0 42 2 phiInputScope Lorg/graalvm/compiler/nodes/GraphDecoder$LoopScope;
0 42 3 phiNodeScope Lorg/graalvm/compiler/nodes/GraphDecoder$LoopScope;
0 42 4 end Lorg/graalvm/compiler/nodes/AbstractEndNode;
0 42 5 merge Lorg/graalvm/compiler/nodes/AbstractMergeNode;
2 4 6 numEnds I
12 42 6 lazyPhi Z
13 42 7 numPhis I
14 41 8 i I
16 39 9 phiInputOrderId I
17 39 10 phiNodeOrderId I
18 39 11 phiInput Lorg/graalvm/compiler/nodes/ValueNode;
19 39 12 existing Lorg/graalvm/compiler/nodes/ValueNode;
29 36 13 phi Lorg/graalvm/compiler/nodes/PhiNode;
31 35 14 j I
38 39 13 phi Lorg/graalvm/compiler/nodes/PhiNode;
MethodParameters:
Name Flags
methodScope
phiInputScope
phiNodeScope
end
merge
protected boolean allowLazyPhis();
descriptor: ()Z
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/nodes/GraphDecoder;
protected void readProperties(org.graalvm.compiler.nodes.GraphDecoder$MethodScope, org.graalvm.compiler.graph.Node);
descriptor: (Lorg/graalvm/compiler/nodes/GraphDecoder$MethodScope;Lorg/graalvm/compiler/graph/Node;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=8, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokevirtual org.graalvm.compiler.nodes.GraphDecoder.readObject:(Lorg/graalvm/compiler/nodes/GraphDecoder$MethodScope;)Ljava/lang/Object;
checkcast org.graalvm.compiler.graph.NodeSourcePosition
astore 3
start local 3 1: aload 2
invokevirtual org.graalvm.compiler.graph.Node.getNodeClass:()Lorg/graalvm/compiler/graph/NodeClass;
invokevirtual org.graalvm.compiler.graph.NodeClass.getData:()Lorg/graalvm/compiler/core/common/Fields;
astore 4
start local 4 2: iconst_0
istore 5
start local 5 3: goto 11
4: StackMap locals: org.graalvm.compiler.graph.NodeSourcePosition org.graalvm.compiler.core.common.Fields int
StackMap stack:
aload 4
iload 5
invokevirtual org.graalvm.compiler.core.common.Fields.getType:(I)Ljava/lang/Class;
invokevirtual java.lang.Class.isPrimitive:()Z
ifeq 8
5: aload 1
getfield org.graalvm.compiler.nodes.GraphDecoder$MethodScope.reader:Lorg/graalvm/compiler/core/common/util/TypeReader;
invokeinterface org.graalvm.compiler.core.common.util.TypeReader.getSV:()J
lstore 6
start local 6 6: aload 4
aload 2
iload 5
lload 6
invokevirtual org.graalvm.compiler.core.common.Fields.setRawPrimitive:(Ljava/lang/Object;IJ)V
end local 6 7: goto 10
8: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual org.graalvm.compiler.nodes.GraphDecoder.readObject:(Lorg/graalvm/compiler/nodes/GraphDecoder$MethodScope;)Ljava/lang/Object;
astore 6
start local 6 9: aload 4
aload 2
iload 5
aload 6
invokevirtual org.graalvm.compiler.core.common.Fields.putObject:(Ljava/lang/Object;ILjava/lang/Object;)V
end local 6 10: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
11: iload 5
aload 4
invokevirtual org.graalvm.compiler.core.common.Fields.getCount:()I
if_icmplt 4
end local 5 12: aload 0
getfield org.graalvm.compiler.nodes.GraphDecoder.graph:Lorg/graalvm/compiler/nodes/StructuredGraph;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.trackNodeSourcePosition:()Z
ifeq 17
aload 3
ifnull 17
13: aload 1
aload 3
invokevirtual org.graalvm.compiler.nodes.GraphDecoder$MethodScope.getCallerBytecodePosition:(Lorg/graalvm/compiler/graph/NodeSourcePosition;)Lorg/graalvm/compiler/graph/NodeSourcePosition;
astore 5
start local 5 14: aload 2
aload 5
invokevirtual org.graalvm.compiler.graph.Node.setNodeSourcePosition:(Lorg/graalvm/compiler/graph/NodeSourcePosition;)V
15: aload 2
instanceof org.graalvm.compiler.nodes.DeoptimizingGuard
ifeq 17
16: aload 2
checkcast org.graalvm.compiler.nodes.DeoptimizingGuard
aload 5
invokevirtual org.graalvm.compiler.graph.NodeSourcePosition.getCaller:()Lorg/graalvm/compiler/graph/NodeSourcePosition;
invokeinterface org.graalvm.compiler.nodes.DeoptimizingGuard.addCallerToNoDeoptSuccessorPosition:(Lorg/graalvm/compiler/graph/NodeSourcePosition;)V
end local 5 17: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lorg/graalvm/compiler/nodes/GraphDecoder;
0 18 1 methodScope Lorg/graalvm/compiler/nodes/GraphDecoder$MethodScope;
0 18 2 node Lorg/graalvm/compiler/graph/Node;
1 18 3 position Lorg/graalvm/compiler/graph/NodeSourcePosition;
2 18 4 fields Lorg/graalvm/compiler/core/common/Fields;
3 12 5 pos I
6 7 6 primitive J
9 10 6 value Ljava/lang/Object;
14 17 5 callerBytecodePosition Lorg/graalvm/compiler/graph/NodeSourcePosition;
MethodParameters:
Name Flags
methodScope
node
protected void makeFixedNodeInputs(org.graalvm.compiler.nodes.GraphDecoder$MethodScope, org.graalvm.compiler.nodes.GraphDecoder$LoopScope, org.graalvm.compiler.graph.Node);
descriptor: (Lorg/graalvm/compiler/nodes/GraphDecoder$MethodScope;Lorg/graalvm/compiler/nodes/GraphDecoder$LoopScope;Lorg/graalvm/compiler/graph/Node;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=11, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 3
invokevirtual org.graalvm.compiler.graph.Node.getNodeClass:()Lorg/graalvm/compiler/graph/NodeClass;
invokevirtual org.graalvm.compiler.graph.NodeClass.getInputEdges:()Lorg/graalvm/compiler/graph/Edges;
astore 4
start local 4 1: iconst_0
istore 5
start local 5 2: goto 11
3: StackMap locals: org.graalvm.compiler.graph.Edges int
StackMap stack:
aload 3
aload 4
iload 5
invokestatic org.graalvm.compiler.nodes.GraphDecoder.skipDirectEdge:(Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Edges;I)Z
ifeq 5
4: goto 10
5: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual org.graalvm.compiler.nodes.GraphDecoder.readOrderId:(Lorg/graalvm/compiler/nodes/GraphDecoder$MethodScope;)I
istore 6
start local 6 6: aload 0
aload 1
aload 2
iload 6
invokevirtual org.graalvm.compiler.nodes.GraphDecoder.ensureNodeCreated:(Lorg/graalvm/compiler/nodes/GraphDecoder$MethodScope;Lorg/graalvm/compiler/nodes/GraphDecoder$LoopScope;I)Lorg/graalvm/compiler/graph/Node;
astore 7
start local 7 7: aload 4
aload 3
iload 5
aload 7
invokevirtual org.graalvm.compiler.graph.Edges.initializeNode:(Lorg/graalvm/compiler/graph/Node;ILorg/graalvm/compiler/graph/Node;)V
8: aload 7
ifnull 10
aload 7
invokevirtual org.graalvm.compiler.graph.Node.isDeleted:()Z
ifne 10
9: aload 4
aload 3
aconst_null
aload 7
invokevirtual org.graalvm.compiler.graph.Edges.update:(Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;)V
end local 7 end local 6 10: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
11: iload 5
aload 4
invokevirtual org.graalvm.compiler.graph.Edges.getDirectCount:()I
if_icmplt 3
end local 5 12: aload 3
instanceof org.graalvm.compiler.nodes.AbstractMergeNode
ifeq 15
13: getstatic org.graalvm.compiler.nodes.GraphDecoder.$assertionsDisabled:Z
ifne 14
aload 4
invokevirtual org.graalvm.compiler.graph.Edges.getCount:()I
aload 4
invokevirtual org.graalvm.compiler.graph.Edges.getDirectCount:()I
isub
iconst_1
if_icmpeq 14
new java.lang.AssertionError
dup
ldc "MergeNode has one variable size input (the ends)"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
14: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.nodes.GraphDecoder.$assertionsDisabled:Z
ifne 32
aload 3
aload 4
invokevirtual org.graalvm.compiler.graph.Edges.getOffsets:()[J
aload 4
invokevirtual org.graalvm.compiler.graph.Edges.getDirectCount:()I
invokestatic org.graalvm.compiler.graph.Edges.getNodeList:(Lorg/graalvm/compiler/graph/Node;[JI)Lorg/graalvm/compiler/graph/NodeList;
ifnonnull 32
new java.lang.AssertionError
dup
ldc "Input list must have been already created"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
15: StackMap locals:
StackMap stack:
aload 4
invokevirtual org.graalvm.compiler.graph.Edges.getDirectCount:()I
istore 5
start local 5 16: goto 31
17: StackMap locals: int
StackMap stack:
aload 1
getfield org.graalvm.compiler.nodes.GraphDecoder$MethodScope.reader:Lorg/graalvm/compiler/core/common/util/TypeReader;
invokeinterface org.graalvm.compiler.core.common.util.TypeReader.getSVInt:()I
istore 6
start local 6 18: iload 6
iconst_m1
if_icmpeq 30
19: new org.graalvm.compiler.graph.NodeInputList
dup
aload 3
iload 6
invokespecial org.graalvm.compiler.graph.NodeInputList.<init>:(Lorg/graalvm/compiler/graph/Node;I)V
astore 7
start local 7 20: aload 4
aload 3
iload 5
aload 7
invokevirtual org.graalvm.compiler.graph.Edges.initializeList:(Lorg/graalvm/compiler/graph/Node;ILorg/graalvm/compiler/graph/NodeList;)V
21: iconst_0
istore 8
start local 8 22: goto 29
23: StackMap locals: int org.graalvm.compiler.graph.NodeList int
StackMap stack:
aload 0
aload 1
invokevirtual org.graalvm.compiler.nodes.GraphDecoder.readOrderId:(Lorg/graalvm/compiler/nodes/GraphDecoder$MethodScope;)I
istore 9
start local 9 24: aload 0
aload 1
aload 2
iload 9
invokevirtual org.graalvm.compiler.nodes.GraphDecoder.ensureNodeCreated:(Lorg/graalvm/compiler/nodes/GraphDecoder$MethodScope;Lorg/graalvm/compiler/nodes/GraphDecoder$LoopScope;I)Lorg/graalvm/compiler/graph/Node;
astore 10
start local 10 25: aload 7
iload 8
aload 10
invokevirtual org.graalvm.compiler.graph.NodeList.initialize:(ILorg/graalvm/compiler/graph/Node;)V
26: aload 10
ifnull 28
aload 10
invokevirtual org.graalvm.compiler.graph.Node.isDeleted:()Z
ifne 28
27: aload 4
aload 3
aconst_null
aload 10
invokevirtual org.graalvm.compiler.graph.Edges.update:(Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;)V
end local 10 end local 9 28: StackMap locals:
StackMap stack:
iinc 8 1
StackMap locals:
StackMap stack:
29: iload 8
iload 6
if_icmplt 23
end local 8 end local 7 end local 6 30: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
31: iload 5
aload 4
invokevirtual org.graalvm.compiler.graph.Edges.getCount:()I
if_icmplt 17
end local 5 32: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 33 0 this Lorg/graalvm/compiler/nodes/GraphDecoder;
0 33 1 methodScope Lorg/graalvm/compiler/nodes/GraphDecoder$MethodScope;
0 33 2 loopScope Lorg/graalvm/compiler/nodes/GraphDecoder$LoopScope;
0 33 3 node Lorg/graalvm/compiler/graph/Node;
1 33 4 edges Lorg/graalvm/compiler/graph/Edges;
2 12 5 index I
6 10 6 orderId I
7 10 7 value Lorg/graalvm/compiler/graph/Node;
16 32 5 index I
18 30 6 size I
20 30 7 nodeList Lorg/graalvm/compiler/graph/NodeList<Lorg/graalvm/compiler/graph/Node;>;
22 30 8 idx I
24 28 9 orderId I
25 28 10 value Lorg/graalvm/compiler/graph/Node;
MethodParameters:
Name Flags
methodScope
loopScope
node
protected void makeFloatingNodeInputs(org.graalvm.compiler.nodes.GraphDecoder$MethodScope, org.graalvm.compiler.nodes.GraphDecoder$LoopScope, org.graalvm.compiler.graph.Node);
descriptor: (Lorg/graalvm/compiler/nodes/GraphDecoder$MethodScope;Lorg/graalvm/compiler/nodes/GraphDecoder$LoopScope;Lorg/graalvm/compiler/graph/Node;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=6, locals=11, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 3
invokevirtual org.graalvm.compiler.graph.Node.getNodeClass:()Lorg/graalvm/compiler/graph/NodeClass;
invokevirtual org.graalvm.compiler.graph.NodeClass.getInputEdges:()Lorg/graalvm/compiler/graph/Edges;
astore 4
start local 4 1: aload 3
instanceof org.graalvm.compiler.nodes.PhiNode
ifeq 6
2: getstatic org.graalvm.compiler.nodes.GraphDecoder.$assertionsDisabled:Z
ifne 3
aload 4
invokevirtual org.graalvm.compiler.graph.Edges.getDirectCount:()I
iconst_1
if_icmpeq 3
new java.lang.AssertionError
dup
ldc "PhiNode has one direct input (the MergeNode)"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
3: StackMap locals: org.graalvm.compiler.graph.Edges
StackMap stack:
getstatic org.graalvm.compiler.nodes.GraphDecoder.$assertionsDisabled:Z
ifne 4
aload 4
invokevirtual org.graalvm.compiler.graph.Edges.getCount:()I
aload 4
invokevirtual org.graalvm.compiler.graph.Edges.getDirectCount:()I
isub
iconst_1
if_icmpeq 4
new java.lang.AssertionError
dup
ldc "PhiNode has one variable size input (the values)"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
4: StackMap locals:
StackMap stack:
aload 4
aload 3
aload 4
invokevirtual org.graalvm.compiler.graph.Edges.getDirectCount:()I
new org.graalvm.compiler.graph.NodeInputList
dup
aload 3
invokespecial org.graalvm.compiler.graph.NodeInputList.<init>:(Lorg/graalvm/compiler/graph/Node;)V
invokevirtual org.graalvm.compiler.graph.Edges.initializeList:(Lorg/graalvm/compiler/graph/Node;ILorg/graalvm/compiler/graph/NodeList;)V
5: goto 28
6: StackMap locals:
StackMap stack:
iconst_0
istore 5
start local 5 7: goto 12
8: StackMap locals: int
StackMap stack:
aload 0
aload 1
invokevirtual org.graalvm.compiler.nodes.GraphDecoder.readOrderId:(Lorg/graalvm/compiler/nodes/GraphDecoder$MethodScope;)I
istore 6
start local 6 9: aload 0
aload 1
aload 2
iload 6
invokevirtual org.graalvm.compiler.nodes.GraphDecoder.ensureNodeCreated:(Lorg/graalvm/compiler/nodes/GraphDecoder$MethodScope;Lorg/graalvm/compiler/nodes/GraphDecoder$LoopScope;I)Lorg/graalvm/compiler/graph/Node;
astore 7
start local 7 10: aload 4
aload 3
iload 5
aload 7
invokevirtual org.graalvm.compiler.graph.Edges.initializeNode:(Lorg/graalvm/compiler/graph/Node;ILorg/graalvm/compiler/graph/Node;)V
end local 7 end local 6 11: iinc 5 1
StackMap locals:
StackMap stack:
12: iload 5
aload 4
invokevirtual org.graalvm.compiler.graph.Edges.getDirectCount:()I
if_icmplt 8
end local 5 13: aload 4
invokevirtual org.graalvm.compiler.graph.Edges.getDirectCount:()I
istore 5
start local 5 14: goto 27
15: StackMap locals:
StackMap stack:
aload 1
getfield org.graalvm.compiler.nodes.GraphDecoder$MethodScope.reader:Lorg/graalvm/compiler/core/common/util/TypeReader;
invokeinterface org.graalvm.compiler.core.common.util.TypeReader.getSVInt:()I
istore 6
start local 6 16: iload 6
iconst_m1
if_icmpeq 26
17: new org.graalvm.compiler.graph.NodeInputList
dup
aload 3
iload 6
invokespecial org.graalvm.compiler.graph.NodeInputList.<init>:(Lorg/graalvm/compiler/graph/Node;I)V
astore 7
start local 7 18: aload 4
aload 3
iload 5
aload 7
invokevirtual org.graalvm.compiler.graph.Edges.initializeList:(Lorg/graalvm/compiler/graph/Node;ILorg/graalvm/compiler/graph/NodeList;)V
19: iconst_0
istore 8
start local 8 20: goto 25
21: StackMap locals: int org.graalvm.compiler.graph.NodeList int
StackMap stack:
aload 0
aload 1
invokevirtual org.graalvm.compiler.nodes.GraphDecoder.readOrderId:(Lorg/graalvm/compiler/nodes/GraphDecoder$MethodScope;)I
istore 9
start local 9 22: aload 0
aload 1
aload 2
iload 9
invokevirtual org.graalvm.compiler.nodes.GraphDecoder.ensureNodeCreated:(Lorg/graalvm/compiler/nodes/GraphDecoder$MethodScope;Lorg/graalvm/compiler/nodes/GraphDecoder$LoopScope;I)Lorg/graalvm/compiler/graph/Node;
astore 10
start local 10 23: aload 7
iload 8
aload 10
invokevirtual org.graalvm.compiler.graph.NodeList.initialize:(ILorg/graalvm/compiler/graph/Node;)V
end local 10 end local 9 24: iinc 8 1
StackMap locals:
StackMap stack:
25: iload 8
iload 6
if_icmplt 21
end local 8 end local 7 end local 6 26: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
27: iload 5
aload 4
invokevirtual org.graalvm.compiler.graph.Edges.getCount:()I
if_icmplt 15
end local 5 28: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 29 0 this Lorg/graalvm/compiler/nodes/GraphDecoder;
0 29 1 methodScope Lorg/graalvm/compiler/nodes/GraphDecoder$MethodScope;
0 29 2 loopScope Lorg/graalvm/compiler/nodes/GraphDecoder$LoopScope;
0 29 3 node Lorg/graalvm/compiler/graph/Node;
1 29 4 edges Lorg/graalvm/compiler/graph/Edges;
7 13 5 index I
9 11 6 orderId I
10 11 7 value Lorg/graalvm/compiler/graph/Node;
14 28 5 index I
16 26 6 size I
18 26 7 nodeList Lorg/graalvm/compiler/graph/NodeList<Lorg/graalvm/compiler/graph/Node;>;
20 26 8 idx I
22 24 9 orderId I
23 24 10 value Lorg/graalvm/compiler/graph/Node;
MethodParameters:
Name Flags
methodScope
loopScope
node
protected org.graalvm.compiler.graph.Node ensureNodeCreated(org.graalvm.compiler.nodes.GraphDecoder$MethodScope, org.graalvm.compiler.nodes.GraphDecoder$LoopScope, int);
descriptor: (Lorg/graalvm/compiler/nodes/GraphDecoder$MethodScope;Lorg/graalvm/compiler/nodes/GraphDecoder$LoopScope;I)Lorg/graalvm/compiler/graph/Node;
flags: (0x0004) ACC_PROTECTED
Code:
stack=6, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 3
ifne 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 0
aload 2
iload 3
invokevirtual org.graalvm.compiler.nodes.GraphDecoder.lookupNode:(Lorg/graalvm/compiler/nodes/GraphDecoder$LoopScope;I)Lorg/graalvm/compiler/graph/Node;
astore 4
start local 4 3: aload 4
ifnull 5
4: aload 4
areturn
5: StackMap locals: org.graalvm.compiler.graph.Node
StackMap stack:
aload 0
aload 1
aload 2
iload 3
invokevirtual org.graalvm.compiler.nodes.GraphDecoder.decodeFloatingNode:(Lorg/graalvm/compiler/nodes/GraphDecoder$MethodScope;Lorg/graalvm/compiler/nodes/GraphDecoder$LoopScope;I)Lorg/graalvm/compiler/graph/Node;
astore 4
6: aload 4
instanceof org.graalvm.compiler.nodes.ProxyNode
ifne 7
aload 4
instanceof org.graalvm.compiler.nodes.PhiNode
ifeq 9
7: StackMap locals:
StackMap stack:
aload 0
getfield org.graalvm.compiler.nodes.GraphDecoder.graph:Lorg/graalvm/compiler/nodes/StructuredGraph;
aload 4
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.addWithoutUnique:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
astore 4
8: goto 15
9: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
aload 4
invokevirtual org.graalvm.compiler.nodes.GraphDecoder.handleFloatingNodeBeforeAdd:(Lorg/graalvm/compiler/nodes/GraphDecoder$MethodScope;Lorg/graalvm/compiler/nodes/GraphDecoder$LoopScope;Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
astore 5
start local 5 10: aload 5
aload 4
if_acmpeq 12
11: aload 0
aload 4
invokevirtual org.graalvm.compiler.nodes.GraphDecoder.releaseFloatingNode:(Lorg/graalvm/compiler/graph/Node;)V
12: StackMap locals: org.graalvm.compiler.graph.Node
StackMap stack:
aload 5
invokevirtual org.graalvm.compiler.graph.Node.isAlive:()Z
ifne 14
13: aload 0
aload 1
aload 5
invokevirtual org.graalvm.compiler.nodes.GraphDecoder.addFloatingNode:(Lorg/graalvm/compiler/nodes/GraphDecoder$MethodScope;Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
astore 5
14: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
aload 5
invokevirtual org.graalvm.compiler.nodes.GraphDecoder.handleFloatingNodeAfterAdd:(Lorg/graalvm/compiler/nodes/GraphDecoder$MethodScope;Lorg/graalvm/compiler/nodes/GraphDecoder$LoopScope;Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
astore 4
end local 5 15: StackMap locals:
StackMap stack:
aload 0
aload 2
iload 3
aload 4
iconst_0
iconst_0
invokevirtual org.graalvm.compiler.nodes.GraphDecoder.registerNode:(Lorg/graalvm/compiler/nodes/GraphDecoder$LoopScope;ILorg/graalvm/compiler/graph/Node;ZZ)V
16: aload 4
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lorg/graalvm/compiler/nodes/GraphDecoder;
0 17 1 methodScope Lorg/graalvm/compiler/nodes/GraphDecoder$MethodScope;
0 17 2 loopScope Lorg/graalvm/compiler/nodes/GraphDecoder$LoopScope;
0 17 3 nodeOrderId I
3 17 4 node Lorg/graalvm/compiler/graph/Node;
10 15 5 newNode Lorg/graalvm/compiler/graph/Node;
MethodParameters:
Name Flags
methodScope
loopScope
nodeOrderId
protected org.graalvm.compiler.graph.Node addFloatingNode(org.graalvm.compiler.nodes.GraphDecoder$MethodScope, org.graalvm.compiler.graph.Node);
descriptor: (Lorg/graalvm/compiler/nodes/GraphDecoder$MethodScope;Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.graalvm.compiler.nodes.GraphDecoder.graph:Lorg/graalvm/compiler/nodes/StructuredGraph;
aload 2
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.addWithoutUnique:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/nodes/GraphDecoder;
0 1 1 methodScope Lorg/graalvm/compiler/nodes/GraphDecoder$MethodScope;
0 1 2 node Lorg/graalvm/compiler/graph/Node;
MethodParameters:
Name Flags
methodScope
node
protected org.graalvm.compiler.graph.Node decodeFloatingNode(org.graalvm.compiler.nodes.GraphDecoder$MethodScope, org.graalvm.compiler.nodes.GraphDecoder$LoopScope, int);
descriptor: (Lorg/graalvm/compiler/nodes/GraphDecoder$MethodScope;Lorg/graalvm/compiler/nodes/GraphDecoder$LoopScope;I)Lorg/graalvm/compiler/graph/Node;
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
getfield org.graalvm.compiler.nodes.GraphDecoder$MethodScope.reader:Lorg/graalvm/compiler/core/common/util/TypeReader;
invokeinterface org.graalvm.compiler.core.common.util.TypeReader.getByteIndex:()J
lstore 4
start local 4 1: aload 1
getfield org.graalvm.compiler.nodes.GraphDecoder$MethodScope.reader:Lorg/graalvm/compiler/core/common/util/TypeReader;
aload 1
getfield org.graalvm.compiler.nodes.GraphDecoder$MethodScope.encodedGraph:Lorg/graalvm/compiler/nodes/EncodedGraph;
getfield org.graalvm.compiler.nodes.EncodedGraph.nodeStartOffsets:[I
iload 3
iaload
i2l
invokeinterface org.graalvm.compiler.core.common.util.TypeReader.setByteIndex:(J)V
2: aload 1
getfield org.graalvm.compiler.nodes.GraphDecoder$MethodScope.encodedGraph:Lorg/graalvm/compiler/nodes/EncodedGraph;
invokevirtual org.graalvm.compiler.nodes.EncodedGraph.getNodeClasses:()[Lorg/graalvm/compiler/graph/NodeClass;
aload 1
getfield org.graalvm.compiler.nodes.GraphDecoder$MethodScope.reader:Lorg/graalvm/compiler/core/common/util/TypeReader;
invokeinterface org.graalvm.compiler.core.common.util.TypeReader.getUVInt:()I
aaload
astore 6
start local 6 3: aload 0
aload 6
invokevirtual org.graalvm.compiler.nodes.GraphDecoder.allocateFloatingNode:(Lorg/graalvm/compiler/graph/NodeClass;)Lorg/graalvm/compiler/graph/Node;
astore 7
start local 7 4: aload 7
instanceof org.graalvm.compiler.nodes.FixedNode
ifeq 6
5: new java.lang.StringBuilder
dup
ldc "Not a floating node: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 7
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic org.graalvm.compiler.debug.GraalError.shouldNotReachHere:(Ljava/lang/String;)Ljava/lang/RuntimeException;
athrow
6: StackMap locals: long org.graalvm.compiler.graph.NodeClass org.graalvm.compiler.graph.Node
StackMap stack:
aload 0
aload 1
aload 2
aload 7
invokevirtual org.graalvm.compiler.nodes.GraphDecoder.makeFloatingNodeInputs:(Lorg/graalvm/compiler/nodes/GraphDecoder$MethodScope;Lorg/graalvm/compiler/nodes/GraphDecoder$LoopScope;Lorg/graalvm/compiler/graph/Node;)V
7: aload 0
aload 1
aload 7
invokevirtual org.graalvm.compiler.nodes.GraphDecoder.readProperties:(Lorg/graalvm/compiler/nodes/GraphDecoder$MethodScope;Lorg/graalvm/compiler/graph/Node;)V
8: getstatic org.graalvm.compiler.nodes.GraphDecoder.$assertionsDisabled:Z
ifne 9
aload 7
invokevirtual org.graalvm.compiler.graph.Node.getNodeClass:()Lorg/graalvm/compiler/graph/NodeClass;
getstatic org.graalvm.compiler.graph.Edges$Type.Successors:Lorg/graalvm/compiler/graph/Edges$Type;
invokevirtual org.graalvm.compiler.graph.NodeClass.getEdges:(Lorg/graalvm/compiler/graph/Edges$Type;)Lorg/graalvm/compiler/graph/Edges;
invokevirtual org.graalvm.compiler.graph.Edges.getCount:()I
ifeq 9
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
9: StackMap locals:
StackMap stack:
aload 1
getfield org.graalvm.compiler.nodes.GraphDecoder$MethodScope.reader:Lorg/graalvm/compiler/core/common/util/TypeReader;
lload 4
invokeinterface org.graalvm.compiler.core.common.util.TypeReader.setByteIndex:(J)V
10: aload 7
areturn
end local 7 end local 6 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/graalvm/compiler/nodes/GraphDecoder;
0 11 1 methodScope Lorg/graalvm/compiler/nodes/GraphDecoder$MethodScope;
0 11 2 loopScope Lorg/graalvm/compiler/nodes/GraphDecoder$LoopScope;
0 11 3 nodeOrderId I
1 11 4 readerByteIndex J
3 11 6 nodeClass Lorg/graalvm/compiler/graph/NodeClass<*>;
4 11 7 node Lorg/graalvm/compiler/graph/Node;
MethodParameters:
Name Flags
methodScope
loopScope
nodeOrderId
private org.graalvm.compiler.graph.Node allocateFloatingNode(org.graalvm.compiler.graph.NodeClass<?>);
descriptor: (Lorg/graalvm/compiler/graph/NodeClass;)Lorg/graalvm/compiler/graph/Node;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield org.graalvm.compiler.nodes.GraphDecoder.reusableFloatingNodes:Ljdk/internal/vm/compiler/collections/EconomicMap;
aload 1
invokeinterface jdk.internal.vm.compiler.collections.EconomicMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.ArrayDeque
astore 2
start local 2 1: aload 2
ifnull 5
2: aload 2
invokevirtual java.util.ArrayDeque.poll:()Ljava/lang/Object;
checkcast org.graalvm.compiler.graph.Node
astore 3
start local 3 3: aload 3
ifnull 5
4: aload 3
areturn
end local 3 5: StackMap locals: java.util.ArrayDeque
StackMap stack:
aload 1
invokevirtual org.graalvm.compiler.graph.NodeClass.allocateInstance:()Lorg/graalvm/compiler/graph/Node;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/graalvm/compiler/nodes/GraphDecoder;
0 6 1 nodeClass Lorg/graalvm/compiler/graph/NodeClass<*>;
1 6 2 cachedNodes Ljava/util/ArrayDeque<+Lorg/graalvm/compiler/graph/Node;>;
3 5 3 node Lorg/graalvm/compiler/graph/Node;
Signature: (Lorg/graalvm/compiler/graph/NodeClass<*>;)Lorg/graalvm/compiler/graph/Node;
MethodParameters:
Name Flags
nodeClass
private void releaseFloatingNode(org.graalvm.compiler.graph.Node);
descriptor: (Lorg/graalvm/compiler/graph/Node;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield org.graalvm.compiler.nodes.GraphDecoder.reusableFloatingNodes:Ljdk/internal/vm/compiler/collections/EconomicMap;
aload 1
invokevirtual org.graalvm.compiler.graph.Node.getNodeClass:()Lorg/graalvm/compiler/graph/NodeClass;
invokeinterface jdk.internal.vm.compiler.collections.EconomicMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.ArrayDeque
astore 2
start local 2 1: aload 2
ifnonnull 4
2: new java.util.ArrayDeque
dup
iconst_2
invokespecial java.util.ArrayDeque.<init>:(I)V
astore 2
3: aload 0
getfield org.graalvm.compiler.nodes.GraphDecoder.reusableFloatingNodes:Ljdk/internal/vm/compiler/collections/EconomicMap;
aload 1
invokevirtual org.graalvm.compiler.graph.Node.getNodeClass:()Lorg/graalvm/compiler/graph/NodeClass;
aload 2
invokeinterface jdk.internal.vm.compiler.collections.EconomicMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
4: StackMap locals: java.util.ArrayDeque
StackMap stack:
aload 2
aload 1
invokevirtual java.util.ArrayDeque.push:(Ljava/lang/Object;)V
5: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/graalvm/compiler/nodes/GraphDecoder;
0 6 1 node Lorg/graalvm/compiler/graph/Node;
1 6 2 cachedNodes Ljava/util/ArrayDeque<Lorg/graalvm/compiler/graph/Node;>;
MethodParameters:
Name Flags
node
protected org.graalvm.compiler.graph.Node handleFloatingNodeBeforeAdd(org.graalvm.compiler.nodes.GraphDecoder$MethodScope, org.graalvm.compiler.nodes.GraphDecoder$LoopScope, org.graalvm.compiler.graph.Node);
descriptor: (Lorg/graalvm/compiler/nodes/GraphDecoder$MethodScope;Lorg/graalvm/compiler/nodes/GraphDecoder$LoopScope;Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/nodes/GraphDecoder;
0 1 1 methodScope Lorg/graalvm/compiler/nodes/GraphDecoder$MethodScope;
0 1 2 loopScope Lorg/graalvm/compiler/nodes/GraphDecoder$LoopScope;
0 1 3 node Lorg/graalvm/compiler/graph/Node;
MethodParameters:
Name Flags
methodScope
loopScope
node
protected org.graalvm.compiler.graph.Node handleFloatingNodeAfterAdd(org.graalvm.compiler.nodes.GraphDecoder$MethodScope, org.graalvm.compiler.nodes.GraphDecoder$LoopScope, org.graalvm.compiler.graph.Node);
descriptor: (Lorg/graalvm/compiler/nodes/GraphDecoder$MethodScope;Lorg/graalvm/compiler/nodes/GraphDecoder$LoopScope;Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/nodes/GraphDecoder;
0 1 1 methodScope Lorg/graalvm/compiler/nodes/GraphDecoder$MethodScope;
0 1 2 loopScope Lorg/graalvm/compiler/nodes/GraphDecoder$LoopScope;
0 1 3 node Lorg/graalvm/compiler/graph/Node;
MethodParameters:
Name Flags
methodScope
loopScope
node
protected void makeSuccessorStubs(org.graalvm.compiler.nodes.GraphDecoder$MethodScope, org.graalvm.compiler.nodes.GraphDecoder$LoopScope, org.graalvm.compiler.graph.Node, boolean);
descriptor: (Lorg/graalvm/compiler/nodes/GraphDecoder$MethodScope;Lorg/graalvm/compiler/nodes/GraphDecoder$LoopScope;Lorg/graalvm/compiler/graph/Node;Z)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=12, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 3
invokevirtual org.graalvm.compiler.graph.Node.getNodeClass:()Lorg/graalvm/compiler/graph/NodeClass;
invokevirtual org.graalvm.compiler.graph.NodeClass.getSuccessorEdges:()Lorg/graalvm/compiler/graph/Edges;
astore 5
start local 5 1: iconst_0
istore 6
start local 6 2: goto 11
3: StackMap locals: org.graalvm.compiler.graph.Edges int
StackMap stack:
aload 3
aload 5
iload 6
invokestatic org.graalvm.compiler.nodes.GraphDecoder.skipDirectEdge:(Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Edges;I)Z
ifeq 5
4: goto 10
5: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual org.graalvm.compiler.nodes.GraphDecoder.readOrderId:(Lorg/graalvm/compiler/nodes/GraphDecoder$MethodScope;)I
istore 7
start local 7 6: aload 0
aload 1
aload 2
iload 7
invokevirtual org.graalvm.compiler.nodes.GraphDecoder.makeStubNode:(Lorg/graalvm/compiler/nodes/GraphDecoder$MethodScope;Lorg/graalvm/compiler/nodes/GraphDecoder$LoopScope;I)Lorg/graalvm/compiler/nodes/FixedNode;
astore 8
start local 8 7: aload 5
aload 3
iload 6
aload 8
invokevirtual org.graalvm.compiler.graph.Edges.initializeNode:(Lorg/graalvm/compiler/graph/Node;ILorg/graalvm/compiler/graph/Node;)V
8: iload 4
ifeq 10
aload 8
ifnull 10
9: aload 5
aload 3
aconst_null
aload 8
invokevirtual org.graalvm.compiler.graph.Edges.update:(Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;)V
end local 8 end local 7 10: StackMap locals:
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
11: iload 6
aload 5
invokevirtual org.graalvm.compiler.graph.Edges.getDirectCount:()I
if_icmplt 3
end local 6 12: aload 5
invokevirtual org.graalvm.compiler.graph.Edges.getDirectCount:()I
istore 6
start local 6 13: goto 28
14: StackMap locals:
StackMap stack:
aload 1
getfield org.graalvm.compiler.nodes.GraphDecoder$MethodScope.reader:Lorg/graalvm/compiler/core/common/util/TypeReader;
invokeinterface org.graalvm.compiler.core.common.util.TypeReader.getSVInt:()I
istore 7
start local 7 15: iload 7
iconst_m1
if_icmpeq 27
16: new org.graalvm.compiler.graph.NodeSuccessorList
dup
aload 3
iload 7
invokespecial org.graalvm.compiler.graph.NodeSuccessorList.<init>:(Lorg/graalvm/compiler/graph/Node;I)V
astore 8
start local 8 17: aload 5
aload 3
iload 6
aload 8
invokevirtual org.graalvm.compiler.graph.Edges.initializeList:(Lorg/graalvm/compiler/graph/Node;ILorg/graalvm/compiler/graph/NodeList;)V
18: iconst_0
istore 9
start local 9 19: goto 26
20: StackMap locals: int org.graalvm.compiler.graph.NodeList int
StackMap stack:
aload 0
aload 1
invokevirtual org.graalvm.compiler.nodes.GraphDecoder.readOrderId:(Lorg/graalvm/compiler/nodes/GraphDecoder$MethodScope;)I
istore 10
start local 10 21: aload 0
aload 1
aload 2
iload 10
invokevirtual org.graalvm.compiler.nodes.GraphDecoder.makeStubNode:(Lorg/graalvm/compiler/nodes/GraphDecoder$MethodScope;Lorg/graalvm/compiler/nodes/GraphDecoder$LoopScope;I)Lorg/graalvm/compiler/nodes/FixedNode;
astore 11
start local 11 22: aload 8
iload 9
aload 11
invokevirtual org.graalvm.compiler.graph.NodeList.initialize:(ILorg/graalvm/compiler/graph/Node;)V
23: iload 4
ifeq 25
aload 11
ifnull 25
24: aload 5
aload 3
aconst_null
aload 11
invokevirtual org.graalvm.compiler.graph.Edges.update:(Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;)V
end local 11 end local 10 25: StackMap locals:
StackMap stack:
iinc 9 1
StackMap locals:
StackMap stack:
26: iload 9
iload 7
if_icmplt 20
end local 9 end local 8 end local 7 27: StackMap locals:
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
28: iload 6
aload 5
invokevirtual org.graalvm.compiler.graph.Edges.getCount:()I
if_icmplt 14
end local 6 29: return
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 30 0 this Lorg/graalvm/compiler/nodes/GraphDecoder;
0 30 1 methodScope Lorg/graalvm/compiler/nodes/GraphDecoder$MethodScope;
0 30 2 loopScope Lorg/graalvm/compiler/nodes/GraphDecoder$LoopScope;
0 30 3 node Lorg/graalvm/compiler/graph/Node;
0 30 4 updatePredecessors Z
1 30 5 edges Lorg/graalvm/compiler/graph/Edges;
2 12 6 index I
6 10 7 orderId I
7 10 8 value Lorg/graalvm/compiler/graph/Node;
13 29 6 index I
15 27 7 size I
17 27 8 nodeList Lorg/graalvm/compiler/graph/NodeList<Lorg/graalvm/compiler/graph/Node;>;
19 27 9 idx I
21 25 10 orderId I
22 25 11 value Lorg/graalvm/compiler/graph/Node;
MethodParameters:
Name Flags
methodScope
loopScope
node
updatePredecessors
protected org.graalvm.compiler.nodes.FixedNode makeStubNode(org.graalvm.compiler.nodes.GraphDecoder$MethodScope, org.graalvm.compiler.nodes.GraphDecoder$LoopScope, int);
descriptor: (Lorg/graalvm/compiler/nodes/GraphDecoder$MethodScope;Lorg/graalvm/compiler/nodes/GraphDecoder$LoopScope;I)Lorg/graalvm/compiler/nodes/FixedNode;
flags: (0x0004) ACC_PROTECTED
Code:
stack=6, locals=9, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 3
ifne 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 0
aload 2
iload 3
invokevirtual org.graalvm.compiler.nodes.GraphDecoder.lookupNode:(Lorg/graalvm/compiler/nodes/GraphDecoder$LoopScope;I)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.FixedNode
astore 4
start local 4 3: aload 4
ifnull 5
4: aload 4
areturn
5: StackMap locals: org.graalvm.compiler.nodes.FixedNode
StackMap stack:
aload 1
getfield org.graalvm.compiler.nodes.GraphDecoder$MethodScope.reader:Lorg/graalvm/compiler/core/common/util/TypeReader;
invokeinterface org.graalvm.compiler.core.common.util.TypeReader.getByteIndex:()J
lstore 5
start local 5 6: aload 1
getfield org.graalvm.compiler.nodes.GraphDecoder$MethodScope.reader:Lorg/graalvm/compiler/core/common/util/TypeReader;
aload 1
getfield org.graalvm.compiler.nodes.GraphDecoder$MethodScope.encodedGraph:Lorg/graalvm/compiler/nodes/EncodedGraph;
getfield org.graalvm.compiler.nodes.EncodedGraph.nodeStartOffsets:[I
iload 3
iaload
i2l
invokeinterface org.graalvm.compiler.core.common.util.TypeReader.setByteIndex:(J)V
7: aload 1
getfield org.graalvm.compiler.nodes.GraphDecoder$MethodScope.encodedGraph:Lorg/graalvm/compiler/nodes/EncodedGraph;
invokevirtual org.graalvm.compiler.nodes.EncodedGraph.getNodeClasses:()[Lorg/graalvm/compiler/graph/NodeClass;
aload 1
getfield org.graalvm.compiler.nodes.GraphDecoder$MethodScope.reader:Lorg/graalvm/compiler/core/common/util/TypeReader;
invokeinterface org.graalvm.compiler.core.common.util.TypeReader.getUVInt:()I
aaload
astore 7
start local 7 8: aload 7
invokevirtual org.graalvm.compiler.graph.NodeClass.allocateInstance:()Lorg/graalvm/compiler/graph/Node;
astore 8
start local 8 9: aload 0
getfield org.graalvm.compiler.nodes.GraphDecoder.graph:Lorg/graalvm/compiler/nodes/StructuredGraph;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.trackNodeSourcePosition:()Z
ifeq 11
10: aload 8
aload 0
getfield org.graalvm.compiler.nodes.GraphDecoder.graph:Lorg/graalvm/compiler/nodes/StructuredGraph;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.method:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
invokestatic org.graalvm.compiler.graph.NodeSourcePosition.placeholder:(Ljdk/vm/ci/meta/ResolvedJavaMethod;)Lorg/graalvm/compiler/graph/NodeSourcePosition;
invokevirtual org.graalvm.compiler.graph.Node.setNodeSourcePosition:(Lorg/graalvm/compiler/graph/NodeSourcePosition;)V
11: StackMap locals: long org.graalvm.compiler.graph.NodeClass org.graalvm.compiler.graph.Node
StackMap stack:
aload 0
getfield org.graalvm.compiler.nodes.GraphDecoder.graph:Lorg/graalvm/compiler/nodes/StructuredGraph;
aload 8
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.FixedNode
astore 4
12: aload 1
getfield org.graalvm.compiler.nodes.GraphDecoder$MethodScope.reader:Lorg/graalvm/compiler/core/common/util/TypeReader;
lload 5
invokeinterface org.graalvm.compiler.core.common.util.TypeReader.setByteIndex:(J)V
13: aload 0
aload 2
iload 3
aload 4
iconst_0
iconst_0
invokevirtual org.graalvm.compiler.nodes.GraphDecoder.registerNode:(Lorg/graalvm/compiler/nodes/GraphDecoder$LoopScope;ILorg/graalvm/compiler/graph/Node;ZZ)V
14: aload 2
getfield org.graalvm.compiler.nodes.GraphDecoder$LoopScope.nodesToProcess:Ljava/util/BitSet;
iload 3
invokevirtual java.util.BitSet.set:(I)V
15: aload 4
areturn
end local 8 end local 7 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 16 0 this Lorg/graalvm/compiler/nodes/GraphDecoder;
0 16 1 methodScope Lorg/graalvm/compiler/nodes/GraphDecoder$MethodScope;
0 16 2 loopScope Lorg/graalvm/compiler/nodes/GraphDecoder$LoopScope;
0 16 3 nodeOrderId I
3 16 4 node Lorg/graalvm/compiler/nodes/FixedNode;
6 16 5 readerByteIndex J
8 16 7 nodeClass Lorg/graalvm/compiler/graph/NodeClass<*>;
9 16 8 stubNode Lorg/graalvm/compiler/graph/Node;
MethodParameters:
Name Flags
methodScope
loopScope
nodeOrderId
protected static boolean skipDirectEdge(org.graalvm.compiler.graph.Node, org.graalvm.compiler.graph.Edges, int);
descriptor: (Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Edges;I)Z
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
instanceof org.graalvm.compiler.nodes.Invoke
ifeq 14
1: getstatic org.graalvm.compiler.nodes.GraphDecoder.$assertionsDisabled:Z
ifne 2
aload 0
instanceof org.graalvm.compiler.nodes.InvokeNode
ifne 2
aload 0
instanceof org.graalvm.compiler.nodes.InvokeWithExceptionNode
ifne 2
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
ldc "The only two Invoke node classes. Got "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
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
2: StackMap locals:
StackMap stack:
aload 1
invokevirtual org.graalvm.compiler.graph.Edges.type:()Lorg/graalvm/compiler/graph/Edges$Type;
getstatic org.graalvm.compiler.graph.Edges$Type.Successors:Lorg/graalvm/compiler/graph/Edges$Type;
if_acmpne 8
3: getstatic org.graalvm.compiler.nodes.GraphDecoder.$assertionsDisabled:Z
ifne 7
aload 1
invokevirtual org.graalvm.compiler.graph.Edges.getCount:()I
aload 0
instanceof org.graalvm.compiler.nodes.InvokeWithExceptionNode
ifeq 4
iconst_2
goto 5
4: StackMap locals:
StackMap stack: int
iconst_1
5: StackMap locals: org.graalvm.compiler.graph.Node org.graalvm.compiler.graph.Edges int
StackMap stack: int int
if_icmpeq 7
new java.lang.AssertionError
dup
6: ldc "InvokeNode has one successor (next); InvokeWithExceptionNode has two successors (next, exceptionEdge)"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
7: StackMap locals:
StackMap stack:
iconst_1
ireturn
8: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.nodes.GraphDecoder.$assertionsDisabled:Z
ifne 9
aload 1
invokevirtual org.graalvm.compiler.graph.Edges.type:()Lorg/graalvm/compiler/graph/Edges$Type;
getstatic org.graalvm.compiler.graph.Edges$Type.Inputs:Lorg/graalvm/compiler/graph/Edges$Type;
if_acmpeq 9
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
9: StackMap locals:
StackMap stack:
aload 1
iload 2
invokevirtual org.graalvm.compiler.graph.Edges.getType:(I)Ljava/lang/Class;
ldc Lorg/graalvm/compiler/nodes/CallTargetNode;
if_acmpne 11
10: iconst_1
ireturn
11: StackMap locals:
StackMap stack:
aload 1
iload 2
invokevirtual org.graalvm.compiler.graph.Edges.getType:(I)Ljava/lang/Class;
ldc Lorg/graalvm/compiler/nodes/FrameState;
if_acmpne 16
12: getstatic org.graalvm.compiler.nodes.GraphDecoder.$assertionsDisabled:Z
ifne 13
aload 1
aload 0
iload 2
invokevirtual org.graalvm.compiler.graph.Edges.get:(Ljava/lang/Object;I)Ljava/lang/Object;
ifnull 13
aload 1
aload 0
iload 2
invokevirtual org.graalvm.compiler.graph.Edges.get:(Ljava/lang/Object;I)Ljava/lang/Object;
aload 0
checkcast org.graalvm.compiler.nodes.Invoke
invokeinterface org.graalvm.compiler.nodes.Invoke.stateAfter:()Lorg/graalvm/compiler/nodes/FrameState;
if_acmpeq 13
new java.lang.AssertionError
dup
ldc "Only stateAfter can be a FrameState during encoding"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
13: StackMap locals:
StackMap stack:
iconst_1
ireturn
14: StackMap locals:
StackMap stack:
aload 0
instanceof org.graalvm.compiler.nodes.LoopExitNode
ifeq 16
aload 1
invokevirtual org.graalvm.compiler.graph.Edges.type:()Lorg/graalvm/compiler/graph/Edges$Type;
getstatic org.graalvm.compiler.graph.Edges$Type.Inputs:Lorg/graalvm/compiler/graph/Edges$Type;
if_acmpne 16
aload 1
iload 2
invokevirtual org.graalvm.compiler.graph.Edges.getType:(I)Ljava/lang/Class;
ldc Lorg/graalvm/compiler/nodes/FrameState;
if_acmpne 16
15: iconst_1
ireturn
16: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 node Lorg/graalvm/compiler/graph/Node;
0 17 1 edges Lorg/graalvm/compiler/graph/Edges;
0 17 2 index I
MethodParameters:
Name Flags
node
edges
index
protected org.graalvm.compiler.graph.Node lookupNode(org.graalvm.compiler.nodes.GraphDecoder$LoopScope, int);
descriptor: (Lorg/graalvm/compiler/nodes/GraphDecoder$LoopScope;I)Lorg/graalvm/compiler/graph/Node;
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
getfield org.graalvm.compiler.nodes.GraphDecoder$LoopScope.createdNodes:[Lorg/graalvm/compiler/graph/Node;
iload 2
aaload
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/nodes/GraphDecoder;
0 1 1 loopScope Lorg/graalvm/compiler/nodes/GraphDecoder$LoopScope;
0 1 2 nodeOrderId I
MethodParameters:
Name Flags
loopScope
nodeOrderId
protected void registerNode(org.graalvm.compiler.nodes.GraphDecoder$LoopScope, int, org.graalvm.compiler.graph.Node, boolean, boolean);
descriptor: (Lorg/graalvm/compiler/nodes/GraphDecoder$LoopScope;ILorg/graalvm/compiler/graph/Node;ZZ)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=6, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: getstatic org.graalvm.compiler.nodes.GraphDecoder.$assertionsDisabled:Z
ifne 1
aload 3
ifnull 1
aload 3
invokevirtual org.graalvm.compiler.graph.Node.isAlive:()Z
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.nodes.GraphDecoder.$assertionsDisabled:Z
ifne 2
iload 5
ifne 2
aload 3
ifnonnull 2
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.nodes.GraphDecoder.$assertionsDisabled:Z
ifne 3
iload 4
ifne 3
aload 0
aload 1
iload 2
invokevirtual org.graalvm.compiler.nodes.GraphDecoder.lookupNode:(Lorg/graalvm/compiler/nodes/GraphDecoder$LoopScope;I)Lorg/graalvm/compiler/graph/Node;
ifnull 3
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
3: StackMap locals:
StackMap stack:
aload 1
getfield org.graalvm.compiler.nodes.GraphDecoder$LoopScope.createdNodes:[Lorg/graalvm/compiler/graph/Node;
iload 2
aload 3
aastore
4: return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/graalvm/compiler/nodes/GraphDecoder;
0 5 1 loopScope Lorg/graalvm/compiler/nodes/GraphDecoder$LoopScope;
0 5 2 nodeOrderId I
0 5 3 node Lorg/graalvm/compiler/graph/Node;
0 5 4 allowOverwrite Z
0 5 5 allowNull Z
MethodParameters:
Name Flags
loopScope
nodeOrderId
node
allowOverwrite
allowNull
protected int readOrderId(org.graalvm.compiler.nodes.GraphDecoder$MethodScope);
descriptor: (Lorg/graalvm/compiler/nodes/GraphDecoder$MethodScope;)I
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 1
getfield org.graalvm.compiler.nodes.GraphDecoder$MethodScope.orderIdWidth:I
tableswitch { // 1 - 4
1: 1
2: 2
3: 4
4: 3
default: 4
}
1: StackMap locals:
StackMap stack:
aload 1
getfield org.graalvm.compiler.nodes.GraphDecoder$MethodScope.reader:Lorg/graalvm/compiler/core/common/util/TypeReader;
invokeinterface org.graalvm.compiler.core.common.util.TypeReader.getU1:()I
ireturn
2: StackMap locals:
StackMap stack:
aload 1
getfield org.graalvm.compiler.nodes.GraphDecoder$MethodScope.reader:Lorg/graalvm/compiler/core/common/util/TypeReader;
invokeinterface org.graalvm.compiler.core.common.util.TypeReader.getU2:()I
ireturn
3: StackMap locals:
StackMap stack:
aload 1
getfield org.graalvm.compiler.nodes.GraphDecoder$MethodScope.reader:Lorg/graalvm/compiler/core/common/util/TypeReader;
invokeinterface org.graalvm.compiler.core.common.util.TypeReader.getS4:()I
ireturn
4: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
ldc "Invalid orderIdWidth: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
getfield org.graalvm.compiler.nodes.GraphDecoder$MethodScope.orderIdWidth:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic org.graalvm.compiler.debug.GraalError.shouldNotReachHere:(Ljava/lang/String;)Ljava/lang/RuntimeException;
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/graalvm/compiler/nodes/GraphDecoder;
0 5 1 methodScope Lorg/graalvm/compiler/nodes/GraphDecoder$MethodScope;
MethodParameters:
Name Flags
methodScope
protected java.lang.Object readObject(org.graalvm.compiler.nodes.GraphDecoder$MethodScope);
descriptor: (Lorg/graalvm/compiler/nodes/GraphDecoder$MethodScope;)Ljava/lang/Object;
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
getfield org.graalvm.compiler.nodes.GraphDecoder$MethodScope.encodedGraph:Lorg/graalvm/compiler/nodes/EncodedGraph;
aload 1
getfield org.graalvm.compiler.nodes.GraphDecoder$MethodScope.reader:Lorg/graalvm/compiler/core/common/util/TypeReader;
invokeinterface org.graalvm.compiler.core.common.util.TypeReader.getUVInt:()I
invokevirtual org.graalvm.compiler.nodes.EncodedGraph.getObject:(I)Ljava/lang/Object;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/nodes/GraphDecoder;
0 1 1 methodScope Lorg/graalvm/compiler/nodes/GraphDecoder$MethodScope;
MethodParameters:
Name Flags
methodScope
protected void cleanupGraph(org.graalvm.compiler.nodes.GraphDecoder$MethodScope);
descriptor: (Lorg/graalvm/compiler/nodes/GraphDecoder$MethodScope;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=6, args_size=2
start local 0 start local 1 0: aload 0
getfield org.graalvm.compiler.nodes.GraphDecoder.graph:Lorg/graalvm/compiler/nodes/StructuredGraph;
getstatic org.graalvm.compiler.nodes.MergeNode.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 6
StackMap locals: org.graalvm.compiler.nodes.GraphDecoder org.graalvm.compiler.nodes.GraphDecoder$MethodScope top java.util.Iterator
StackMap stack:
1: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.MergeNode
astore 2
start local 2 2: aload 2
invokevirtual org.graalvm.compiler.nodes.MergeNode.usages:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
ldc Lorg/graalvm/compiler/nodes/GraphDecoder$ProxyPlaceholder;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.filter:(Ljava/lang/Class;)Lorg/graalvm/compiler/graph/iterators/NodeIterable;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.snapshot:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 5
goto 5
StackMap locals: org.graalvm.compiler.nodes.GraphDecoder org.graalvm.compiler.nodes.GraphDecoder$MethodScope org.graalvm.compiler.nodes.MergeNode java.util.Iterator top java.util.Iterator
StackMap stack:
3: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.GraphDecoder$ProxyPlaceholder
astore 4
start local 4 4: aload 4
aload 4
getfield org.graalvm.compiler.nodes.GraphDecoder$ProxyPlaceholder.value:Lorg/graalvm/compiler/nodes/ValueNode;
invokevirtual org.graalvm.compiler.nodes.GraphDecoder$ProxyPlaceholder.replaceAndDelete:(Lorg/graalvm/compiler/graph/Node;)V
end local 4 5: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
end local 2 6: StackMap locals: org.graalvm.compiler.nodes.GraphDecoder org.graalvm.compiler.nodes.GraphDecoder$MethodScope top java.util.Iterator
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
7: getstatic org.graalvm.compiler.nodes.GraphDecoder.$assertionsDisabled:Z
ifne 8
aload 0
invokevirtual org.graalvm.compiler.nodes.GraphDecoder.verifyEdges:()Z
ifne 8
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
8: StackMap locals: org.graalvm.compiler.nodes.GraphDecoder org.graalvm.compiler.nodes.GraphDecoder$MethodScope
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/graalvm/compiler/nodes/GraphDecoder;
0 9 1 methodScope Lorg/graalvm/compiler/nodes/GraphDecoder$MethodScope;
2 6 2 merge Lorg/graalvm/compiler/nodes/MergeNode;
4 5 4 placeholder Lorg/graalvm/compiler/nodes/GraphDecoder$ProxyPlaceholder;
MethodParameters:
Name Flags
methodScope
protected boolean verifyEdges();
descriptor: ()Z
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=5, args_size=1
start local 0 0: aload 0
getfield org.graalvm.compiler.nodes.GraphDecoder.graph:Lorg/graalvm/compiler/nodes/StructuredGraph;
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 2
goto 21
StackMap locals: org.graalvm.compiler.nodes.GraphDecoder top java.util.Iterator
StackMap stack:
1: aload 2
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.graph.Node
astore 1
start local 1 2: getstatic org.graalvm.compiler.nodes.GraphDecoder.$assertionsDisabled:Z
ifne 3
aload 1
invokevirtual org.graalvm.compiler.graph.Node.isAlive:()Z
ifne 3
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
3: StackMap locals: org.graalvm.compiler.nodes.GraphDecoder org.graalvm.compiler.graph.Node java.util.Iterator
StackMap stack:
aload 1
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 4
goto 7
StackMap locals: org.graalvm.compiler.nodes.GraphDecoder org.graalvm.compiler.graph.Node java.util.Iterator top java.util.Iterator
StackMap stack:
4: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.graph.Node
astore 3
start local 3 5: getstatic org.graalvm.compiler.nodes.GraphDecoder.$assertionsDisabled:Z
ifne 6
aload 3
invokevirtual org.graalvm.compiler.graph.Node.isAlive:()Z
ifne 6
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
6: StackMap locals: org.graalvm.compiler.nodes.GraphDecoder org.graalvm.compiler.graph.Node java.util.Iterator org.graalvm.compiler.graph.Node java.util.Iterator
StackMap stack:
getstatic org.graalvm.compiler.nodes.GraphDecoder.$assertionsDisabled:Z
ifne 7
aload 3
invokevirtual org.graalvm.compiler.graph.Node.usages:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
aload 1
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.contains:(Lorg/graalvm/compiler/graph/Node;)Z
ifne 7
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
end local 3 7: StackMap locals: org.graalvm.compiler.nodes.GraphDecoder org.graalvm.compiler.graph.Node java.util.Iterator top java.util.Iterator
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 4
8: aload 1
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 4
goto 12
StackMap locals:
StackMap stack:
9: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.graph.Node
astore 3
start local 3 10: getstatic org.graalvm.compiler.nodes.GraphDecoder.$assertionsDisabled:Z
ifne 11
aload 3
invokevirtual org.graalvm.compiler.graph.Node.isAlive:()Z
ifne 11
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
11: StackMap locals: org.graalvm.compiler.nodes.GraphDecoder org.graalvm.compiler.graph.Node java.util.Iterator org.graalvm.compiler.graph.Node java.util.Iterator
StackMap stack:
getstatic org.graalvm.compiler.nodes.GraphDecoder.$assertionsDisabled:Z
ifne 12
aload 3
invokevirtual org.graalvm.compiler.graph.Node.predecessor:()Lorg/graalvm/compiler/graph/Node;
aload 1
if_acmpeq 12
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
end local 3 12: StackMap locals: org.graalvm.compiler.nodes.GraphDecoder org.graalvm.compiler.graph.Node java.util.Iterator top java.util.Iterator
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 9
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:
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: getstatic org.graalvm.compiler.nodes.GraphDecoder.$assertionsDisabled:Z
ifne 16
aload 3
invokevirtual org.graalvm.compiler.graph.Node.isAlive:()Z
ifne 16
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
16: StackMap locals: org.graalvm.compiler.nodes.GraphDecoder org.graalvm.compiler.graph.Node java.util.Iterator org.graalvm.compiler.graph.Node java.util.Iterator
StackMap stack:
getstatic org.graalvm.compiler.nodes.GraphDecoder.$assertionsDisabled:Z
ifne 17
aload 3
invokevirtual org.graalvm.compiler.graph.Node.inputs:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
aload 1
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.contains:(Lorg/graalvm/compiler/graph/Node;)Z
ifne 17
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " / "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " / "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 3
invokevirtual org.graalvm.compiler.graph.Node.inputs:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.count:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
end local 3 17: StackMap locals: org.graalvm.compiler.nodes.GraphDecoder org.graalvm.compiler.graph.Node java.util.Iterator top java.util.Iterator
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 14
18: aload 1
invokevirtual org.graalvm.compiler.graph.Node.predecessor:()Lorg/graalvm/compiler/graph/Node;
ifnull 21
19: getstatic org.graalvm.compiler.nodes.GraphDecoder.$assertionsDisabled:Z
ifne 20
aload 1
invokevirtual org.graalvm.compiler.graph.Node.predecessor:()Lorg/graalvm/compiler/graph/Node;
invokevirtual org.graalvm.compiler.graph.Node.isAlive:()Z
ifne 20
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
20: StackMap locals: org.graalvm.compiler.nodes.GraphDecoder org.graalvm.compiler.graph.Node java.util.Iterator
StackMap stack:
getstatic org.graalvm.compiler.nodes.GraphDecoder.$assertionsDisabled:Z
ifne 21
aload 1
invokevirtual org.graalvm.compiler.graph.Node.predecessor:()Lorg/graalvm/compiler/graph/Node;
invokevirtual org.graalvm.compiler.graph.Node.successors:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
aload 1
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.contains:(Lorg/graalvm/compiler/graph/Node;)Z
ifne 21
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
end local 1 21: StackMap locals: org.graalvm.compiler.nodes.GraphDecoder top java.util.Iterator
StackMap stack:
aload 2
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
22: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 this Lorg/graalvm/compiler/nodes/GraphDecoder;
2 21 1 node Lorg/graalvm/compiler/graph/Node;
5 7 3 i Lorg/graalvm/compiler/graph/Node;
10 12 3 s Lorg/graalvm/compiler/graph/Node;
15 17 3 usage Lorg/graalvm/compiler/graph/Node;
}
SourceFile: "GraphDecoder.java"
NestMembers:
org.graalvm.compiler.nodes.GraphDecoder$InvokeData org.graalvm.compiler.nodes.GraphDecoder$LoopExplosionState org.graalvm.compiler.nodes.GraphDecoder$LoopScope org.graalvm.compiler.nodes.GraphDecoder$LoopScopeTrigger org.graalvm.compiler.nodes.GraphDecoder$MethodScope org.graalvm.compiler.nodes.GraphDecoder$ProxyPlaceholder
InnerClasses:
public abstract Scope = org.graalvm.compiler.debug.DebugContext$Scope of org.graalvm.compiler.debug.DebugContext
public final Type = org.graalvm.compiler.graph.Edges$Type of org.graalvm.compiler.graph.Edges
public Mark = org.graalvm.compiler.graph.Graph$Mark of org.graalvm.compiler.graph.Graph
public abstract ValueNumberable = org.graalvm.compiler.graph.Node$ValueNumberable of org.graalvm.compiler.graph.Node
protected InvokeData = org.graalvm.compiler.nodes.GraphDecoder$InvokeData of org.graalvm.compiler.nodes.GraphDecoder
protected LoopExplosionState = org.graalvm.compiler.nodes.GraphDecoder$LoopExplosionState of org.graalvm.compiler.nodes.GraphDecoder
protected LoopScope = org.graalvm.compiler.nodes.GraphDecoder$LoopScope of org.graalvm.compiler.nodes.GraphDecoder
public final LoopScopeTrigger = org.graalvm.compiler.nodes.GraphDecoder$LoopScopeTrigger of org.graalvm.compiler.nodes.GraphDecoder
protected MethodScope = org.graalvm.compiler.nodes.GraphDecoder$MethodScope of org.graalvm.compiler.nodes.GraphDecoder
protected final ProxyPlaceholder = org.graalvm.compiler.nodes.GraphDecoder$ProxyPlaceholder of org.graalvm.compiler.nodes.GraphDecoder
public final LoopExplosionKind = org.graalvm.compiler.nodes.graphbuilderconf.LoopExplosionPlugin$LoopExplosionKind of org.graalvm.compiler.nodes.graphbuilderconf.LoopExplosionPlugin