public class org.graalvm.compiler.phases.schedule.SchedulePhase$Instance
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.graalvm.compiler.phases.schedule.SchedulePhase$Instance
super_class: java.lang.Object
{
private static final double IMPLICIT_NULL_CHECK_OPPORTUNITY_PROBABILITY_FACTOR;
descriptor: D
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 2.0
protected org.graalvm.compiler.nodes.cfg.ControlFlowGraph cfg;
descriptor: Lorg/graalvm/compiler/nodes/cfg/ControlFlowGraph;
flags: (0x0004) ACC_PROTECTED
protected org.graalvm.compiler.core.common.cfg.BlockMap<java.util.List<org.graalvm.compiler.graph.Node>> blockToNodesMap;
descriptor: Lorg/graalvm/compiler/core/common/cfg/BlockMap;
flags: (0x0004) ACC_PROTECTED
Signature: Lorg/graalvm/compiler/core/common/cfg/BlockMap<Ljava/util/List<Lorg/graalvm/compiler/graph/Node;>;>;
protected org.graalvm.compiler.graph.NodeMap<org.graalvm.compiler.nodes.cfg.Block> nodeToBlockMap;
descriptor: Lorg/graalvm/compiler/graph/NodeMap;
flags: (0x0004) ACC_PROTECTED
Signature: Lorg/graalvm/compiler/graph/NodeMap<Lorg/graalvm/compiler/nodes/cfg/Block;>;
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/phases/schedule/SchedulePhase;
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.phases.schedule.SchedulePhase$Instance.$assertionsDisabled:Z
3: return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
aconst_null
invokespecial org.graalvm.compiler.phases.schedule.SchedulePhase$Instance.<init>:(Lorg/graalvm/compiler/nodes/cfg/ControlFlowGraph;)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/graalvm/compiler/phases/schedule/SchedulePhase$Instance;
public void <init>(org.graalvm.compiler.nodes.cfg.ControlFlowGraph);
descriptor: (Lorg/graalvm/compiler/nodes/cfg/ControlFlowGraph;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield org.graalvm.compiler.phases.schedule.SchedulePhase$Instance.cfg:Lorg/graalvm/compiler/nodes/cfg/ControlFlowGraph;
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/graalvm/compiler/phases/schedule/SchedulePhase$Instance;
0 3 1 cfg Lorg/graalvm/compiler/nodes/cfg/ControlFlowGraph;
MethodParameters:
Name Flags
cfg
public void run(org.graalvm.compiler.nodes.StructuredGraph, org.graalvm.compiler.phases.schedule.SchedulePhase$SchedulingStrategy, boolean);
descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/phases/schedule/SchedulePhase$SchedulingStrategy;Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=12, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield org.graalvm.compiler.phases.schedule.SchedulePhase$Instance.cfg:Lorg/graalvm/compiler/nodes/cfg/ControlFlowGraph;
ifnonnull 2
1: aload 0
aload 1
iconst_1
iconst_1
iconst_1
iconst_0
invokestatic org.graalvm.compiler.nodes.cfg.ControlFlowGraph.compute:(Lorg/graalvm/compiler/nodes/StructuredGraph;ZZZZ)Lorg/graalvm/compiler/nodes/cfg/ControlFlowGraph;
putfield org.graalvm.compiler.phases.schedule.SchedulePhase$Instance.cfg:Lorg/graalvm/compiler/nodes/cfg/ControlFlowGraph;
2: StackMap locals:
StackMap stack:
aload 1
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.createNodeMap:()Lorg/graalvm/compiler/graph/NodeMap;
astore 4
start local 4 3: aload 1
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.createNodeBitMap:()Lorg/graalvm/compiler/graph/NodeBitMap;
astore 5
start local 5 4: new org.graalvm.compiler.core.common.cfg.BlockMap
dup
aload 0
getfield org.graalvm.compiler.phases.schedule.SchedulePhase$Instance.cfg:Lorg/graalvm/compiler/nodes/cfg/ControlFlowGraph;
invokespecial org.graalvm.compiler.core.common.cfg.BlockMap.<init>:(Lorg/graalvm/compiler/core/common/cfg/AbstractControlFlowGraph;)V
astore 6
start local 6 5: aload 0
aload 4
putfield org.graalvm.compiler.phases.schedule.SchedulePhase$Instance.nodeToBlockMap:Lorg/graalvm/compiler/graph/NodeMap;
6: aload 0
aload 6
putfield org.graalvm.compiler.phases.schedule.SchedulePhase$Instance.blockToNodesMap:Lorg/graalvm/compiler/core/common/cfg/BlockMap;
7: aload 0
aload 6
aload 4
aload 5
aload 1
iload 3
invokevirtual org.graalvm.compiler.phases.schedule.SchedulePhase$Instance.scheduleEarliestIterative:(Lorg/graalvm/compiler/core/common/cfg/BlockMap;Lorg/graalvm/compiler/graph/NodeMap;Lorg/graalvm/compiler/graph/NodeBitMap;Lorg/graalvm/compiler/nodes/StructuredGraph;Z)V
8: aload 2
getstatic org.graalvm.compiler.phases.schedule.SchedulePhase$SchedulingStrategy.EARLIEST:Lorg/graalvm/compiler/phases/schedule/SchedulePhase$SchedulingStrategy;
if_acmpeq 21
9: new org.graalvm.compiler.core.common.cfg.BlockMap
dup
aload 0
getfield org.graalvm.compiler.phases.schedule.SchedulePhase$Instance.cfg:Lorg/graalvm/compiler/nodes/cfg/ControlFlowGraph;
invokespecial org.graalvm.compiler.core.common.cfg.BlockMap.<init>:(Lorg/graalvm/compiler/core/common/cfg/AbstractControlFlowGraph;)V
astore 7
start local 7 10: aload 0
getfield org.graalvm.compiler.phases.schedule.SchedulePhase$Instance.cfg:Lorg/graalvm/compiler/nodes/cfg/ControlFlowGraph;
invokevirtual org.graalvm.compiler.nodes.cfg.ControlFlowGraph.getBlocks:()[Lorg/graalvm/compiler/nodes/cfg/Block;
dup
astore 11
arraylength
istore 10
iconst_0
istore 9
goto 14
StackMap locals: org.graalvm.compiler.phases.schedule.SchedulePhase$Instance org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.phases.schedule.SchedulePhase$SchedulingStrategy int org.graalvm.compiler.graph.NodeMap org.graalvm.compiler.graph.NodeBitMap org.graalvm.compiler.core.common.cfg.BlockMap org.graalvm.compiler.core.common.cfg.BlockMap top int int org.graalvm.compiler.nodes.cfg.Block[]
StackMap stack:
11: aload 11
iload 9
aaload
astore 8
start local 8 12: aload 7
aload 8
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
invokevirtual org.graalvm.compiler.core.common.cfg.BlockMap.put:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;Ljava/lang/Object;)V
end local 8 13: iinc 9 1
StackMap locals:
StackMap stack:
14: iload 9
iload 10
if_icmplt 11
15: aload 0
aload 2
aload 4
aload 6
aload 5
aload 7
iload 3
invokevirtual org.graalvm.compiler.phases.schedule.SchedulePhase$Instance.calcLatestBlocks:(Lorg/graalvm/compiler/phases/schedule/SchedulePhase$SchedulingStrategy;Lorg/graalvm/compiler/graph/NodeMap;Lorg/graalvm/compiler/core/common/cfg/BlockMap;Lorg/graalvm/compiler/graph/NodeBitMap;Lorg/graalvm/compiler/core/common/cfg/BlockMap;Z)Lorg/graalvm/compiler/core/common/cfg/BlockMap;
astore 8
start local 8 16: aload 0
getfield org.graalvm.compiler.phases.schedule.SchedulePhase$Instance.cfg:Lorg/graalvm/compiler/nodes/cfg/ControlFlowGraph;
aload 6
aload 7
aload 4
aload 8
aload 5
invokestatic org.graalvm.compiler.phases.schedule.SchedulePhase$Instance.sortNodesLatestWithinBlock:(Lorg/graalvm/compiler/nodes/cfg/ControlFlowGraph;Lorg/graalvm/compiler/core/common/cfg/BlockMap;Lorg/graalvm/compiler/core/common/cfg/BlockMap;Lorg/graalvm/compiler/graph/NodeMap;Lorg/graalvm/compiler/core/common/cfg/BlockMap;Lorg/graalvm/compiler/graph/NodeBitMap;)V
17: getstatic org.graalvm.compiler.phases.schedule.SchedulePhase$Instance.$assertionsDisabled:Z
ifne 18
aload 0
getfield org.graalvm.compiler.phases.schedule.SchedulePhase$Instance.cfg:Lorg/graalvm/compiler/nodes/cfg/ControlFlowGraph;
aload 7
aload 4
invokestatic org.graalvm.compiler.phases.schedule.SchedulePhase$Instance.verifySchedule:(Lorg/graalvm/compiler/nodes/cfg/ControlFlowGraph;Lorg/graalvm/compiler/core/common/cfg/BlockMap;Lorg/graalvm/compiler/graph/NodeMap;)Z
ifne 18
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
18: StackMap locals: org.graalvm.compiler.phases.schedule.SchedulePhase$Instance org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.phases.schedule.SchedulePhase$SchedulingStrategy int org.graalvm.compiler.graph.NodeMap org.graalvm.compiler.graph.NodeBitMap org.graalvm.compiler.core.common.cfg.BlockMap org.graalvm.compiler.core.common.cfg.BlockMap org.graalvm.compiler.core.common.cfg.BlockMap
StackMap stack:
getstatic org.graalvm.compiler.phases.schedule.SchedulePhase$Instance.$assertionsDisabled:Z
ifne 19
aload 1
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getOptions:()Lorg/graalvm/compiler/options/OptionValues;
invokestatic org.graalvm.compiler.debug.Assertions.detailedAssertionsEnabled:(Lorg/graalvm/compiler/options/OptionValues;)Z
ifeq 19
aload 0
getfield org.graalvm.compiler.phases.schedule.SchedulePhase$Instance.cfg:Lorg/graalvm/compiler/nodes/cfg/ControlFlowGraph;
invokevirtual org.graalvm.compiler.nodes.cfg.ControlFlowGraph.getStartBlock:()Lorg/graalvm/compiler/nodes/cfg/Block;
aload 7
invokestatic org.graalvm.compiler.phases.schedule.MemoryScheduleVerification.check:(Lorg/graalvm/compiler/nodes/cfg/Block;Lorg/graalvm/compiler/core/common/cfg/BlockMap;)Z
ifne 19
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
19: StackMap locals:
StackMap stack:
aload 0
aload 7
putfield org.graalvm.compiler.phases.schedule.SchedulePhase$Instance.blockToNodesMap:Lorg/graalvm/compiler/core/common/cfg/BlockMap;
20: aload 0
getfield org.graalvm.compiler.phases.schedule.SchedulePhase$Instance.cfg:Lorg/graalvm/compiler/nodes/cfg/ControlFlowGraph;
aload 4
invokevirtual org.graalvm.compiler.nodes.cfg.ControlFlowGraph.setNodeToBlock:(Lorg/graalvm/compiler/graph/NodeMap;)V
end local 8 end local 7 21: StackMap locals:
StackMap stack:
aload 1
new org.graalvm.compiler.nodes.StructuredGraph$ScheduleResult
dup
aload 0
getfield org.graalvm.compiler.phases.schedule.SchedulePhase$Instance.cfg:Lorg/graalvm/compiler/nodes/cfg/ControlFlowGraph;
aload 0
getfield org.graalvm.compiler.phases.schedule.SchedulePhase$Instance.nodeToBlockMap:Lorg/graalvm/compiler/graph/NodeMap;
aload 0
getfield org.graalvm.compiler.phases.schedule.SchedulePhase$Instance.blockToNodesMap:Lorg/graalvm/compiler/core/common/cfg/BlockMap;
invokespecial org.graalvm.compiler.nodes.StructuredGraph$ScheduleResult.<init>:(Lorg/graalvm/compiler/nodes/cfg/ControlFlowGraph;Lorg/graalvm/compiler/graph/NodeMap;Lorg/graalvm/compiler/core/common/cfg/BlockMap;)V
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.setLastSchedule:(Lorg/graalvm/compiler/nodes/StructuredGraph$ScheduleResult;)V
22: return
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 this Lorg/graalvm/compiler/phases/schedule/SchedulePhase$Instance;
0 23 1 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
0 23 2 selectedStrategy Lorg/graalvm/compiler/phases/schedule/SchedulePhase$SchedulingStrategy;
0 23 3 immutableGraph Z
3 23 4 currentNodeMap Lorg/graalvm/compiler/graph/NodeMap<Lorg/graalvm/compiler/nodes/cfg/Block;>;
4 23 5 visited Lorg/graalvm/compiler/graph/NodeBitMap;
5 23 6 earliestBlockToNodesMap Lorg/graalvm/compiler/core/common/cfg/BlockMap<Ljava/util/List<Lorg/graalvm/compiler/graph/Node;>;>;
10 21 7 latestBlockToNodesMap Lorg/graalvm/compiler/core/common/cfg/BlockMap<Ljava/util/List<Lorg/graalvm/compiler/graph/Node;>;>;
12 13 8 b Lorg/graalvm/compiler/nodes/cfg/Block;
16 21 8 watchListMap Lorg/graalvm/compiler/core/common/cfg/BlockMap<Ljava/util/ArrayList<Lorg/graalvm/compiler/nodes/memory/FloatingReadNode;>;>;
MethodParameters:
Name Flags
graph
selectedStrategy
immutableGraph
private org.graalvm.compiler.core.common.cfg.BlockMap<java.util.ArrayList<org.graalvm.compiler.nodes.memory.FloatingReadNode>> calcLatestBlocks(org.graalvm.compiler.phases.schedule.SchedulePhase$SchedulingStrategy, org.graalvm.compiler.graph.NodeMap<org.graalvm.compiler.nodes.cfg.Block>, org.graalvm.compiler.core.common.cfg.BlockMap<java.util.List<org.graalvm.compiler.graph.Node>>, org.graalvm.compiler.graph.NodeBitMap, org.graalvm.compiler.core.common.cfg.BlockMap<java.util.List<org.graalvm.compiler.graph.Node>>, boolean);
descriptor: (Lorg/graalvm/compiler/phases/schedule/SchedulePhase$SchedulingStrategy;Lorg/graalvm/compiler/graph/NodeMap;Lorg/graalvm/compiler/core/common/cfg/BlockMap;Lorg/graalvm/compiler/graph/NodeBitMap;Lorg/graalvm/compiler/core/common/cfg/BlockMap;Z)Lorg/graalvm/compiler/core/common/cfg/BlockMap;
flags: (0x0002) ACC_PRIVATE
Code:
stack=10, locals=20, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: new org.graalvm.compiler.core.common.cfg.BlockMap
dup
aload 0
getfield org.graalvm.compiler.phases.schedule.SchedulePhase$Instance.cfg:Lorg/graalvm/compiler/nodes/cfg/ControlFlowGraph;
invokespecial org.graalvm.compiler.core.common.cfg.BlockMap.<init>:(Lorg/graalvm/compiler/core/common/cfg/AbstractControlFlowGraph;)V
astore 7
start local 7 1: aload 0
getfield org.graalvm.compiler.phases.schedule.SchedulePhase$Instance.cfg:Lorg/graalvm/compiler/nodes/cfg/ControlFlowGraph;
invokevirtual org.graalvm.compiler.nodes.cfg.ControlFlowGraph.reversePostOrder:()[Lorg/graalvm/compiler/nodes/cfg/Block;
astore 8
start local 8 2: aload 8
arraylength
iconst_1
isub
istore 9
start local 9 3: goto 37
4: StackMap locals: org.graalvm.compiler.core.common.cfg.BlockMap org.graalvm.compiler.nodes.cfg.Block[] int
StackMap stack:
aload 8
iload 9
aaload
astore 10
start local 10 5: aload 3
aload 10
invokevirtual org.graalvm.compiler.core.common.cfg.BlockMap.get:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)Ljava/lang/Object;
checkcast java.util.List
astore 11
start local 11 6: aconst_null
astore 12
start local 12 7: aload 11
invokeinterface java.util.List.size:()I
istore 13
start local 13 8: aload 11
invokeinterface java.util.List.size:()I
iconst_1
isub
istore 14
start local 14 9: goto 35
10: StackMap locals: org.graalvm.compiler.phases.schedule.SchedulePhase$Instance org.graalvm.compiler.phases.schedule.SchedulePhase$SchedulingStrategy org.graalvm.compiler.graph.NodeMap org.graalvm.compiler.core.common.cfg.BlockMap org.graalvm.compiler.graph.NodeBitMap org.graalvm.compiler.core.common.cfg.BlockMap int org.graalvm.compiler.core.common.cfg.BlockMap org.graalvm.compiler.nodes.cfg.Block[] int org.graalvm.compiler.nodes.cfg.Block java.util.List org.graalvm.compiler.nodes.cfg.LocationSet int int
StackMap stack:
aload 11
iload 14
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast org.graalvm.compiler.graph.Node
astore 15
start local 15 11: getstatic org.graalvm.compiler.phases.schedule.SchedulePhase$Instance.$assertionsDisabled:Z
ifne 12
aload 2
aload 15
invokevirtual org.graalvm.compiler.graph.NodeMap.get:(Lorg/graalvm/compiler/graph/Node;)Ljava/lang/Object;
aload 10
if_acmpeq 12
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
12: StackMap locals: org.graalvm.compiler.graph.Node
StackMap stack:
getstatic org.graalvm.compiler.phases.schedule.SchedulePhase$Instance.$assertionsDisabled:Z
ifne 14
aload 15
instanceof org.graalvm.compiler.nodes.PhiNode
ifne 13
aload 15
instanceof org.graalvm.compiler.nodes.ProxyNode
ifeq 14
StackMap locals:
StackMap stack:
13: new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
14: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.phases.schedule.SchedulePhase$Instance.$assertionsDisabled:Z
ifne 15
aload 4
aload 15
invokevirtual org.graalvm.compiler.graph.NodeBitMap.isMarked:(Lorg/graalvm/compiler/graph/Node;)Z
ifne 15
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
15: StackMap locals:
StackMap stack:
aload 15
instanceof org.graalvm.compiler.nodes.FixedNode
ifne 34
16: aconst_null
astore 16
start local 16 17: aconst_null
astore 17
start local 17 18: aload 15
instanceof org.graalvm.compiler.nodes.memory.FloatingReadNode
ifeq 30
19: aload 15
checkcast org.graalvm.compiler.nodes.memory.FloatingReadNode
astore 18
start local 18 20: aload 18
invokevirtual org.graalvm.compiler.nodes.memory.FloatingReadNode.getLocationIdentity:()Lorg/graalvm/word/LocationIdentity;
astore 19
start local 19 21: aload 19
invokevirtual org.graalvm.word.LocationIdentity.isMutable:()Z
ifeq 30
22: aload 19
astore 17
23: aload 10
aload 19
invokevirtual org.graalvm.compiler.nodes.cfg.Block.canKill:(Lorg/graalvm/word/LocationIdentity;)Z
ifeq 30
24: aload 12
ifnonnull 26
25: new org.graalvm.compiler.nodes.cfg.LocationSet
dup
invokespecial org.graalvm.compiler.nodes.cfg.LocationSet.<init>:()V
astore 12
26: StackMap locals: org.graalvm.compiler.phases.schedule.SchedulePhase$Instance org.graalvm.compiler.phases.schedule.SchedulePhase$SchedulingStrategy org.graalvm.compiler.graph.NodeMap org.graalvm.compiler.core.common.cfg.BlockMap org.graalvm.compiler.graph.NodeBitMap org.graalvm.compiler.core.common.cfg.BlockMap int org.graalvm.compiler.core.common.cfg.BlockMap org.graalvm.compiler.nodes.cfg.Block[] int org.graalvm.compiler.nodes.cfg.Block java.util.List org.graalvm.compiler.nodes.cfg.LocationSet int int org.graalvm.compiler.graph.Node org.graalvm.compiler.nodes.cfg.Block org.graalvm.word.LocationIdentity org.graalvm.compiler.nodes.memory.FloatingReadNode org.graalvm.word.LocationIdentity
StackMap stack:
aload 12
aload 11
iload 14
iconst_1
iadd
iload 13
invokeinterface java.util.List.subList:(II)Ljava/util/List;
invokestatic org.graalvm.compiler.phases.schedule.SchedulePhase$Instance.fillKillSet:(Lorg/graalvm/compiler/nodes/cfg/LocationSet;Ljava/util/List;)V
27: iload 14
istore 13
28: aload 12
aload 19
invokevirtual org.graalvm.compiler.nodes.cfg.LocationSet.contains:(Lorg/graalvm/word/LocationIdentity;)Z
ifeq 30
29: aload 10
astore 16
end local 19 end local 18 30: StackMap locals:
StackMap stack:
aload 16
ifnonnull 33
31: aload 0
aload 10
aload 1
aload 15
aload 2
aload 17
aload 7
aload 5
aload 4
iload 6
invokevirtual org.graalvm.compiler.phases.schedule.SchedulePhase$Instance.calcLatestBlock:(Lorg/graalvm/compiler/nodes/cfg/Block;Lorg/graalvm/compiler/phases/schedule/SchedulePhase$SchedulingStrategy;Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/NodeMap;Lorg/graalvm/word/LocationIdentity;Lorg/graalvm/compiler/core/common/cfg/BlockMap;Lorg/graalvm/compiler/core/common/cfg/BlockMap;Lorg/graalvm/compiler/graph/NodeBitMap;Z)V
32: goto 34
33: StackMap locals:
StackMap stack:
aload 15
aload 10
aload 16
aload 2
aload 7
aload 17
aload 5
invokestatic org.graalvm.compiler.phases.schedule.SchedulePhase$Instance.selectLatestBlock:(Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/nodes/cfg/Block;Lorg/graalvm/compiler/nodes/cfg/Block;Lorg/graalvm/compiler/graph/NodeMap;Lorg/graalvm/compiler/core/common/cfg/BlockMap;Lorg/graalvm/word/LocationIdentity;Lorg/graalvm/compiler/core/common/cfg/BlockMap;)V
end local 17 end local 16 end local 15 34: StackMap locals:
StackMap stack:
iinc 14 -1
StackMap locals:
StackMap stack:
35: iload 14
ifge 10
end local 14 end local 13 end local 12 end local 11 end local 10 36: iinc 9 -1
StackMap locals: org.graalvm.compiler.phases.schedule.SchedulePhase$Instance org.graalvm.compiler.phases.schedule.SchedulePhase$SchedulingStrategy org.graalvm.compiler.graph.NodeMap org.graalvm.compiler.core.common.cfg.BlockMap org.graalvm.compiler.graph.NodeBitMap org.graalvm.compiler.core.common.cfg.BlockMap int org.graalvm.compiler.core.common.cfg.BlockMap org.graalvm.compiler.nodes.cfg.Block[] int
StackMap stack:
37: iload 9
ifge 4
end local 9 38: aload 7
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 39 0 this Lorg/graalvm/compiler/phases/schedule/SchedulePhase$Instance;
0 39 1 strategy Lorg/graalvm/compiler/phases/schedule/SchedulePhase$SchedulingStrategy;
0 39 2 currentNodeMap Lorg/graalvm/compiler/graph/NodeMap<Lorg/graalvm/compiler/nodes/cfg/Block;>;
0 39 3 earliestBlockToNodesMap Lorg/graalvm/compiler/core/common/cfg/BlockMap<Ljava/util/List<Lorg/graalvm/compiler/graph/Node;>;>;
0 39 4 visited Lorg/graalvm/compiler/graph/NodeBitMap;
0 39 5 latestBlockToNodesMap Lorg/graalvm/compiler/core/common/cfg/BlockMap<Ljava/util/List<Lorg/graalvm/compiler/graph/Node;>;>;
0 39 6 immutableGraph Z
1 39 7 watchListMap Lorg/graalvm/compiler/core/common/cfg/BlockMap<Ljava/util/ArrayList<Lorg/graalvm/compiler/nodes/memory/FloatingReadNode;>;>;
2 39 8 reversePostOrder [Lorg/graalvm/compiler/nodes/cfg/Block;
3 38 9 j I
5 36 10 currentBlock Lorg/graalvm/compiler/nodes/cfg/Block;
6 36 11 blockToNodes Ljava/util/List<Lorg/graalvm/compiler/graph/Node;>;
7 36 12 killed Lorg/graalvm/compiler/nodes/cfg/LocationSet;
8 36 13 previousIndex I
9 36 14 i I
11 34 15 currentNode Lorg/graalvm/compiler/graph/Node;
17 34 16 latestBlock Lorg/graalvm/compiler/nodes/cfg/Block;
18 34 17 constrainingLocation Lorg/graalvm/word/LocationIdentity;
20 30 18 floatingReadNode Lorg/graalvm/compiler/nodes/memory/FloatingReadNode;
21 30 19 location Lorg/graalvm/word/LocationIdentity;
Signature: (Lorg/graalvm/compiler/phases/schedule/SchedulePhase$SchedulingStrategy;Lorg/graalvm/compiler/graph/NodeMap<Lorg/graalvm/compiler/nodes/cfg/Block;>;Lorg/graalvm/compiler/core/common/cfg/BlockMap<Ljava/util/List<Lorg/graalvm/compiler/graph/Node;>;>;Lorg/graalvm/compiler/graph/NodeBitMap;Lorg/graalvm/compiler/core/common/cfg/BlockMap<Ljava/util/List<Lorg/graalvm/compiler/graph/Node;>;>;Z)Lorg/graalvm/compiler/core/common/cfg/BlockMap<Ljava/util/ArrayList<Lorg/graalvm/compiler/nodes/memory/FloatingReadNode;>;>;
RuntimeInvisibleAnnotations:
org.graalvm.compiler.core.common.SuppressFBWarnings(value = {"RCN_REDUNDANT_NULLCHECK_WOULD_HAVE_BEEN_A_NPE"}, justification = "false positive found by findbugs")
RuntimeInvisibleTypeAnnotations:
METHOD_RETURN
org.graalvm.compiler.core.common.SuppressFBWarnings(value = {"RCN_REDUNDANT_NULLCHECK_WOULD_HAVE_BEEN_A_NPE"}, justification = "false positive found by findbugs")
MethodParameters:
Name Flags
strategy
currentNodeMap
earliestBlockToNodesMap
visited
latestBlockToNodesMap
immutableGraph
protected static void selectLatestBlock(org.graalvm.compiler.graph.Node, org.graalvm.compiler.nodes.cfg.Block, org.graalvm.compiler.nodes.cfg.Block, org.graalvm.compiler.graph.NodeMap<org.graalvm.compiler.nodes.cfg.Block>, org.graalvm.compiler.core.common.cfg.BlockMap<java.util.ArrayList<org.graalvm.compiler.nodes.memory.FloatingReadNode>>, org.graalvm.word.LocationIdentity, org.graalvm.compiler.core.common.cfg.BlockMap<java.util.List<org.graalvm.compiler.graph.Node>>);
descriptor: (Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/nodes/cfg/Block;Lorg/graalvm/compiler/nodes/cfg/Block;Lorg/graalvm/compiler/graph/NodeMap;Lorg/graalvm/compiler/core/common/cfg/BlockMap;Lorg/graalvm/word/LocationIdentity;Lorg/graalvm/compiler/core/common/cfg/BlockMap;)V
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=4, locals=7, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: getstatic org.graalvm.compiler.phases.schedule.SchedulePhase$Instance.$assertionsDisabled:Z
ifne 1
aload 0
aload 1
aload 2
invokestatic org.graalvm.compiler.phases.schedule.SchedulePhase$Instance.checkLatestEarliestRelation:(Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/nodes/cfg/Block;Lorg/graalvm/compiler/nodes/cfg/Block;)Z
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 1
aload 2
if_acmpeq 7
2: aload 3
aload 0
aload 2
invokevirtual org.graalvm.compiler.graph.NodeMap.setAndGrow:(Lorg/graalvm/compiler/graph/Node;Ljava/lang/Object;)V
3: aload 5
ifnull 7
aload 2
aload 5
invokevirtual org.graalvm.compiler.nodes.cfg.Block.canKill:(Lorg/graalvm/word/LocationIdentity;)Z
ifeq 7
4: aload 4
aload 2
invokevirtual org.graalvm.compiler.core.common.cfg.BlockMap.get:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)Ljava/lang/Object;
ifnonnull 6
5: aload 4
aload 2
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
invokevirtual org.graalvm.compiler.core.common.cfg.BlockMap.put:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;Ljava/lang/Object;)V
6: StackMap locals:
StackMap stack:
aload 4
aload 2
invokevirtual org.graalvm.compiler.core.common.cfg.BlockMap.get:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)Ljava/lang/Object;
checkcast java.util.ArrayList
aload 0
checkcast org.graalvm.compiler.nodes.memory.FloatingReadNode
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
7: StackMap locals:
StackMap stack:
aload 6
aload 2
invokevirtual org.graalvm.compiler.core.common.cfg.BlockMap.get:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)Ljava/lang/Object;
checkcast java.util.List
aload 0
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
8: return
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 currentNode Lorg/graalvm/compiler/graph/Node;
0 9 1 currentBlock Lorg/graalvm/compiler/nodes/cfg/Block;
0 9 2 latestBlock Lorg/graalvm/compiler/nodes/cfg/Block;
0 9 3 currentNodeMap Lorg/graalvm/compiler/graph/NodeMap<Lorg/graalvm/compiler/nodes/cfg/Block;>;
0 9 4 watchListMap Lorg/graalvm/compiler/core/common/cfg/BlockMap<Ljava/util/ArrayList<Lorg/graalvm/compiler/nodes/memory/FloatingReadNode;>;>;
0 9 5 constrainingLocation Lorg/graalvm/word/LocationIdentity;
0 9 6 latestBlockToNodesMap Lorg/graalvm/compiler/core/common/cfg/BlockMap<Ljava/util/List<Lorg/graalvm/compiler/graph/Node;>;>;
Signature: (Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/nodes/cfg/Block;Lorg/graalvm/compiler/nodes/cfg/Block;Lorg/graalvm/compiler/graph/NodeMap<Lorg/graalvm/compiler/nodes/cfg/Block;>;Lorg/graalvm/compiler/core/common/cfg/BlockMap<Ljava/util/ArrayList<Lorg/graalvm/compiler/nodes/memory/FloatingReadNode;>;>;Lorg/graalvm/word/LocationIdentity;Lorg/graalvm/compiler/core/common/cfg/BlockMap<Ljava/util/List<Lorg/graalvm/compiler/graph/Node;>;>;)V
MethodParameters:
Name Flags
currentNode
currentBlock
latestBlock
currentNodeMap
watchListMap
constrainingLocation
latestBlockToNodesMap
private static boolean checkLatestEarliestRelation(org.graalvm.compiler.graph.Node, org.graalvm.compiler.nodes.cfg.Block, org.graalvm.compiler.nodes.cfg.Block);
descriptor: (Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/nodes/cfg/Block;Lorg/graalvm/compiler/nodes/cfg/Block;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=7, locals=3, args_size=3
start local 0 start local 1 start local 2 0: getstatic org.graalvm.compiler.phases.schedule.SchedulePhase$Instance.$assertionsDisabled:Z
ifne 4
aload 1
aload 2
invokestatic org.graalvm.compiler.core.common.cfg.AbstractControlFlowGraph.dominates:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)Z
ifne 4
aload 0
instanceof org.graalvm.compiler.nodes.VirtualState
ifeq 1
aload 2
aload 1
invokevirtual org.graalvm.compiler.nodes.cfg.Block.getDominator:()Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
if_acmpeq 4
StackMap locals:
StackMap stack:
1: new java.lang.AssertionError
dup
2: ldc "%s %s (%s) %s (%s)"
iconst_5
anewarray java.lang.Object
dup
iconst_0
aload 0
aastore
dup
iconst_1
aload 1
aastore
dup
iconst_2
aload 1
invokevirtual org.graalvm.compiler.nodes.cfg.Block.getBeginNode:()Lorg/graalvm/compiler/nodes/AbstractBeginNode;
aastore
dup
iconst_3
aload 2
aastore
dup
iconst_4
aload 2
invokevirtual org.graalvm.compiler.nodes.cfg.Block.getBeginNode:()Lorg/graalvm/compiler/nodes/AbstractBeginNode;
aastore
3: invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
4: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 currentNode Lorg/graalvm/compiler/graph/Node;
0 5 1 earliestBlock Lorg/graalvm/compiler/nodes/cfg/Block;
0 5 2 latestBlock Lorg/graalvm/compiler/nodes/cfg/Block;
MethodParameters:
Name Flags
currentNode
earliestBlock
latestBlock
private static boolean verifySchedule(org.graalvm.compiler.nodes.cfg.ControlFlowGraph, org.graalvm.compiler.core.common.cfg.BlockMap<java.util.List<org.graalvm.compiler.graph.Node>>, org.graalvm.compiler.graph.NodeMap<org.graalvm.compiler.nodes.cfg.Block>);
descriptor: (Lorg/graalvm/compiler/nodes/cfg/ControlFlowGraph;Lorg/graalvm/compiler/core/common/cfg/BlockMap;Lorg/graalvm/compiler/graph/NodeMap;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=11, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual org.graalvm.compiler.nodes.cfg.ControlFlowGraph.getBlocks:()[Lorg/graalvm/compiler/nodes/cfg/Block;
dup
astore 6
arraylength
istore 5
iconst_0
istore 4
goto 12
StackMap locals: org.graalvm.compiler.nodes.cfg.ControlFlowGraph org.graalvm.compiler.core.common.cfg.BlockMap org.graalvm.compiler.graph.NodeMap top int int org.graalvm.compiler.nodes.cfg.Block[]
StackMap stack:
1: aload 6
iload 4
aaload
astore 3
start local 3 2: aload 1
aload 3
invokevirtual org.graalvm.compiler.core.common.cfg.BlockMap.get:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)Ljava/lang/Object;
checkcast java.util.List
astore 7
start local 7 3: aload 7
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 9
goto 10
StackMap locals: org.graalvm.compiler.nodes.cfg.ControlFlowGraph org.graalvm.compiler.core.common.cfg.BlockMap org.graalvm.compiler.graph.NodeMap org.graalvm.compiler.nodes.cfg.Block int int org.graalvm.compiler.nodes.cfg.Block[] java.util.List top java.util.Iterator
StackMap stack:
4: aload 9
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.graph.Node
astore 8
start local 8 5: getstatic org.graalvm.compiler.phases.schedule.SchedulePhase$Instance.$assertionsDisabled:Z
ifne 6
aload 8
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.cfg.ControlFlowGraph org.graalvm.compiler.core.common.cfg.BlockMap org.graalvm.compiler.graph.NodeMap org.graalvm.compiler.nodes.cfg.Block int int org.graalvm.compiler.nodes.cfg.Block[] java.util.List org.graalvm.compiler.graph.Node java.util.Iterator
StackMap stack:
getstatic org.graalvm.compiler.phases.schedule.SchedulePhase$Instance.$assertionsDisabled:Z
ifne 7
aload 2
aload 8
invokevirtual org.graalvm.compiler.graph.NodeMap.get:(Lorg/graalvm/compiler/graph/Node;)Ljava/lang/Object;
aload 3
if_acmpeq 7
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
7: StackMap locals:
StackMap stack:
aload 8
invokevirtual org.graalvm.compiler.graph.Node.graph:()Lorg/graalvm/compiler/graph/Graph;
checkcast org.graalvm.compiler.nodes.StructuredGraph
astore 10
start local 10 8: aload 10
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.hasLoops:()Z
ifeq 10
aload 10
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getGuardsStage:()Lorg/graalvm/compiler/nodes/StructuredGraph$GuardsStage;
getstatic org.graalvm.compiler.nodes.StructuredGraph$GuardsStage.AFTER_FSA:Lorg/graalvm/compiler/nodes/StructuredGraph$GuardsStage;
if_acmpne 10
aload 8
instanceof org.graalvm.compiler.nodes.DeoptimizeNode
ifeq 10
9: getstatic org.graalvm.compiler.phases.schedule.SchedulePhase$Instance.$assertionsDisabled:Z
ifne 10
aload 3
invokevirtual org.graalvm.compiler.nodes.cfg.Block.getLoopDepth:()I
ifeq 10
new java.lang.AssertionError
dup
aload 8
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
end local 10 end local 8 10: StackMap locals: org.graalvm.compiler.nodes.cfg.ControlFlowGraph org.graalvm.compiler.core.common.cfg.BlockMap org.graalvm.compiler.graph.NodeMap org.graalvm.compiler.nodes.cfg.Block int int org.graalvm.compiler.nodes.cfg.Block[] java.util.List top java.util.Iterator
StackMap stack:
aload 9
invokeinterface java.util.Iterator.hasNext:()Z
ifne 4
end local 7 end local 3 11: iinc 4 1
StackMap locals: org.graalvm.compiler.nodes.cfg.ControlFlowGraph org.graalvm.compiler.core.common.cfg.BlockMap org.graalvm.compiler.graph.NodeMap top int int org.graalvm.compiler.nodes.cfg.Block[]
StackMap stack:
12: iload 4
iload 5
if_icmplt 1
13: iconst_1
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 cfg Lorg/graalvm/compiler/nodes/cfg/ControlFlowGraph;
0 14 1 blockToNodesMap Lorg/graalvm/compiler/core/common/cfg/BlockMap<Ljava/util/List<Lorg/graalvm/compiler/graph/Node;>;>;
0 14 2 nodeMap Lorg/graalvm/compiler/graph/NodeMap<Lorg/graalvm/compiler/nodes/cfg/Block;>;
2 11 3 b Lorg/graalvm/compiler/nodes/cfg/Block;
3 11 7 nodes Ljava/util/List<Lorg/graalvm/compiler/graph/Node;>;
5 10 8 n Lorg/graalvm/compiler/graph/Node;
8 10 10 g Lorg/graalvm/compiler/nodes/StructuredGraph;
Signature: (Lorg/graalvm/compiler/nodes/cfg/ControlFlowGraph;Lorg/graalvm/compiler/core/common/cfg/BlockMap<Ljava/util/List<Lorg/graalvm/compiler/graph/Node;>;>;Lorg/graalvm/compiler/graph/NodeMap<Lorg/graalvm/compiler/nodes/cfg/Block;>;)Z
MethodParameters:
Name Flags
cfg
blockToNodesMap
nodeMap
public static org.graalvm.compiler.nodes.cfg.Block checkKillsBetween(org.graalvm.compiler.nodes.cfg.Block, org.graalvm.compiler.nodes.cfg.Block, org.graalvm.word.LocationIdentity);
descriptor: (Lorg/graalvm/compiler/nodes/cfg/Block;Lorg/graalvm/compiler/nodes/cfg/Block;Lorg/graalvm/word/LocationIdentity;)Lorg/graalvm/compiler/nodes/cfg/Block;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=8, args_size=3
start local 0 start local 1 start local 2 0: getstatic org.graalvm.compiler.phases.schedule.SchedulePhase$Instance.$assertionsDisabled:Z
ifne 1
aload 0
aload 1
invokestatic org.graalvm.compiler.core.common.cfg.AbstractControlFlowGraph.strictlyDominates:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)Z
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 1
invokevirtual org.graalvm.compiler.nodes.cfg.Block.getDominator:()Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
checkcast org.graalvm.compiler.nodes.cfg.Block
astore 3
start local 3 2: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 4
start local 4 3: aload 4
aload 1
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
4: goto 11
5: StackMap locals: org.graalvm.compiler.nodes.cfg.Block java.util.List
StackMap stack:
getstatic org.graalvm.compiler.phases.schedule.SchedulePhase$Instance.$assertionsDisabled:Z
ifne 7
aload 0
aload 3
invokestatic org.graalvm.compiler.core.common.cfg.AbstractControlFlowGraph.strictlyDominates:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)Z
ifeq 6
aload 3
aload 1
invokestatic org.graalvm.compiler.core.common.cfg.AbstractControlFlowGraph.strictlyDominates:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)Z
ifne 7
StackMap locals:
StackMap stack:
6: new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
7: StackMap locals:
StackMap stack:
aload 3
aload 2
invokevirtual org.graalvm.compiler.nodes.cfg.Block.canKill:(Lorg/graalvm/word/LocationIdentity;)Z
ifeq 9
8: aload 4
invokeinterface java.util.List.clear:()V
9: StackMap locals:
StackMap stack:
aload 4
aload 3
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
10: aload 3
invokevirtual org.graalvm.compiler.nodes.cfg.Block.getDominator:()Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
checkcast org.graalvm.compiler.nodes.cfg.Block
astore 3
11: StackMap locals:
StackMap stack:
aload 3
aload 0
if_acmpne 5
12: getstatic org.graalvm.compiler.phases.schedule.SchedulePhase$Instance.$assertionsDisabled:Z
ifne 13
aload 4
invokeinterface java.util.List.size:()I
iconst_1
if_icmpge 13
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
13: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.phases.schedule.SchedulePhase$Instance.$assertionsDisabled:Z
ifne 14
aload 4
aload 4
invokeinterface java.util.List.size:()I
iconst_1
isub
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.cfg.Block
invokevirtual org.graalvm.compiler.nodes.cfg.Block.getDominator:()Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
aload 0
if_acmpeq 14
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
14: StackMap locals:
StackMap stack:
aload 0
astore 5
start local 5 15: aload 4
invokeinterface java.util.List.size:()I
iconst_1
isub
istore 6
start local 6 16: goto 25
17: StackMap locals: org.graalvm.compiler.nodes.cfg.Block int
StackMap stack:
aload 4
iload 6
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.cfg.Block
astore 7
start local 7 18: aload 7
invokevirtual org.graalvm.compiler.nodes.cfg.Block.getLoopDepth:()I
aload 5
invokevirtual org.graalvm.compiler.nodes.cfg.Block.getLoopDepth:()I
if_icmple 21
19: aload 7
invokevirtual org.graalvm.compiler.nodes.cfg.Block.getLoop:()Lorg/graalvm/compiler/core/common/cfg/Loop;
ifnull 21
aload 7
invokevirtual org.graalvm.compiler.nodes.cfg.Block.getLoop:()Lorg/graalvm/compiler/core/common/cfg/Loop;
checkcast org.graalvm.compiler.nodes.cfg.HIRLoop
aload 2
invokevirtual org.graalvm.compiler.nodes.cfg.HIRLoop.canKill:(Lorg/graalvm/word/LocationIdentity;)Z
ifeq 21
20: goto 26
21: StackMap locals: org.graalvm.compiler.nodes.cfg.Block
StackMap stack:
aload 7
aload 2
invokevirtual org.graalvm.compiler.nodes.cfg.Block.canKillBetweenThisAndDominator:(Lorg/graalvm/word/LocationIdentity;)Z
ifeq 23
22: goto 26
23: StackMap locals:
StackMap stack:
aload 7
astore 5
end local 7 24: iinc 6 -1
StackMap locals:
StackMap stack:
25: iload 6
ifge 17
end local 6 26: StackMap locals:
StackMap stack:
aload 5
invokevirtual org.graalvm.compiler.nodes.cfg.Block.getBeginNode:()Lorg/graalvm/compiler/nodes/AbstractBeginNode;
instanceof org.graalvm.compiler.nodes.KillingBeginNode
ifeq 31
27: aload 5
invokevirtual org.graalvm.compiler.nodes.cfg.Block.getBeginNode:()Lorg/graalvm/compiler/nodes/AbstractBeginNode;
checkcast org.graalvm.compiler.nodes.KillingBeginNode
invokevirtual org.graalvm.compiler.nodes.KillingBeginNode.getLocationIdentity:()Lorg/graalvm/word/LocationIdentity;
astore 6
start local 6 28: aload 6
invokevirtual org.graalvm.word.LocationIdentity.isAny:()Z
ifne 29
aload 6
aload 2
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 31
StackMap locals: org.graalvm.word.LocationIdentity
StackMap stack:
29: aload 5
aload 0
if_acmpeq 31
30: aload 5
invokevirtual org.graalvm.compiler.nodes.cfg.Block.getDominator:()Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
checkcast org.graalvm.compiler.nodes.cfg.Block
astore 5
end local 6 31: StackMap locals:
StackMap stack:
aload 5
areturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 32 0 earliestBlock Lorg/graalvm/compiler/nodes/cfg/Block;
0 32 1 latestBlock Lorg/graalvm/compiler/nodes/cfg/Block;
0 32 2 location Lorg/graalvm/word/LocationIdentity;
2 32 3 current Lorg/graalvm/compiler/nodes/cfg/Block;
3 32 4 dominatorChain Ljava/util/List<Lorg/graalvm/compiler/nodes/cfg/Block;>;
15 32 5 lastBlock Lorg/graalvm/compiler/nodes/cfg/Block;
16 26 6 i I
18 24 7 currentBlock Lorg/graalvm/compiler/nodes/cfg/Block;
28 31 6 locationIdentity Lorg/graalvm/word/LocationIdentity;
MethodParameters:
Name Flags
earliestBlock
latestBlock
location
private static void fillKillSet(org.graalvm.compiler.nodes.cfg.LocationSet, java.util.List<org.graalvm.compiler.graph.Node>);
descriptor: (Lorg/graalvm/compiler/nodes/cfg/LocationSet;Ljava/util/List;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=8, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.graalvm.compiler.nodes.cfg.LocationSet.isAny:()Z
ifne 17
1: aload 1
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 3
goto 16
StackMap locals: org.graalvm.compiler.nodes.cfg.LocationSet java.util.List top java.util.Iterator
StackMap stack:
2: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.graph.Node
astore 2
start local 2 3: aload 2
instanceof org.graalvm.compiler.nodes.memory.MemoryCheckpoint$Single
ifeq 8
4: aload 2
checkcast org.graalvm.compiler.nodes.memory.MemoryCheckpoint$Single
invokeinterface org.graalvm.compiler.nodes.memory.MemoryCheckpoint$Single.getLocationIdentity:()Lorg/graalvm/word/LocationIdentity;
astore 4
start local 4 5: aload 0
aload 4
invokevirtual org.graalvm.compiler.nodes.cfg.LocationSet.add:(Lorg/graalvm/word/LocationIdentity;)V
6: aload 0
invokevirtual org.graalvm.compiler.nodes.cfg.LocationSet.isAny:()Z
ifeq 16
7: return
end local 4 8: StackMap locals: org.graalvm.compiler.nodes.cfg.LocationSet java.util.List org.graalvm.compiler.graph.Node java.util.Iterator
StackMap stack:
aload 2
instanceof org.graalvm.compiler.nodes.memory.MemoryCheckpoint$Multi
ifeq 16
9: aload 2
checkcast org.graalvm.compiler.nodes.memory.MemoryCheckpoint$Multi
invokeinterface org.graalvm.compiler.nodes.memory.MemoryCheckpoint$Multi.getLocationIdentities:()[Lorg/graalvm/word/LocationIdentity;
dup
astore 7
arraylength
istore 6
iconst_0
istore 5
goto 15
StackMap locals: org.graalvm.compiler.nodes.cfg.LocationSet java.util.List org.graalvm.compiler.graph.Node java.util.Iterator top int int org.graalvm.word.LocationIdentity[]
StackMap stack:
10: aload 7
iload 5
aaload
astore 4
start local 4 11: aload 0
aload 4
invokevirtual org.graalvm.compiler.nodes.cfg.LocationSet.add:(Lorg/graalvm/word/LocationIdentity;)V
12: aload 0
invokevirtual org.graalvm.compiler.nodes.cfg.LocationSet.isAny:()Z
ifeq 14
13: return
end local 4 14: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
15: iload 5
iload 6
if_icmplt 10
end local 2 16: StackMap locals: org.graalvm.compiler.nodes.cfg.LocationSet java.util.List top java.util.Iterator
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
17: StackMap locals: org.graalvm.compiler.nodes.cfg.LocationSet java.util.List
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 killed Lorg/graalvm/compiler/nodes/cfg/LocationSet;
0 18 1 subList Ljava/util/List<Lorg/graalvm/compiler/graph/Node;>;
3 16 2 n Lorg/graalvm/compiler/graph/Node;
5 8 4 identity Lorg/graalvm/word/LocationIdentity;
11 14 4 identity Lorg/graalvm/word/LocationIdentity;
Signature: (Lorg/graalvm/compiler/nodes/cfg/LocationSet;Ljava/util/List<Lorg/graalvm/compiler/graph/Node;>;)V
MethodParameters:
Name Flags
killed
subList
private static void sortNodesLatestWithinBlock(org.graalvm.compiler.nodes.cfg.ControlFlowGraph, org.graalvm.compiler.core.common.cfg.BlockMap<java.util.List<org.graalvm.compiler.graph.Node>>, org.graalvm.compiler.core.common.cfg.BlockMap<java.util.List<org.graalvm.compiler.graph.Node>>, org.graalvm.compiler.graph.NodeMap<org.graalvm.compiler.nodes.cfg.Block>, org.graalvm.compiler.core.common.cfg.BlockMap<java.util.ArrayList<org.graalvm.compiler.nodes.memory.FloatingReadNode>>, org.graalvm.compiler.graph.NodeBitMap);
descriptor: (Lorg/graalvm/compiler/nodes/cfg/ControlFlowGraph;Lorg/graalvm/compiler/core/common/cfg/BlockMap;Lorg/graalvm/compiler/core/common/cfg/BlockMap;Lorg/graalvm/compiler/graph/NodeMap;Lorg/graalvm/compiler/core/common/cfg/BlockMap;Lorg/graalvm/compiler/graph/NodeBitMap;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=10, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
invokevirtual org.graalvm.compiler.nodes.cfg.ControlFlowGraph.getBlocks:()[Lorg/graalvm/compiler/nodes/cfg/Block;
dup
astore 9
arraylength
istore 8
iconst_0
istore 7
goto 4
StackMap locals: org.graalvm.compiler.nodes.cfg.ControlFlowGraph org.graalvm.compiler.core.common.cfg.BlockMap org.graalvm.compiler.core.common.cfg.BlockMap org.graalvm.compiler.graph.NodeMap org.graalvm.compiler.core.common.cfg.BlockMap org.graalvm.compiler.graph.NodeBitMap top int int org.graalvm.compiler.nodes.cfg.Block[]
StackMap stack:
1: aload 9
iload 7
aaload
astore 6
start local 6 2: aload 6
aload 1
aload 2
aload 3
aload 4
aload 5
invokestatic org.graalvm.compiler.phases.schedule.SchedulePhase$Instance.sortNodesLatestWithinBlock:(Lorg/graalvm/compiler/nodes/cfg/Block;Lorg/graalvm/compiler/core/common/cfg/BlockMap;Lorg/graalvm/compiler/core/common/cfg/BlockMap;Lorg/graalvm/compiler/graph/NodeMap;Lorg/graalvm/compiler/core/common/cfg/BlockMap;Lorg/graalvm/compiler/graph/NodeBitMap;)V
end local 6 3: iinc 7 1
StackMap locals:
StackMap stack:
4: iload 7
iload 8
if_icmplt 1
5: 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 6 0 cfg Lorg/graalvm/compiler/nodes/cfg/ControlFlowGraph;
0 6 1 earliestBlockToNodesMap Lorg/graalvm/compiler/core/common/cfg/BlockMap<Ljava/util/List<Lorg/graalvm/compiler/graph/Node;>;>;
0 6 2 latestBlockToNodesMap Lorg/graalvm/compiler/core/common/cfg/BlockMap<Ljava/util/List<Lorg/graalvm/compiler/graph/Node;>;>;
0 6 3 currentNodeMap Lorg/graalvm/compiler/graph/NodeMap<Lorg/graalvm/compiler/nodes/cfg/Block;>;
0 6 4 watchListMap Lorg/graalvm/compiler/core/common/cfg/BlockMap<Ljava/util/ArrayList<Lorg/graalvm/compiler/nodes/memory/FloatingReadNode;>;>;
0 6 5 visited Lorg/graalvm/compiler/graph/NodeBitMap;
2 3 6 b Lorg/graalvm/compiler/nodes/cfg/Block;
Signature: (Lorg/graalvm/compiler/nodes/cfg/ControlFlowGraph;Lorg/graalvm/compiler/core/common/cfg/BlockMap<Ljava/util/List<Lorg/graalvm/compiler/graph/Node;>;>;Lorg/graalvm/compiler/core/common/cfg/BlockMap<Ljava/util/List<Lorg/graalvm/compiler/graph/Node;>;>;Lorg/graalvm/compiler/graph/NodeMap<Lorg/graalvm/compiler/nodes/cfg/Block;>;Lorg/graalvm/compiler/core/common/cfg/BlockMap<Ljava/util/ArrayList<Lorg/graalvm/compiler/nodes/memory/FloatingReadNode;>;>;Lorg/graalvm/compiler/graph/NodeBitMap;)V
MethodParameters:
Name Flags
cfg
earliestBlockToNodesMap
latestBlockToNodesMap
currentNodeMap
watchListMap
visited
private static void sortNodesLatestWithinBlock(org.graalvm.compiler.nodes.cfg.Block, org.graalvm.compiler.core.common.cfg.BlockMap<java.util.List<org.graalvm.compiler.graph.Node>>, org.graalvm.compiler.core.common.cfg.BlockMap<java.util.List<org.graalvm.compiler.graph.Node>>, org.graalvm.compiler.graph.NodeMap<org.graalvm.compiler.nodes.cfg.Block>, org.graalvm.compiler.core.common.cfg.BlockMap<java.util.ArrayList<org.graalvm.compiler.nodes.memory.FloatingReadNode>>, org.graalvm.compiler.graph.NodeBitMap);
descriptor: (Lorg/graalvm/compiler/nodes/cfg/Block;Lorg/graalvm/compiler/core/common/cfg/BlockMap;Lorg/graalvm/compiler/core/common/cfg/BlockMap;Lorg/graalvm/compiler/graph/NodeMap;Lorg/graalvm/compiler/core/common/cfg/BlockMap;Lorg/graalvm/compiler/graph/NodeBitMap;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=16, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 1
aload 0
invokevirtual org.graalvm.compiler.core.common.cfg.BlockMap.get:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)Ljava/lang/Object;
checkcast java.util.List
astore 6
start local 6 1: new java.util.ArrayList
dup
aload 6
invokeinterface java.util.List.size:()I
invokespecial java.util.ArrayList.<init>:(I)V
astore 7
start local 7 2: aconst_null
astore 8
start local 8 3: aload 4
ifnull 6
4: aload 4
aload 0
invokevirtual org.graalvm.compiler.core.common.cfg.BlockMap.get:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)Ljava/lang/Object;
checkcast java.util.ArrayList
astore 8
5: getstatic org.graalvm.compiler.phases.schedule.SchedulePhase$Instance.$assertionsDisabled:Z
ifne 6
aload 8
ifnull 6
aload 0
invokevirtual org.graalvm.compiler.nodes.cfg.Block.getKillLocations:()Lorg/graalvm/compiler/nodes/cfg/LocationSet;
invokevirtual org.graalvm.compiler.nodes.cfg.LocationSet.isEmpty:()Z
ifeq 6
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
6: StackMap locals: java.util.List java.util.ArrayList java.util.ArrayList
StackMap stack:
aload 0
invokevirtual org.graalvm.compiler.nodes.cfg.Block.getBeginNode:()Lorg/graalvm/compiler/nodes/AbstractBeginNode;
astore 9
start local 9 7: aload 9
instanceof org.graalvm.compiler.nodes.LoopExitNode
ifeq 16
8: aload 9
checkcast org.graalvm.compiler.nodes.LoopExitNode
astore 10
start local 10 9: aload 10
invokevirtual org.graalvm.compiler.nodes.LoopExitNode.proxies:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.iterator:()Ljava/util/Iterator;
astore 12
goto 15
StackMap locals: org.graalvm.compiler.nodes.cfg.Block org.graalvm.compiler.core.common.cfg.BlockMap org.graalvm.compiler.core.common.cfg.BlockMap org.graalvm.compiler.graph.NodeMap org.graalvm.compiler.core.common.cfg.BlockMap org.graalvm.compiler.graph.NodeBitMap java.util.List java.util.ArrayList java.util.ArrayList org.graalvm.compiler.nodes.AbstractBeginNode org.graalvm.compiler.nodes.LoopExitNode top java.util.Iterator
StackMap stack:
10: aload 12
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.ProxyNode
astore 11
start local 11 11: aload 5
aload 11
invokevirtual org.graalvm.compiler.graph.NodeBitMap.clear:(Lorg/graalvm/compiler/graph/Node;)V
12: aload 11
invokevirtual org.graalvm.compiler.nodes.ProxyNode.value:()Lorg/graalvm/compiler/nodes/ValueNode;
astore 13
start local 13 13: aload 13
ifnull 15
aload 3
aload 13
invokevirtual org.graalvm.compiler.graph.NodeMap.get:(Lorg/graalvm/compiler/graph/Node;)Ljava/lang/Object;
aload 0
if_acmpne 15
aload 5
aload 13
invokevirtual org.graalvm.compiler.graph.NodeBitMap.isMarked:(Lorg/graalvm/compiler/graph/Node;)Z
ifeq 15
14: aload 13
aload 0
aload 7
aload 3
aload 5
aconst_null
invokestatic org.graalvm.compiler.phases.schedule.SchedulePhase$Instance.sortIntoList:(Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/nodes/cfg/Block;Ljava/util/ArrayList;Lorg/graalvm/compiler/graph/NodeMap;Lorg/graalvm/compiler/graph/NodeBitMap;Lorg/graalvm/compiler/graph/Node;)V
end local 13 end local 11 15: StackMap locals:
StackMap stack:
aload 12
invokeinterface java.util.Iterator.hasNext:()Z
ifne 10
end local 10 16: StackMap locals: org.graalvm.compiler.nodes.cfg.Block org.graalvm.compiler.core.common.cfg.BlockMap org.graalvm.compiler.core.common.cfg.BlockMap org.graalvm.compiler.graph.NodeMap org.graalvm.compiler.core.common.cfg.BlockMap org.graalvm.compiler.graph.NodeBitMap java.util.List java.util.ArrayList java.util.ArrayList org.graalvm.compiler.nodes.AbstractBeginNode
StackMap stack:
aload 0
invokevirtual org.graalvm.compiler.nodes.cfg.Block.getEndNode:()Lorg/graalvm/compiler/nodes/FixedNode;
astore 10
start local 10 17: aconst_null
astore 11
start local 11 18: aload 10
invokestatic org.graalvm.compiler.phases.schedule.SchedulePhase$Instance.isFixedEnd:(Lorg/graalvm/compiler/nodes/FixedNode;)Z
ifeq 20
19: aload 10
astore 11
20: StackMap locals: org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.FixedNode
StackMap stack:
aload 6
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 13
goto 38
StackMap locals: org.graalvm.compiler.nodes.cfg.Block org.graalvm.compiler.core.common.cfg.BlockMap org.graalvm.compiler.core.common.cfg.BlockMap org.graalvm.compiler.graph.NodeMap org.graalvm.compiler.core.common.cfg.BlockMap org.graalvm.compiler.graph.NodeBitMap java.util.List java.util.ArrayList java.util.ArrayList org.graalvm.compiler.nodes.AbstractBeginNode org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.FixedNode top java.util.Iterator
StackMap stack:
21: aload 13
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.graph.Node
astore 12
start local 12 22: aload 12
aload 11
if_acmpeq 38
23: aload 12
instanceof org.graalvm.compiler.nodes.FixedNode
ifeq 28
24: getstatic org.graalvm.compiler.phases.schedule.SchedulePhase$Instance.$assertionsDisabled:Z
ifne 25
aload 3
aload 12
invokevirtual org.graalvm.compiler.graph.NodeMap.get:(Lorg/graalvm/compiler/graph/Node;)Ljava/lang/Object;
aload 0
if_acmpeq 25
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
25: StackMap locals: org.graalvm.compiler.nodes.cfg.Block org.graalvm.compiler.core.common.cfg.BlockMap org.graalvm.compiler.core.common.cfg.BlockMap org.graalvm.compiler.graph.NodeMap org.graalvm.compiler.core.common.cfg.BlockMap org.graalvm.compiler.graph.NodeBitMap java.util.List java.util.ArrayList java.util.ArrayList org.graalvm.compiler.nodes.AbstractBeginNode org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.graph.Node java.util.Iterator
StackMap stack:
aload 0
aload 3
aload 5
aload 7
aload 8
aload 12
invokestatic org.graalvm.compiler.phases.schedule.SchedulePhase$Instance.checkWatchList:(Lorg/graalvm/compiler/nodes/cfg/Block;Lorg/graalvm/compiler/graph/NodeMap;Lorg/graalvm/compiler/graph/NodeBitMap;Ljava/util/ArrayList;Ljava/util/ArrayList;Lorg/graalvm/compiler/graph/Node;)V
26: aload 12
aload 0
aload 7
aload 3
aload 5
aconst_null
invokestatic org.graalvm.compiler.phases.schedule.SchedulePhase$Instance.sortIntoList:(Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/nodes/cfg/Block;Ljava/util/ArrayList;Lorg/graalvm/compiler/graph/NodeMap;Lorg/graalvm/compiler/graph/NodeBitMap;Lorg/graalvm/compiler/graph/Node;)V
27: goto 38
StackMap locals:
StackMap stack:
28: aload 3
aload 12
invokevirtual org.graalvm.compiler.graph.NodeMap.get:(Lorg/graalvm/compiler/graph/Node;)Ljava/lang/Object;
aload 0
if_acmpne 38
aload 12
instanceof org.graalvm.compiler.nodes.memory.FloatingReadNode
ifeq 38
29: aload 12
checkcast org.graalvm.compiler.nodes.memory.FloatingReadNode
astore 14
start local 14 30: aload 14
aload 0
invokestatic org.graalvm.compiler.phases.schedule.SchedulePhase$Instance.isImplicitNullOpportunity:(Lorg/graalvm/compiler/nodes/memory/FloatingReadNode;Lorg/graalvm/compiler/nodes/cfg/Block;)Z
ifeq 33
31: aload 14
aload 0
aload 7
aload 3
aload 5
aconst_null
invokestatic org.graalvm.compiler.phases.schedule.SchedulePhase$Instance.sortIntoList:(Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/nodes/cfg/Block;Ljava/util/ArrayList;Lorg/graalvm/compiler/graph/NodeMap;Lorg/graalvm/compiler/graph/NodeBitMap;Lorg/graalvm/compiler/graph/Node;)V
32: goto 38
33: StackMap locals: org.graalvm.compiler.nodes.memory.FloatingReadNode
StackMap stack:
aload 14
invokevirtual org.graalvm.compiler.nodes.memory.FloatingReadNode.getLocationIdentity:()Lorg/graalvm/word/LocationIdentity;
astore 15
start local 15 34: aload 0
aload 15
invokevirtual org.graalvm.compiler.nodes.cfg.Block.canKill:(Lorg/graalvm/word/LocationIdentity;)Z
ifeq 38
35: aload 8
ifnonnull 37
36: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 8
37: StackMap locals: org.graalvm.word.LocationIdentity
StackMap stack:
aload 8
aload 14
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
end local 15 end local 14 end local 12 38: StackMap locals: org.graalvm.compiler.nodes.cfg.Block org.graalvm.compiler.core.common.cfg.BlockMap org.graalvm.compiler.core.common.cfg.BlockMap org.graalvm.compiler.graph.NodeMap org.graalvm.compiler.core.common.cfg.BlockMap org.graalvm.compiler.graph.NodeBitMap java.util.List java.util.ArrayList java.util.ArrayList org.graalvm.compiler.nodes.AbstractBeginNode org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.FixedNode top java.util.Iterator
StackMap stack:
aload 13
invokeinterface java.util.Iterator.hasNext:()Z
ifne 21
39: aload 2
aload 0
invokevirtual org.graalvm.compiler.core.common.cfg.BlockMap.get:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)Ljava/lang/Object;
checkcast java.util.List
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 13
goto 45
StackMap locals:
StackMap stack:
40: aload 13
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.graph.Node
astore 12
start local 12 41: getstatic org.graalvm.compiler.phases.schedule.SchedulePhase$Instance.$assertionsDisabled:Z
ifne 42
aload 3
aload 12
invokevirtual org.graalvm.compiler.graph.NodeMap.get:(Lorg/graalvm/compiler/graph/Node;)Ljava/lang/Object;
aload 0
if_acmpeq 42
new java.lang.AssertionError
dup
aload 12
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
42: StackMap locals: org.graalvm.compiler.nodes.cfg.Block org.graalvm.compiler.core.common.cfg.BlockMap org.graalvm.compiler.core.common.cfg.BlockMap org.graalvm.compiler.graph.NodeMap org.graalvm.compiler.core.common.cfg.BlockMap org.graalvm.compiler.graph.NodeBitMap java.util.List java.util.ArrayList java.util.ArrayList org.graalvm.compiler.nodes.AbstractBeginNode org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.graph.Node java.util.Iterator
StackMap stack:
getstatic org.graalvm.compiler.phases.schedule.SchedulePhase$Instance.$assertionsDisabled:Z
ifne 43
aload 12
instanceof org.graalvm.compiler.nodes.FixedNode
ifeq 43
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
43: StackMap locals:
StackMap stack:
aload 5
aload 12
invokevirtual org.graalvm.compiler.graph.NodeBitMap.isMarked:(Lorg/graalvm/compiler/graph/Node;)Z
ifeq 45
44: aload 12
aload 0
aload 7
aload 3
aload 5
aload 11
invokestatic org.graalvm.compiler.phases.schedule.SchedulePhase$Instance.sortIntoList:(Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/nodes/cfg/Block;Ljava/util/ArrayList;Lorg/graalvm/compiler/graph/NodeMap;Lorg/graalvm/compiler/graph/NodeBitMap;Lorg/graalvm/compiler/graph/Node;)V
end local 12 45: StackMap locals: org.graalvm.compiler.nodes.cfg.Block org.graalvm.compiler.core.common.cfg.BlockMap org.graalvm.compiler.core.common.cfg.BlockMap org.graalvm.compiler.graph.NodeMap org.graalvm.compiler.core.common.cfg.BlockMap org.graalvm.compiler.graph.NodeBitMap java.util.List java.util.ArrayList java.util.ArrayList org.graalvm.compiler.nodes.AbstractBeginNode org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.FixedNode top java.util.Iterator
StackMap stack:
aload 13
invokeinterface java.util.Iterator.hasNext:()Z
ifne 40
46: aload 10
ifnull 48
aload 5
aload 10
invokevirtual org.graalvm.compiler.graph.NodeBitMap.isMarked:(Lorg/graalvm/compiler/graph/Node;)Z
ifeq 48
47: aload 10
aload 0
aload 7
aload 3
aload 5
aconst_null
invokestatic org.graalvm.compiler.phases.schedule.SchedulePhase$Instance.sortIntoList:(Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/nodes/cfg/Block;Ljava/util/ArrayList;Lorg/graalvm/compiler/graph/NodeMap;Lorg/graalvm/compiler/graph/NodeBitMap;Lorg/graalvm/compiler/graph/Node;)V
48: StackMap locals: org.graalvm.compiler.nodes.cfg.Block org.graalvm.compiler.core.common.cfg.BlockMap org.graalvm.compiler.core.common.cfg.BlockMap org.graalvm.compiler.graph.NodeMap org.graalvm.compiler.core.common.cfg.BlockMap org.graalvm.compiler.graph.NodeBitMap java.util.List java.util.ArrayList java.util.ArrayList org.graalvm.compiler.nodes.AbstractBeginNode org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.FixedNode
StackMap stack:
aload 2
aload 0
aload 7
invokevirtual org.graalvm.compiler.core.common.cfg.BlockMap.put:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;Ljava/lang/Object;)V
49: return
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 50 0 b Lorg/graalvm/compiler/nodes/cfg/Block;
0 50 1 earliestBlockToNodesMap Lorg/graalvm/compiler/core/common/cfg/BlockMap<Ljava/util/List<Lorg/graalvm/compiler/graph/Node;>;>;
0 50 2 latestBlockToNodesMap Lorg/graalvm/compiler/core/common/cfg/BlockMap<Ljava/util/List<Lorg/graalvm/compiler/graph/Node;>;>;
0 50 3 nodeMap Lorg/graalvm/compiler/graph/NodeMap<Lorg/graalvm/compiler/nodes/cfg/Block;>;
0 50 4 watchListMap Lorg/graalvm/compiler/core/common/cfg/BlockMap<Ljava/util/ArrayList<Lorg/graalvm/compiler/nodes/memory/FloatingReadNode;>;>;
0 50 5 unprocessed Lorg/graalvm/compiler/graph/NodeBitMap;
1 50 6 earliestSorting Ljava/util/List<Lorg/graalvm/compiler/graph/Node;>;
2 50 7 result Ljava/util/ArrayList<Lorg/graalvm/compiler/graph/Node;>;
3 50 8 watchList Ljava/util/ArrayList<Lorg/graalvm/compiler/nodes/memory/FloatingReadNode;>;
7 50 9 beginNode Lorg/graalvm/compiler/nodes/AbstractBeginNode;
9 16 10 loopExitNode Lorg/graalvm/compiler/nodes/LoopExitNode;
11 15 11 proxy Lorg/graalvm/compiler/nodes/ProxyNode;
13 15 13 value Lorg/graalvm/compiler/nodes/ValueNode;
17 50 10 endNode Lorg/graalvm/compiler/nodes/FixedNode;
18 50 11 fixedEndNode Lorg/graalvm/compiler/nodes/FixedNode;
22 38 12 n Lorg/graalvm/compiler/graph/Node;
30 38 14 floatingReadNode Lorg/graalvm/compiler/nodes/memory/FloatingReadNode;
34 38 15 location Lorg/graalvm/word/LocationIdentity;
41 45 12 n Lorg/graalvm/compiler/graph/Node;
Signature: (Lorg/graalvm/compiler/nodes/cfg/Block;Lorg/graalvm/compiler/core/common/cfg/BlockMap<Ljava/util/List<Lorg/graalvm/compiler/graph/Node;>;>;Lorg/graalvm/compiler/core/common/cfg/BlockMap<Ljava/util/List<Lorg/graalvm/compiler/graph/Node;>;>;Lorg/graalvm/compiler/graph/NodeMap<Lorg/graalvm/compiler/nodes/cfg/Block;>;Lorg/graalvm/compiler/core/common/cfg/BlockMap<Ljava/util/ArrayList<Lorg/graalvm/compiler/nodes/memory/FloatingReadNode;>;>;Lorg/graalvm/compiler/graph/NodeBitMap;)V
MethodParameters:
Name Flags
b
earliestBlockToNodesMap
latestBlockToNodesMap
nodeMap
watchListMap
unprocessed
private static void checkWatchList(org.graalvm.compiler.nodes.cfg.Block, org.graalvm.compiler.graph.NodeMap<org.graalvm.compiler.nodes.cfg.Block>, org.graalvm.compiler.graph.NodeBitMap, java.util.ArrayList<org.graalvm.compiler.graph.Node>, java.util.ArrayList<org.graalvm.compiler.nodes.memory.FloatingReadNode>, org.graalvm.compiler.graph.Node);
descriptor: (Lorg/graalvm/compiler/nodes/cfg/Block;Lorg/graalvm/compiler/graph/NodeMap;Lorg/graalvm/compiler/graph/NodeBitMap;Ljava/util/ArrayList;Ljava/util/ArrayList;Lorg/graalvm/compiler/graph/Node;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=10, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 4
ifnull 11
aload 4
invokevirtual java.util.ArrayList.isEmpty:()Z
ifne 11
1: aload 5
instanceof org.graalvm.compiler.nodes.memory.MemoryCheckpoint$Single
ifeq 5
2: aload 5
checkcast org.graalvm.compiler.nodes.memory.MemoryCheckpoint$Single
invokeinterface org.graalvm.compiler.nodes.memory.MemoryCheckpoint$Single.getLocationIdentity:()Lorg/graalvm/word/LocationIdentity;
astore 6
start local 6 3: aload 4
aload 6
aload 0
aload 3
aload 1
aload 2
invokestatic org.graalvm.compiler.phases.schedule.SchedulePhase$Instance.checkWatchList:(Ljava/util/ArrayList;Lorg/graalvm/word/LocationIdentity;Lorg/graalvm/compiler/nodes/cfg/Block;Ljava/util/ArrayList;Lorg/graalvm/compiler/graph/NodeMap;Lorg/graalvm/compiler/graph/NodeBitMap;)V
end local 6 4: goto 11
StackMap locals:
StackMap stack:
5: aload 5
instanceof org.graalvm.compiler.nodes.memory.MemoryCheckpoint$Multi
ifeq 11
6: aload 5
checkcast org.graalvm.compiler.nodes.memory.MemoryCheckpoint$Multi
invokeinterface org.graalvm.compiler.nodes.memory.MemoryCheckpoint$Multi.getLocationIdentities:()[Lorg/graalvm/word/LocationIdentity;
dup
astore 9
arraylength
istore 8
iconst_0
istore 7
goto 10
StackMap locals: org.graalvm.compiler.nodes.cfg.Block org.graalvm.compiler.graph.NodeMap org.graalvm.compiler.graph.NodeBitMap java.util.ArrayList java.util.ArrayList org.graalvm.compiler.graph.Node top int int org.graalvm.word.LocationIdentity[]
StackMap stack:
7: aload 9
iload 7
aaload
astore 6
start local 6 8: aload 4
aload 6
aload 0
aload 3
aload 1
aload 2
invokestatic org.graalvm.compiler.phases.schedule.SchedulePhase$Instance.checkWatchList:(Ljava/util/ArrayList;Lorg/graalvm/word/LocationIdentity;Lorg/graalvm/compiler/nodes/cfg/Block;Ljava/util/ArrayList;Lorg/graalvm/compiler/graph/NodeMap;Lorg/graalvm/compiler/graph/NodeBitMap;)V
end local 6 9: iinc 7 1
StackMap locals:
StackMap stack:
10: iload 7
iload 8
if_icmplt 7
11: StackMap locals: org.graalvm.compiler.nodes.cfg.Block org.graalvm.compiler.graph.NodeMap org.graalvm.compiler.graph.NodeBitMap java.util.ArrayList java.util.ArrayList org.graalvm.compiler.graph.Node
StackMap stack:
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 12 0 b Lorg/graalvm/compiler/nodes/cfg/Block;
0 12 1 nodeMap Lorg/graalvm/compiler/graph/NodeMap<Lorg/graalvm/compiler/nodes/cfg/Block;>;
0 12 2 unprocessed Lorg/graalvm/compiler/graph/NodeBitMap;
0 12 3 result Ljava/util/ArrayList<Lorg/graalvm/compiler/graph/Node;>;
0 12 4 watchList Ljava/util/ArrayList<Lorg/graalvm/compiler/nodes/memory/FloatingReadNode;>;
0 12 5 n Lorg/graalvm/compiler/graph/Node;
3 4 6 identity Lorg/graalvm/word/LocationIdentity;
8 9 6 identity Lorg/graalvm/word/LocationIdentity;
Signature: (Lorg/graalvm/compiler/nodes/cfg/Block;Lorg/graalvm/compiler/graph/NodeMap<Lorg/graalvm/compiler/nodes/cfg/Block;>;Lorg/graalvm/compiler/graph/NodeBitMap;Ljava/util/ArrayList<Lorg/graalvm/compiler/graph/Node;>;Ljava/util/ArrayList<Lorg/graalvm/compiler/nodes/memory/FloatingReadNode;>;Lorg/graalvm/compiler/graph/Node;)V
MethodParameters:
Name Flags
b
nodeMap
unprocessed
result
watchList
n
private static void checkWatchList(java.util.ArrayList<org.graalvm.compiler.nodes.memory.FloatingReadNode>, org.graalvm.word.LocationIdentity, org.graalvm.compiler.nodes.cfg.Block, java.util.ArrayList<org.graalvm.compiler.graph.Node>, org.graalvm.compiler.graph.NodeMap<org.graalvm.compiler.nodes.cfg.Block>, org.graalvm.compiler.graph.NodeBitMap);
descriptor: (Ljava/util/ArrayList;Lorg/graalvm/word/LocationIdentity;Lorg/graalvm/compiler/nodes/cfg/Block;Ljava/util/ArrayList;Lorg/graalvm/compiler/graph/NodeMap;Lorg/graalvm/compiler/graph/NodeBitMap;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=10, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 1
invokevirtual org.graalvm.word.LocationIdentity.isImmutable:()Z
ifne 24
1: aload 1
invokevirtual org.graalvm.word.LocationIdentity.isAny:()Z
ifeq 9
2: aload 0
invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
astore 7
goto 6
StackMap locals: java.util.ArrayList org.graalvm.word.LocationIdentity org.graalvm.compiler.nodes.cfg.Block java.util.ArrayList org.graalvm.compiler.graph.NodeMap org.graalvm.compiler.graph.NodeBitMap top java.util.Iterator
StackMap stack:
3: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.memory.FloatingReadNode
astore 6
start local 6 4: aload 5
aload 6
invokevirtual org.graalvm.compiler.graph.NodeBitMap.isMarked:(Lorg/graalvm/compiler/graph/Node;)Z
ifeq 6
5: aload 6
aload 2
aload 3
aload 4
aload 5
aconst_null
invokestatic org.graalvm.compiler.phases.schedule.SchedulePhase$Instance.sortIntoList:(Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/nodes/cfg/Block;Ljava/util/ArrayList;Lorg/graalvm/compiler/graph/NodeMap;Lorg/graalvm/compiler/graph/NodeBitMap;Lorg/graalvm/compiler/graph/Node;)V
end local 6 6: StackMap locals:
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
7: aload 0
invokevirtual java.util.ArrayList.clear:()V
8: goto 24
9: StackMap locals: java.util.ArrayList org.graalvm.word.LocationIdentity org.graalvm.compiler.nodes.cfg.Block java.util.ArrayList org.graalvm.compiler.graph.NodeMap org.graalvm.compiler.graph.NodeBitMap
StackMap stack:
iconst_0
istore 6
start local 6 10: goto 23
11: StackMap locals: int
StackMap stack:
aload 0
iload 6
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.memory.FloatingReadNode
astore 7
start local 7 12: aload 7
invokevirtual org.graalvm.compiler.nodes.memory.FloatingReadNode.getLocationIdentity:()Lorg/graalvm/word/LocationIdentity;
astore 8
start local 8 13: getstatic org.graalvm.compiler.phases.schedule.SchedulePhase$Instance.$assertionsDisabled:Z
ifne 14
aload 8
invokevirtual org.graalvm.word.LocationIdentity.isMutable:()Z
ifne 14
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
14: StackMap locals: org.graalvm.compiler.nodes.memory.FloatingReadNode org.graalvm.word.LocationIdentity
StackMap stack:
aload 5
aload 7
invokevirtual org.graalvm.compiler.graph.NodeBitMap.isMarked:(Lorg/graalvm/compiler/graph/Node;)Z
ifeq 20
15: aload 1
aload 8
invokevirtual org.graalvm.word.LocationIdentity.overlaps:(Lorg/graalvm/word/LocationIdentity;)Z
ifeq 18
16: aload 7
aload 2
aload 3
aload 4
aload 5
aconst_null
invokestatic org.graalvm.compiler.phases.schedule.SchedulePhase$Instance.sortIntoList:(Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/nodes/cfg/Block;Ljava/util/ArrayList;Lorg/graalvm/compiler/graph/NodeMap;Lorg/graalvm/compiler/graph/NodeBitMap;Lorg/graalvm/compiler/graph/Node;)V
17: goto 20
18: StackMap locals:
StackMap stack:
iinc 6 1
19: goto 23
20: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.util.ArrayList.size:()I
iconst_1
isub
istore 9
start local 9 21: aload 0
iload 6
aload 0
iload 9
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.memory.FloatingReadNode
invokevirtual java.util.ArrayList.set:(ILjava/lang/Object;)Ljava/lang/Object;
pop
22: aload 0
iload 9
invokevirtual java.util.ArrayList.remove:(I)Ljava/lang/Object;
pop
end local 9 end local 8 end local 7 23: StackMap locals:
StackMap stack:
iload 6
aload 0
invokevirtual java.util.ArrayList.size:()I
if_icmplt 11
end local 6 24: StackMap locals:
StackMap stack:
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 25 0 watchList Ljava/util/ArrayList<Lorg/graalvm/compiler/nodes/memory/FloatingReadNode;>;
0 25 1 identity Lorg/graalvm/word/LocationIdentity;
0 25 2 b Lorg/graalvm/compiler/nodes/cfg/Block;
0 25 3 result Ljava/util/ArrayList<Lorg/graalvm/compiler/graph/Node;>;
0 25 4 nodeMap Lorg/graalvm/compiler/graph/NodeMap<Lorg/graalvm/compiler/nodes/cfg/Block;>;
0 25 5 unprocessed Lorg/graalvm/compiler/graph/NodeBitMap;
4 6 6 r Lorg/graalvm/compiler/nodes/memory/FloatingReadNode;
10 24 6 index I
12 23 7 r Lorg/graalvm/compiler/nodes/memory/FloatingReadNode;
13 23 8 locationIdentity Lorg/graalvm/word/LocationIdentity;
21 23 9 lastIndex I
Signature: (Ljava/util/ArrayList<Lorg/graalvm/compiler/nodes/memory/FloatingReadNode;>;Lorg/graalvm/word/LocationIdentity;Lorg/graalvm/compiler/nodes/cfg/Block;Ljava/util/ArrayList<Lorg/graalvm/compiler/graph/Node;>;Lorg/graalvm/compiler/graph/NodeMap<Lorg/graalvm/compiler/nodes/cfg/Block;>;Lorg/graalvm/compiler/graph/NodeBitMap;)V
MethodParameters:
Name Flags
watchList
identity
b
result
nodeMap
unprocessed
private static void sortIntoList(org.graalvm.compiler.graph.Node, org.graalvm.compiler.nodes.cfg.Block, java.util.ArrayList<org.graalvm.compiler.graph.Node>, org.graalvm.compiler.graph.NodeMap<org.graalvm.compiler.nodes.cfg.Block>, org.graalvm.compiler.graph.NodeBitMap, org.graalvm.compiler.graph.Node);
descriptor: (Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/nodes/cfg/Block;Ljava/util/ArrayList;Lorg/graalvm/compiler/graph/NodeMap;Lorg/graalvm/compiler/graph/NodeBitMap;Lorg/graalvm/compiler/graph/Node;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=8, 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.phases.schedule.SchedulePhase$Instance.$assertionsDisabled:Z
ifne 1
aload 4
aload 0
invokevirtual org.graalvm.compiler.graph.NodeBitMap.isMarked:(Lorg/graalvm/compiler/graph/Node;)Z
ifne 1
new java.lang.AssertionError
dup
aload 0
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
1: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.phases.schedule.SchedulePhase$Instance.$assertionsDisabled:Z
ifne 2
aload 3
aload 0
invokevirtual org.graalvm.compiler.graph.NodeMap.get:(Lorg/graalvm/compiler/graph/Node;)Ljava/lang/Object;
aload 1
if_acmpeq 2
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
aload 0
instanceof org.graalvm.compiler.nodes.PhiNode
ifeq 4
3: return
4: StackMap locals:
StackMap stack:
aload 4
aload 0
invokevirtual org.graalvm.compiler.graph.NodeBitMap.clear:(Lorg/graalvm/compiler/graph/Node;)V
5: aload 0
invokevirtual org.graalvm.compiler.graph.Node.inputs:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.iterator:()Ljava/util/Iterator;
astore 7
goto 9
StackMap locals: org.graalvm.compiler.graph.Node org.graalvm.compiler.nodes.cfg.Block java.util.ArrayList org.graalvm.compiler.graph.NodeMap org.graalvm.compiler.graph.NodeBitMap org.graalvm.compiler.graph.Node top java.util.Iterator
StackMap stack:
6: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.graph.Node
astore 6
start local 6 7: aload 3
aload 6
invokevirtual org.graalvm.compiler.graph.NodeMap.get:(Lorg/graalvm/compiler/graph/Node;)Ljava/lang/Object;
aload 1
if_acmpne 9
aload 4
aload 6
invokevirtual org.graalvm.compiler.graph.NodeBitMap.isMarked:(Lorg/graalvm/compiler/graph/Node;)Z
ifeq 9
aload 6
aload 5
if_acmpeq 9
8: aload 6
aload 1
aload 2
aload 3
aload 4
aload 5
invokestatic org.graalvm.compiler.phases.schedule.SchedulePhase$Instance.sortIntoList:(Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/nodes/cfg/Block;Ljava/util/ArrayList;Lorg/graalvm/compiler/graph/NodeMap;Lorg/graalvm/compiler/graph/NodeBitMap;Lorg/graalvm/compiler/graph/Node;)V
end local 6 9: StackMap locals:
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 6
10: aload 0
instanceof org.graalvm.compiler.nodes.ProxyNode
ifne 12
11: aload 2
aload 0
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
12: StackMap locals: org.graalvm.compiler.graph.Node org.graalvm.compiler.nodes.cfg.Block java.util.ArrayList org.graalvm.compiler.graph.NodeMap org.graalvm.compiler.graph.NodeBitMap org.graalvm.compiler.graph.Node
StackMap stack:
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 n Lorg/graalvm/compiler/graph/Node;
0 13 1 b Lorg/graalvm/compiler/nodes/cfg/Block;
0 13 2 result Ljava/util/ArrayList<Lorg/graalvm/compiler/graph/Node;>;
0 13 3 nodeMap Lorg/graalvm/compiler/graph/NodeMap<Lorg/graalvm/compiler/nodes/cfg/Block;>;
0 13 4 unprocessed Lorg/graalvm/compiler/graph/NodeBitMap;
0 13 5 excludeNode Lorg/graalvm/compiler/graph/Node;
7 9 6 input Lorg/graalvm/compiler/graph/Node;
Signature: (Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/nodes/cfg/Block;Ljava/util/ArrayList<Lorg/graalvm/compiler/graph/Node;>;Lorg/graalvm/compiler/graph/NodeMap<Lorg/graalvm/compiler/nodes/cfg/Block;>;Lorg/graalvm/compiler/graph/NodeBitMap;Lorg/graalvm/compiler/graph/Node;)V
MethodParameters:
Name Flags
n
b
result
nodeMap
unprocessed
excludeNode
protected void calcLatestBlock(org.graalvm.compiler.nodes.cfg.Block, org.graalvm.compiler.phases.schedule.SchedulePhase$SchedulingStrategy, org.graalvm.compiler.graph.Node, org.graalvm.compiler.graph.NodeMap<org.graalvm.compiler.nodes.cfg.Block>, org.graalvm.word.LocationIdentity, org.graalvm.compiler.core.common.cfg.BlockMap<java.util.ArrayList<org.graalvm.compiler.nodes.memory.FloatingReadNode>>, org.graalvm.compiler.core.common.cfg.BlockMap<java.util.List<org.graalvm.compiler.graph.Node>>, org.graalvm.compiler.graph.NodeBitMap, );
descriptor: (Lorg/graalvm/compiler/nodes/cfg/Block;Lorg/graalvm/compiler/phases/schedule/SchedulePhase$SchedulingStrategy;Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/NodeMap;Lorg/graalvm/word/LocationIdentity;Lorg/graalvm/compiler/core/common/cfg/BlockMap;Lorg/graalvm/compiler/core/common/cfg/BlockMap;Lorg/graalvm/compiler/graph/NodeBitMap;Z)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=7, locals=13, args_size=10
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 start local 8 start local 9 0: aconst_null
astore 10
start local 10 1: aload 3
invokevirtual org.graalvm.compiler.graph.Node.hasUsages:()Z
ifne 5
2: getstatic org.graalvm.compiler.phases.schedule.SchedulePhase$Instance.$assertionsDisabled:Z
ifne 3
aload 3
instanceof org.graalvm.compiler.nodes.GuardNode
ifne 3
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
3: StackMap locals: org.graalvm.compiler.nodes.cfg.Block
StackMap stack:
aload 1
astore 10
4: goto 25
5: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.phases.schedule.SchedulePhase$Instance.$assertionsDisabled:Z
ifne 6
aload 3
invokevirtual org.graalvm.compiler.graph.Node.hasUsages:()Z
ifne 6
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
6: StackMap locals:
StackMap stack:
aload 3
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 12
goto 11
StackMap locals: org.graalvm.compiler.phases.schedule.SchedulePhase$Instance org.graalvm.compiler.nodes.cfg.Block org.graalvm.compiler.phases.schedule.SchedulePhase$SchedulingStrategy org.graalvm.compiler.graph.Node org.graalvm.compiler.graph.NodeMap org.graalvm.word.LocationIdentity org.graalvm.compiler.core.common.cfg.BlockMap org.graalvm.compiler.core.common.cfg.BlockMap org.graalvm.compiler.graph.NodeBitMap int org.graalvm.compiler.nodes.cfg.Block top java.util.Iterator
StackMap stack:
7: aload 12
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.graph.Node
astore 11
start local 11 8: iload 9
ifeq 10
aload 8
aload 11
invokevirtual org.graalvm.compiler.graph.NodeBitMap.contains:(Lorg/graalvm/compiler/graph/Node;)Z
ifne 10
9: goto 11
10: StackMap locals: org.graalvm.compiler.phases.schedule.SchedulePhase$Instance org.graalvm.compiler.nodes.cfg.Block org.graalvm.compiler.phases.schedule.SchedulePhase$SchedulingStrategy org.graalvm.compiler.graph.Node org.graalvm.compiler.graph.NodeMap org.graalvm.word.LocationIdentity org.graalvm.compiler.core.common.cfg.BlockMap org.graalvm.compiler.core.common.cfg.BlockMap org.graalvm.compiler.graph.NodeBitMap int org.graalvm.compiler.nodes.cfg.Block org.graalvm.compiler.graph.Node java.util.Iterator
StackMap stack:
aload 3
aload 11
aload 10
aload 4
invokestatic org.graalvm.compiler.phases.schedule.SchedulePhase$Instance.calcBlockForUsage:(Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/nodes/cfg/Block;Lorg/graalvm/compiler/graph/NodeMap;)Lorg/graalvm/compiler/nodes/cfg/Block;
astore 10
end local 11 11: StackMap locals: org.graalvm.compiler.phases.schedule.SchedulePhase$Instance org.graalvm.compiler.nodes.cfg.Block org.graalvm.compiler.phases.schedule.SchedulePhase$SchedulingStrategy org.graalvm.compiler.graph.Node org.graalvm.compiler.graph.NodeMap org.graalvm.word.LocationIdentity org.graalvm.compiler.core.common.cfg.BlockMap org.graalvm.compiler.core.common.cfg.BlockMap org.graalvm.compiler.graph.NodeBitMap int org.graalvm.compiler.nodes.cfg.Block top java.util.Iterator
StackMap stack:
aload 12
invokeinterface java.util.Iterator.hasNext:()Z
ifne 7
12: getstatic org.graalvm.compiler.phases.schedule.SchedulePhase$Instance.$assertionsDisabled:Z
ifne 13
aload 10
ifnonnull 13
new java.lang.AssertionError
dup
aload 3
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
13: StackMap locals: org.graalvm.compiler.phases.schedule.SchedulePhase$Instance org.graalvm.compiler.nodes.cfg.Block org.graalvm.compiler.phases.schedule.SchedulePhase$SchedulingStrategy org.graalvm.compiler.graph.Node org.graalvm.compiler.graph.NodeMap org.graalvm.word.LocationIdentity org.graalvm.compiler.core.common.cfg.BlockMap org.graalvm.compiler.core.common.cfg.BlockMap org.graalvm.compiler.graph.NodeBitMap int org.graalvm.compiler.nodes.cfg.Block
StackMap stack:
aload 2
getstatic org.graalvm.compiler.phases.schedule.SchedulePhase$SchedulingStrategy.FINAL_SCHEDULE:Lorg/graalvm/compiler/phases/schedule/SchedulePhase$SchedulingStrategy;
if_acmpeq 14
aload 2
getstatic org.graalvm.compiler.phases.schedule.SchedulePhase$SchedulingStrategy.LATEST_OUT_OF_LOOPS:Lorg/graalvm/compiler/phases/schedule/SchedulePhase$SchedulingStrategy;
if_acmpne 23
14: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.phases.schedule.SchedulePhase$Instance.$assertionsDisabled:Z
ifne 15
aload 10
ifnonnull 15
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
15: StackMap locals:
StackMap stack:
aload 10
astore 11
start local 11 16: goto 22
17: StackMap locals: org.graalvm.compiler.nodes.cfg.Block
StackMap stack:
aload 11
astore 12
start local 12 18: aload 11
invokevirtual org.graalvm.compiler.nodes.cfg.Block.getDominator:()Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
checkcast org.graalvm.compiler.nodes.cfg.Block
astore 11
19: aload 12
invokevirtual org.graalvm.compiler.nodes.cfg.Block.isLoopHeader:()Z
ifeq 22
20: aload 11
invokevirtual org.graalvm.compiler.nodes.cfg.Block.probability:()D
aload 10
invokevirtual org.graalvm.compiler.nodes.cfg.Block.probability:()D
dcmpg
iflt 21
aload 3
invokevirtual org.graalvm.compiler.graph.Node.graph:()Lorg/graalvm/compiler/graph/Graph;
checkcast org.graalvm.compiler.nodes.StructuredGraph
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.hasValueProxies:()Z
ifeq 22
21: StackMap locals: org.graalvm.compiler.nodes.cfg.Block
StackMap stack:
aload 11
astore 10
end local 12 22: StackMap locals:
StackMap stack:
aload 11
invokevirtual org.graalvm.compiler.nodes.cfg.Block.getLoopDepth:()I
aload 1
invokevirtual org.graalvm.compiler.nodes.cfg.Block.getLoopDepth:()I
if_icmple 23
aload 11
aload 1
invokevirtual org.graalvm.compiler.nodes.cfg.Block.getDominator:()Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
if_acmpne 17
end local 11 23: StackMap locals:
StackMap stack:
aload 10
aload 1
if_acmpeq 25
aload 10
aload 1
invokevirtual org.graalvm.compiler.nodes.cfg.Block.getDominator:()Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
if_acmpeq 25
aload 5
ifnull 25
24: aload 1
aload 10
aload 5
invokestatic org.graalvm.compiler.phases.schedule.SchedulePhase$Instance.checkKillsBetween:(Lorg/graalvm/compiler/nodes/cfg/Block;Lorg/graalvm/compiler/nodes/cfg/Block;Lorg/graalvm/word/LocationIdentity;)Lorg/graalvm/compiler/nodes/cfg/Block;
astore 10
25: StackMap locals:
StackMap stack:
aload 10
aload 1
if_acmpeq 29
aload 3
instanceof org.graalvm.compiler.nodes.memory.FloatingReadNode
ifeq 29
26: aload 3
checkcast org.graalvm.compiler.nodes.memory.FloatingReadNode
astore 11
start local 11 27: aload 11
aload 1
invokestatic org.graalvm.compiler.phases.schedule.SchedulePhase$Instance.isImplicitNullOpportunity:(Lorg/graalvm/compiler/nodes/memory/FloatingReadNode;Lorg/graalvm/compiler/nodes/cfg/Block;)Z
ifeq 29
aload 1
invokevirtual org.graalvm.compiler.nodes.cfg.Block.probability:()D
aload 10
invokevirtual org.graalvm.compiler.nodes.cfg.Block.probability:()D
ldc 2.0
dmul
dcmpg
ifge 29
28: aload 1
astore 10
end local 11 29: StackMap locals:
StackMap stack:
aload 3
aload 1
aload 10
aload 4
aload 6
aload 5
aload 7
invokestatic org.graalvm.compiler.phases.schedule.SchedulePhase$Instance.selectLatestBlock:(Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/nodes/cfg/Block;Lorg/graalvm/compiler/nodes/cfg/Block;Lorg/graalvm/compiler/graph/NodeMap;Lorg/graalvm/compiler/core/common/cfg/BlockMap;Lorg/graalvm/word/LocationIdentity;Lorg/graalvm/compiler/core/common/cfg/BlockMap;)V
30: return
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 31 0 this Lorg/graalvm/compiler/phases/schedule/SchedulePhase$Instance;
0 31 1 earliestBlock Lorg/graalvm/compiler/nodes/cfg/Block;
0 31 2 strategy Lorg/graalvm/compiler/phases/schedule/SchedulePhase$SchedulingStrategy;
0 31 3 currentNode Lorg/graalvm/compiler/graph/Node;
0 31 4 currentNodeMap Lorg/graalvm/compiler/graph/NodeMap<Lorg/graalvm/compiler/nodes/cfg/Block;>;
0 31 5 constrainingLocation Lorg/graalvm/word/LocationIdentity;
0 31 6 watchListMap Lorg/graalvm/compiler/core/common/cfg/BlockMap<Ljava/util/ArrayList<Lorg/graalvm/compiler/nodes/memory/FloatingReadNode;>;>;
0 31 7 latestBlockToNodesMap Lorg/graalvm/compiler/core/common/cfg/BlockMap<Ljava/util/List<Lorg/graalvm/compiler/graph/Node;>;>;
0 31 8 visited Lorg/graalvm/compiler/graph/NodeBitMap;
0 31 9 immutableGraph Z
1 31 10 latestBlock Lorg/graalvm/compiler/nodes/cfg/Block;
8 11 11 usage Lorg/graalvm/compiler/graph/Node;
16 23 11 currentBlock Lorg/graalvm/compiler/nodes/cfg/Block;
18 22 12 previousCurrentBlock Lorg/graalvm/compiler/nodes/cfg/Block;
27 29 11 floatingReadNode Lorg/graalvm/compiler/nodes/memory/FloatingReadNode;
Signature: (Lorg/graalvm/compiler/nodes/cfg/Block;Lorg/graalvm/compiler/phases/schedule/SchedulePhase$SchedulingStrategy;Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/NodeMap<Lorg/graalvm/compiler/nodes/cfg/Block;>;Lorg/graalvm/word/LocationIdentity;Lorg/graalvm/compiler/core/common/cfg/BlockMap<Ljava/util/ArrayList<Lorg/graalvm/compiler/nodes/memory/FloatingReadNode;>;>;Lorg/graalvm/compiler/core/common/cfg/BlockMap<Ljava/util/List<Lorg/graalvm/compiler/graph/Node;>;>;Lorg/graalvm/compiler/graph/NodeBitMap;Z)V
MethodParameters:
Name Flags
earliestBlock
strategy
currentNode
currentNodeMap
constrainingLocation
watchListMap
latestBlockToNodesMap
visited
immutableGraph
private static boolean isImplicitNullOpportunity(org.graalvm.compiler.nodes.memory.FloatingReadNode, org.graalvm.compiler.nodes.cfg.Block);
descriptor: (Lorg/graalvm/compiler/nodes/memory/FloatingReadNode;Lorg/graalvm/compiler/nodes/cfg/Block;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=5, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual org.graalvm.compiler.nodes.cfg.Block.getBeginNode:()Lorg/graalvm/compiler/nodes/AbstractBeginNode;
invokevirtual org.graalvm.compiler.nodes.AbstractBeginNode.predecessor:()Lorg/graalvm/compiler/graph/Node;
astore 2
start local 2 1: aload 2
instanceof org.graalvm.compiler.nodes.IfNode
ifeq 7
2: aload 2
checkcast org.graalvm.compiler.nodes.IfNode
astore 3
start local 3 3: aload 3
invokevirtual org.graalvm.compiler.nodes.IfNode.condition:()Lorg/graalvm/compiler/nodes/LogicNode;
instanceof org.graalvm.compiler.nodes.calc.IsNullNode
ifeq 7
4: aload 3
invokevirtual org.graalvm.compiler.nodes.IfNode.condition:()Lorg/graalvm/compiler/nodes/LogicNode;
checkcast org.graalvm.compiler.nodes.calc.IsNullNode
astore 4
start local 4 5: aload 0
invokevirtual org.graalvm.compiler.nodes.memory.FloatingReadNode.getAddress:()Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
invokevirtual org.graalvm.compiler.nodes.memory.address.AddressNode.getBase:()Lorg/graalvm/compiler/nodes/ValueNode;
invokestatic org.graalvm.compiler.phases.schedule.SchedulePhase$Instance.getUnproxifiedUncompressed:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
aload 4
invokevirtual org.graalvm.compiler.nodes.calc.IsNullNode.getValue:()Lorg/graalvm/compiler/nodes/ValueNode;
invokestatic org.graalvm.compiler.phases.schedule.SchedulePhase$Instance.getUnproxifiedUncompressed:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
if_acmpne 7
6: iconst_1
ireturn
end local 4 end local 3 7: StackMap locals: org.graalvm.compiler.graph.Node
StackMap stack:
iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 floatingReadNode Lorg/graalvm/compiler/nodes/memory/FloatingReadNode;
0 8 1 block Lorg/graalvm/compiler/nodes/cfg/Block;
1 8 2 pred Lorg/graalvm/compiler/graph/Node;
3 7 3 ifNode Lorg/graalvm/compiler/nodes/IfNode;
5 7 4 isNullNode Lorg/graalvm/compiler/nodes/calc/IsNullNode;
MethodParameters:
Name Flags
floatingReadNode
block
private static org.graalvm.compiler.graph.Node getUnproxifiedUncompressed(org.graalvm.compiler.graph.Node);
descriptor: (Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=3, args_size=1
start local 0 0: aload 0
astore 1
start local 1 1: StackMap locals: org.graalvm.compiler.graph.Node
StackMap stack:
aload 1
instanceof org.graalvm.compiler.nodes.spi.ValueProxy
ifeq 5
2: aload 1
checkcast org.graalvm.compiler.nodes.spi.ValueProxy
astore 2
start local 2 3: aload 2
invokeinterface org.graalvm.compiler.nodes.spi.ValueProxy.getOriginalNode:()Lorg/graalvm/compiler/nodes/ValueNode;
astore 1
end local 2 4: goto 1
StackMap locals:
StackMap stack:
5: aload 1
instanceof org.graalvm.compiler.nodes.calc.ConvertNode
ifeq 10
6: aload 1
checkcast org.graalvm.compiler.nodes.calc.ConvertNode
astore 2
start local 2 7: aload 2
invokeinterface org.graalvm.compiler.nodes.calc.ConvertNode.mayNullCheckSkipConversion:()Z
ifeq 10
8: aload 2
invokeinterface org.graalvm.compiler.nodes.calc.ConvertNode.getValue:()Lorg/graalvm/compiler/nodes/ValueNode;
astore 1
end local 2 9: goto 1
10: StackMap locals:
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 node Lorg/graalvm/compiler/graph/Node;
1 11 1 result Lorg/graalvm/compiler/graph/Node;
3 4 2 valueProxy Lorg/graalvm/compiler/nodes/spi/ValueProxy;
7 9 2 convertNode Lorg/graalvm/compiler/nodes/calc/ConvertNode;
MethodParameters:
Name Flags
node
private static org.graalvm.compiler.nodes.cfg.Block calcBlockForUsage(org.graalvm.compiler.graph.Node, org.graalvm.compiler.graph.Node, org.graalvm.compiler.nodes.cfg.Block, org.graalvm.compiler.graph.NodeMap<org.graalvm.compiler.nodes.cfg.Block>);
descriptor: (Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/nodes/cfg/Block;Lorg/graalvm/compiler/graph/NodeMap;)Lorg/graalvm/compiler/nodes/cfg/Block;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=10, args_size=4
start local 0 start local 1 start local 2 start local 3 0: getstatic org.graalvm.compiler.phases.schedule.SchedulePhase$Instance.$assertionsDisabled:Z
ifne 1
aload 0
instanceof org.graalvm.compiler.nodes.PhiNode
ifeq 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 2
astore 4
start local 4 2: aload 1
instanceof org.graalvm.compiler.nodes.PhiNode
ifeq 14
3: aload 1
checkcast org.graalvm.compiler.nodes.PhiNode
astore 5
start local 5 4: aload 5
invokevirtual org.graalvm.compiler.nodes.PhiNode.merge:()Lorg/graalvm/compiler/nodes/AbstractMergeNode;
astore 6
start local 6 5: aload 3
aload 6
invokevirtual org.graalvm.compiler.graph.NodeMap.get:(Lorg/graalvm/compiler/graph/Node;)Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.cfg.Block
astore 7
start local 7 6: iconst_0
istore 8
start local 8 7: goto 12
8: StackMap locals: org.graalvm.compiler.graph.Node org.graalvm.compiler.graph.Node org.graalvm.compiler.nodes.cfg.Block org.graalvm.compiler.graph.NodeMap org.graalvm.compiler.nodes.cfg.Block org.graalvm.compiler.nodes.PhiNode org.graalvm.compiler.nodes.AbstractMergeNode org.graalvm.compiler.nodes.cfg.Block int
StackMap stack:
aload 5
iload 8
invokevirtual org.graalvm.compiler.nodes.PhiNode.valueAt:(I)Lorg/graalvm/compiler/nodes/ValueNode;
aload 0
if_acmpne 11
9: aload 7
invokevirtual org.graalvm.compiler.nodes.cfg.Block.getPredecessors:()[Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
checkcast org.graalvm.compiler.nodes.cfg.Block[]
iload 8
aaload
astore 9
start local 9 10: aload 4
aload 9
invokestatic org.graalvm.compiler.core.common.cfg.AbstractControlFlowGraph.commonDominatorTyped:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
checkcast org.graalvm.compiler.nodes.cfg.Block
astore 4
end local 9 11: StackMap locals:
StackMap stack:
iinc 8 1
StackMap locals:
StackMap stack:
12: iload 8
aload 5
invokevirtual org.graalvm.compiler.nodes.PhiNode.valueCount:()I
if_icmplt 8
end local 8 end local 7 end local 6 end local 5 13: goto 27
StackMap locals: org.graalvm.compiler.graph.Node org.graalvm.compiler.graph.Node org.graalvm.compiler.nodes.cfg.Block org.graalvm.compiler.graph.NodeMap org.graalvm.compiler.nodes.cfg.Block
StackMap stack:
14: aload 1
instanceof org.graalvm.compiler.nodes.AbstractBeginNode
ifeq 22
15: aload 1
checkcast org.graalvm.compiler.nodes.AbstractBeginNode
astore 5
start local 5 16: aload 5
instanceof org.graalvm.compiler.nodes.StartNode
ifeq 19
17: aload 4
aload 3
aload 5
invokevirtual org.graalvm.compiler.graph.NodeMap.get:(Lorg/graalvm/compiler/graph/Node;)Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.cfg.Block
invokestatic org.graalvm.compiler.core.common.cfg.AbstractControlFlowGraph.commonDominatorTyped:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
checkcast org.graalvm.compiler.nodes.cfg.Block
astore 4
18: goto 27
19: StackMap locals: org.graalvm.compiler.nodes.AbstractBeginNode
StackMap stack:
aload 3
aload 5
invokevirtual org.graalvm.compiler.graph.NodeMap.get:(Lorg/graalvm/compiler/graph/Node;)Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.cfg.Block
invokevirtual org.graalvm.compiler.nodes.cfg.Block.getDominator:()Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
checkcast org.graalvm.compiler.nodes.cfg.Block
astore 6
start local 6 20: aload 4
aload 6
invokestatic org.graalvm.compiler.core.common.cfg.AbstractControlFlowGraph.commonDominatorTyped:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
checkcast org.graalvm.compiler.nodes.cfg.Block
astore 4
end local 6 end local 5 21: goto 27
22: StackMap locals:
StackMap stack:
aload 3
aload 1
invokevirtual org.graalvm.compiler.graph.NodeMap.get:(Lorg/graalvm/compiler/graph/Node;)Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.cfg.Block
astore 5
start local 5 23: aload 1
instanceof org.graalvm.compiler.nodes.ProxyNode
ifeq 26
24: aload 1
checkcast org.graalvm.compiler.nodes.ProxyNode
astore 6
start local 6 25: aload 3
aload 6
invokevirtual org.graalvm.compiler.nodes.ProxyNode.proxyPoint:()Lorg/graalvm/compiler/nodes/LoopExitNode;
invokevirtual org.graalvm.compiler.graph.NodeMap.get:(Lorg/graalvm/compiler/graph/Node;)Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.cfg.Block
astore 5
end local 6 26: StackMap locals: org.graalvm.compiler.nodes.cfg.Block
StackMap stack:
aload 4
aload 5
invokestatic org.graalvm.compiler.core.common.cfg.AbstractControlFlowGraph.commonDominatorTyped:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
checkcast org.graalvm.compiler.nodes.cfg.Block
astore 4
end local 5 27: StackMap locals:
StackMap stack:
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 28 0 node Lorg/graalvm/compiler/graph/Node;
0 28 1 usage Lorg/graalvm/compiler/graph/Node;
0 28 2 startBlock Lorg/graalvm/compiler/nodes/cfg/Block;
0 28 3 currentNodeMap Lorg/graalvm/compiler/graph/NodeMap<Lorg/graalvm/compiler/nodes/cfg/Block;>;
2 28 4 currentBlock Lorg/graalvm/compiler/nodes/cfg/Block;
4 13 5 phi Lorg/graalvm/compiler/nodes/PhiNode;
5 13 6 merge Lorg/graalvm/compiler/nodes/AbstractMergeNode;
6 13 7 mergeBlock Lorg/graalvm/compiler/nodes/cfg/Block;
7 13 8 i I
10 11 9 otherBlock Lorg/graalvm/compiler/nodes/cfg/Block;
16 21 5 abstractBeginNode Lorg/graalvm/compiler/nodes/AbstractBeginNode;
20 21 6 otherBlock Lorg/graalvm/compiler/nodes/cfg/Block;
23 27 5 otherBlock Lorg/graalvm/compiler/nodes/cfg/Block;
25 26 6 proxyNode Lorg/graalvm/compiler/nodes/ProxyNode;
Signature: (Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/nodes/cfg/Block;Lorg/graalvm/compiler/graph/NodeMap<Lorg/graalvm/compiler/nodes/cfg/Block;>;)Lorg/graalvm/compiler/nodes/cfg/Block;
MethodParameters:
Name Flags
node
usage
startBlock
currentNodeMap
private void scheduleEarliestIterative(org.graalvm.compiler.core.common.cfg.BlockMap<java.util.List<org.graalvm.compiler.graph.Node>>, org.graalvm.compiler.graph.NodeMap<org.graalvm.compiler.nodes.cfg.Block>, org.graalvm.compiler.graph.NodeBitMap, org.graalvm.compiler.nodes.StructuredGraph, );
descriptor: (Lorg/graalvm/compiler/core/common/cfg/BlockMap;Lorg/graalvm/compiler/graph/NodeMap;Lorg/graalvm/compiler/graph/NodeBitMap;Lorg/graalvm/compiler/nodes/StructuredGraph;Z)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=20, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 4
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.createNodeMap:()Lorg/graalvm/compiler/graph/NodeMap;
astore 6
start local 6 1: new org.graalvm.compiler.graph.NodeStack
dup
invokespecial org.graalvm.compiler.graph.NodeStack.<init>:()V
astore 7
start local 7 2: aconst_null
astore 8
start local 8 3: iconst_1
istore 9
start local 9 4: aload 0
getfield org.graalvm.compiler.phases.schedule.SchedulePhase$Instance.cfg:Lorg/graalvm/compiler/nodes/cfg/ControlFlowGraph;
invokevirtual org.graalvm.compiler.nodes.cfg.ControlFlowGraph.reversePostOrder:()[Lorg/graalvm/compiler/nodes/cfg/Block;
dup
astore 13
arraylength
istore 12
iconst_0
istore 11
goto 22
StackMap locals: org.graalvm.compiler.phases.schedule.SchedulePhase$Instance org.graalvm.compiler.core.common.cfg.BlockMap org.graalvm.compiler.graph.NodeMap org.graalvm.compiler.graph.NodeBitMap org.graalvm.compiler.nodes.StructuredGraph int org.graalvm.compiler.graph.NodeMap org.graalvm.compiler.graph.NodeStack org.graalvm.compiler.phases.schedule.SchedulePhase$Instance$MicroBlock int top int int org.graalvm.compiler.nodes.cfg.Block[]
StackMap stack:
5: aload 13
iload 11
aaload
astore 10
start local 10 6: aload 10
invokevirtual org.graalvm.compiler.nodes.cfg.Block.getBeginNode:()Lorg/graalvm/compiler/nodes/AbstractBeginNode;
astore 14
start local 14 7: StackMap locals: org.graalvm.compiler.phases.schedule.SchedulePhase$Instance org.graalvm.compiler.core.common.cfg.BlockMap org.graalvm.compiler.graph.NodeMap org.graalvm.compiler.graph.NodeBitMap org.graalvm.compiler.nodes.StructuredGraph int org.graalvm.compiler.graph.NodeMap org.graalvm.compiler.graph.NodeStack org.graalvm.compiler.phases.schedule.SchedulePhase$Instance$MicroBlock int org.graalvm.compiler.nodes.cfg.Block int int org.graalvm.compiler.nodes.cfg.Block[] org.graalvm.compiler.nodes.FixedNode
StackMap stack:
new org.graalvm.compiler.phases.schedule.SchedulePhase$Instance$MicroBlock
dup
iload 9
iinc 9 1
invokespecial org.graalvm.compiler.phases.schedule.SchedulePhase$Instance$MicroBlock.<init>:(I)V
astore 15
start local 15 8: aload 6
aload 14
aload 15
invokevirtual org.graalvm.compiler.graph.NodeMap.put:(Lorg/graalvm/compiler/graph/Node;Ljava/lang/Object;)Ljava/lang/Object;
pop
9: aload 3
aload 14
invokevirtual org.graalvm.compiler.graph.NodeBitMap.checkAndMarkInc:(Lorg/graalvm/compiler/graph/Node;)Z
pop
10: aload 8
ifnonnull 12
11: aload 15
astore 8
12: StackMap locals: org.graalvm.compiler.phases.schedule.SchedulePhase$Instance$MicroBlock
StackMap stack:
aload 14
invokevirtual org.graalvm.compiler.nodes.FixedNode.inputs:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.iterator:()Ljava/util/Iterator;
astore 17
goto 16
StackMap locals: org.graalvm.compiler.phases.schedule.SchedulePhase$Instance org.graalvm.compiler.core.common.cfg.BlockMap org.graalvm.compiler.graph.NodeMap org.graalvm.compiler.graph.NodeBitMap org.graalvm.compiler.nodes.StructuredGraph int org.graalvm.compiler.graph.NodeMap org.graalvm.compiler.graph.NodeStack org.graalvm.compiler.phases.schedule.SchedulePhase$Instance$MicroBlock int org.graalvm.compiler.nodes.cfg.Block int int org.graalvm.compiler.nodes.cfg.Block[] org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.phases.schedule.SchedulePhase$Instance$MicroBlock top java.util.Iterator
StackMap stack:
13: aload 17
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.graph.Node
astore 16
start local 16 14: aload 6
aload 16
invokevirtual org.graalvm.compiler.graph.NodeMap.get:(Lorg/graalvm/compiler/graph/Node;)Ljava/lang/Object;
ifnonnull 16
15: aload 16
aload 8
aload 6
aload 3
aload 7
invokestatic org.graalvm.compiler.phases.schedule.SchedulePhase$Instance.processStack:(Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/phases/schedule/SchedulePhase$Instance$MicroBlock;Lorg/graalvm/compiler/graph/NodeMap;Lorg/graalvm/compiler/graph/NodeBitMap;Lorg/graalvm/compiler/graph/NodeStack;)V
end local 16 16: StackMap locals:
StackMap stack:
aload 17
invokeinterface java.util.Iterator.hasNext:()Z
ifne 13
17: aload 14
aload 10
invokevirtual org.graalvm.compiler.nodes.cfg.Block.getEndNode:()Lorg/graalvm/compiler/nodes/FixedNode;
if_acmpne 19
18: goto 21
19: StackMap locals: org.graalvm.compiler.phases.schedule.SchedulePhase$Instance org.graalvm.compiler.core.common.cfg.BlockMap org.graalvm.compiler.graph.NodeMap org.graalvm.compiler.graph.NodeBitMap org.graalvm.compiler.nodes.StructuredGraph int org.graalvm.compiler.graph.NodeMap org.graalvm.compiler.graph.NodeStack org.graalvm.compiler.phases.schedule.SchedulePhase$Instance$MicroBlock int org.graalvm.compiler.nodes.cfg.Block int int org.graalvm.compiler.nodes.cfg.Block[] org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.phases.schedule.SchedulePhase$Instance$MicroBlock
StackMap stack:
aload 14
checkcast org.graalvm.compiler.nodes.FixedWithNextNode
invokevirtual org.graalvm.compiler.nodes.FixedWithNextNode.next:()Lorg/graalvm/compiler/nodes/FixedNode;
astore 14
end local 15 20: goto 7
end local 14 end local 10 21: StackMap locals: org.graalvm.compiler.phases.schedule.SchedulePhase$Instance org.graalvm.compiler.core.common.cfg.BlockMap org.graalvm.compiler.graph.NodeMap org.graalvm.compiler.graph.NodeBitMap org.graalvm.compiler.nodes.StructuredGraph int org.graalvm.compiler.graph.NodeMap org.graalvm.compiler.graph.NodeStack org.graalvm.compiler.phases.schedule.SchedulePhase$Instance$MicroBlock int top int int org.graalvm.compiler.nodes.cfg.Block[]
StackMap stack:
iinc 11 1
StackMap locals:
StackMap stack:
22: iload 11
iload 12
if_icmplt 5
23: aload 4
getstatic org.graalvm.compiler.nodes.GuardNode.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 11
goto 27
StackMap locals: org.graalvm.compiler.phases.schedule.SchedulePhase$Instance org.graalvm.compiler.core.common.cfg.BlockMap org.graalvm.compiler.graph.NodeMap org.graalvm.compiler.graph.NodeBitMap org.graalvm.compiler.nodes.StructuredGraph int org.graalvm.compiler.graph.NodeMap org.graalvm.compiler.graph.NodeStack org.graalvm.compiler.phases.schedule.SchedulePhase$Instance$MicroBlock int top java.util.Iterator
StackMap stack:
24: aload 11
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.GuardNode
astore 10
start local 10 25: aload 6
aload 10
invokevirtual org.graalvm.compiler.graph.NodeMap.get:(Lorg/graalvm/compiler/graph/Node;)Ljava/lang/Object;
ifnonnull 27
26: aload 10
aload 8
aload 6
aload 3
aload 7
invokestatic org.graalvm.compiler.phases.schedule.SchedulePhase$Instance.processStack:(Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/phases/schedule/SchedulePhase$Instance$MicroBlock;Lorg/graalvm/compiler/graph/NodeMap;Lorg/graalvm/compiler/graph/NodeBitMap;Lorg/graalvm/compiler/graph/NodeStack;)V
end local 10 27: StackMap locals:
StackMap stack:
aload 11
invokeinterface java.util.Iterator.hasNext:()Z
ifne 24
28: aload 0
getfield org.graalvm.compiler.phases.schedule.SchedulePhase$Instance.cfg:Lorg/graalvm/compiler/nodes/cfg/ControlFlowGraph;
invokevirtual org.graalvm.compiler.nodes.cfg.ControlFlowGraph.reversePostOrder:()[Lorg/graalvm/compiler/nodes/cfg/Block;
dup
astore 13
arraylength
istore 12
iconst_0
istore 11
goto 41
StackMap locals: org.graalvm.compiler.phases.schedule.SchedulePhase$Instance org.graalvm.compiler.core.common.cfg.BlockMap org.graalvm.compiler.graph.NodeMap org.graalvm.compiler.graph.NodeBitMap org.graalvm.compiler.nodes.StructuredGraph int org.graalvm.compiler.graph.NodeMap org.graalvm.compiler.graph.NodeStack org.graalvm.compiler.phases.schedule.SchedulePhase$Instance$MicroBlock int top int int org.graalvm.compiler.nodes.cfg.Block[]
StackMap stack:
29: aload 13
iload 11
aaload
astore 10
start local 10 30: aload 10
invokevirtual org.graalvm.compiler.nodes.cfg.Block.getBeginNode:()Lorg/graalvm/compiler/nodes/AbstractBeginNode;
astore 14
start local 14 31: StackMap locals: org.graalvm.compiler.phases.schedule.SchedulePhase$Instance org.graalvm.compiler.core.common.cfg.BlockMap org.graalvm.compiler.graph.NodeMap org.graalvm.compiler.graph.NodeBitMap org.graalvm.compiler.nodes.StructuredGraph int org.graalvm.compiler.graph.NodeMap org.graalvm.compiler.graph.NodeStack org.graalvm.compiler.phases.schedule.SchedulePhase$Instance$MicroBlock int org.graalvm.compiler.nodes.cfg.Block int int org.graalvm.compiler.nodes.cfg.Block[] org.graalvm.compiler.nodes.FixedNode
StackMap stack:
aload 14
invokevirtual org.graalvm.compiler.nodes.FixedNode.inputs:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.iterator:()Ljava/util/Iterator;
astore 16
goto 35
StackMap locals: org.graalvm.compiler.phases.schedule.SchedulePhase$Instance org.graalvm.compiler.core.common.cfg.BlockMap org.graalvm.compiler.graph.NodeMap org.graalvm.compiler.graph.NodeBitMap org.graalvm.compiler.nodes.StructuredGraph int org.graalvm.compiler.graph.NodeMap org.graalvm.compiler.graph.NodeStack org.graalvm.compiler.phases.schedule.SchedulePhase$Instance$MicroBlock int org.graalvm.compiler.nodes.cfg.Block int int org.graalvm.compiler.nodes.cfg.Block[] org.graalvm.compiler.nodes.FixedNode top java.util.Iterator
StackMap stack:
32: aload 16
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.graph.Node
astore 15
start local 15 33: aload 6
aload 15
invokevirtual org.graalvm.compiler.graph.NodeMap.get:(Lorg/graalvm/compiler/graph/Node;)Ljava/lang/Object;
ifnonnull 35
34: aload 15
aload 8
aload 6
aload 3
aload 7
invokestatic org.graalvm.compiler.phases.schedule.SchedulePhase$Instance.processStack:(Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/phases/schedule/SchedulePhase$Instance$MicroBlock;Lorg/graalvm/compiler/graph/NodeMap;Lorg/graalvm/compiler/graph/NodeBitMap;Lorg/graalvm/compiler/graph/NodeStack;)V
end local 15 35: StackMap locals:
StackMap stack:
aload 16
invokeinterface java.util.Iterator.hasNext:()Z
ifne 32
36: aload 14
aload 10
invokevirtual org.graalvm.compiler.nodes.cfg.Block.getEndNode:()Lorg/graalvm/compiler/nodes/FixedNode;
if_acmpne 38
37: goto 40
38: StackMap locals: org.graalvm.compiler.phases.schedule.SchedulePhase$Instance org.graalvm.compiler.core.common.cfg.BlockMap org.graalvm.compiler.graph.NodeMap org.graalvm.compiler.graph.NodeBitMap org.graalvm.compiler.nodes.StructuredGraph int org.graalvm.compiler.graph.NodeMap org.graalvm.compiler.graph.NodeStack org.graalvm.compiler.phases.schedule.SchedulePhase$Instance$MicroBlock int org.graalvm.compiler.nodes.cfg.Block int int org.graalvm.compiler.nodes.cfg.Block[] org.graalvm.compiler.nodes.FixedNode
StackMap stack:
aload 14
checkcast org.graalvm.compiler.nodes.FixedWithNextNode
invokevirtual org.graalvm.compiler.nodes.FixedWithNextNode.next:()Lorg/graalvm/compiler/nodes/FixedNode;
astore 14
39: goto 31
end local 14 end local 10 40: StackMap locals: org.graalvm.compiler.phases.schedule.SchedulePhase$Instance org.graalvm.compiler.core.common.cfg.BlockMap org.graalvm.compiler.graph.NodeMap org.graalvm.compiler.graph.NodeBitMap org.graalvm.compiler.nodes.StructuredGraph int org.graalvm.compiler.graph.NodeMap org.graalvm.compiler.graph.NodeStack org.graalvm.compiler.phases.schedule.SchedulePhase$Instance$MicroBlock int top int int org.graalvm.compiler.nodes.cfg.Block[]
StackMap stack:
iinc 11 1
StackMap locals:
StackMap stack:
41: iload 11
iload 12
if_icmplt 29
42: aload 3
invokevirtual org.graalvm.compiler.graph.NodeBitMap.getCounter:()I
aload 4
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getNodeCount:()I
if_icmpge 63
43: StackMap locals: org.graalvm.compiler.phases.schedule.SchedulePhase$Instance org.graalvm.compiler.core.common.cfg.BlockMap org.graalvm.compiler.graph.NodeMap org.graalvm.compiler.graph.NodeBitMap org.graalvm.compiler.nodes.StructuredGraph int org.graalvm.compiler.graph.NodeMap org.graalvm.compiler.graph.NodeStack org.graalvm.compiler.phases.schedule.SchedulePhase$Instance$MicroBlock int
StackMap stack:
iconst_0
istore 10
start local 10 44: iconst_0
istore 11
start local 11 45: aload 4
getstatic org.graalvm.compiler.nodes.LoopBeginNode.TYPE:Lorg/graalvm/compiler/graph/NodeClass;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getNodes:(Lorg/graalvm/compiler/graph/NodeClass;)Lorg/graalvm/compiler/graph/iterators/NodeIterable;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.iterator:()Ljava/util/Iterator;
astore 13
goto 61
StackMap locals: org.graalvm.compiler.phases.schedule.SchedulePhase$Instance org.graalvm.compiler.core.common.cfg.BlockMap org.graalvm.compiler.graph.NodeMap org.graalvm.compiler.graph.NodeBitMap org.graalvm.compiler.nodes.StructuredGraph int org.graalvm.compiler.graph.NodeMap org.graalvm.compiler.graph.NodeStack org.graalvm.compiler.phases.schedule.SchedulePhase$Instance$MicroBlock int int int top java.util.Iterator
StackMap stack:
46: aload 13
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.LoopBeginNode
astore 12
start local 12 47: aload 12
invokevirtual org.graalvm.compiler.nodes.LoopBeginNode.phis:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.iterator:()Ljava/util/Iterator;
astore 15
goto 60
StackMap locals: org.graalvm.compiler.phases.schedule.SchedulePhase$Instance org.graalvm.compiler.core.common.cfg.BlockMap org.graalvm.compiler.graph.NodeMap org.graalvm.compiler.graph.NodeBitMap org.graalvm.compiler.nodes.StructuredGraph int org.graalvm.compiler.graph.NodeMap org.graalvm.compiler.graph.NodeStack org.graalvm.compiler.phases.schedule.SchedulePhase$Instance$MicroBlock int int int org.graalvm.compiler.nodes.LoopBeginNode java.util.Iterator top java.util.Iterator
StackMap stack:
48: aload 15
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.PhiNode
astore 14
start local 14 49: aload 3
aload 14
invokevirtual org.graalvm.compiler.graph.NodeBitMap.isMarked:(Lorg/graalvm/compiler/graph/Node;)Z
ifeq 59
50: iconst_0
istore 16
start local 16 51: goto 57
52: StackMap locals: org.graalvm.compiler.phases.schedule.SchedulePhase$Instance org.graalvm.compiler.core.common.cfg.BlockMap org.graalvm.compiler.graph.NodeMap org.graalvm.compiler.graph.NodeBitMap org.graalvm.compiler.nodes.StructuredGraph int org.graalvm.compiler.graph.NodeMap org.graalvm.compiler.graph.NodeStack org.graalvm.compiler.phases.schedule.SchedulePhase$Instance$MicroBlock int int int org.graalvm.compiler.nodes.LoopBeginNode java.util.Iterator org.graalvm.compiler.nodes.PhiNode java.util.Iterator int
StackMap stack:
aload 14
iload 16
aload 12
invokevirtual org.graalvm.compiler.nodes.LoopBeginNode.forwardEndCount:()I
iadd
invokevirtual org.graalvm.compiler.nodes.PhiNode.valueAt:(I)Lorg/graalvm/compiler/nodes/ValueNode;
astore 17
start local 17 53: aload 17
ifnull 56
aload 6
aload 17
invokevirtual org.graalvm.compiler.graph.NodeMap.get:(Lorg/graalvm/compiler/graph/Node;)Ljava/lang/Object;
ifnonnull 56
54: iconst_1
istore 10
55: aload 17
aload 8
aload 6
aload 3
aload 7
invokestatic org.graalvm.compiler.phases.schedule.SchedulePhase$Instance.processStack:(Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/phases/schedule/SchedulePhase$Instance$MicroBlock;Lorg/graalvm/compiler/graph/NodeMap;Lorg/graalvm/compiler/graph/NodeBitMap;Lorg/graalvm/compiler/graph/NodeStack;)V
end local 17 56: StackMap locals:
StackMap stack:
iinc 16 1
StackMap locals:
StackMap stack:
57: iload 16
aload 12
invokevirtual org.graalvm.compiler.nodes.LoopBeginNode.getLoopEndCount:()I
if_icmplt 52
end local 16 58: goto 60
59: StackMap locals:
StackMap stack:
iconst_1
istore 11
end local 14 60: StackMap locals: org.graalvm.compiler.phases.schedule.SchedulePhase$Instance org.graalvm.compiler.core.common.cfg.BlockMap org.graalvm.compiler.graph.NodeMap org.graalvm.compiler.graph.NodeBitMap org.graalvm.compiler.nodes.StructuredGraph int org.graalvm.compiler.graph.NodeMap org.graalvm.compiler.graph.NodeStack org.graalvm.compiler.phases.schedule.SchedulePhase$Instance$MicroBlock int int int org.graalvm.compiler.nodes.LoopBeginNode java.util.Iterator top java.util.Iterator
StackMap stack:
aload 15
invokeinterface java.util.Iterator.hasNext:()Z
ifne 48
end local 12 61: StackMap locals: org.graalvm.compiler.phases.schedule.SchedulePhase$Instance org.graalvm.compiler.core.common.cfg.BlockMap org.graalvm.compiler.graph.NodeMap org.graalvm.compiler.graph.NodeBitMap org.graalvm.compiler.nodes.StructuredGraph int org.graalvm.compiler.graph.NodeMap org.graalvm.compiler.graph.NodeStack org.graalvm.compiler.phases.schedule.SchedulePhase$Instance$MicroBlock int int int top java.util.Iterator
StackMap stack:
aload 13
invokeinterface java.util.Iterator.hasNext:()Z
ifne 46
62: iload 11
ifeq 63
iload 10
ifne 43
end local 11 end local 10 63: StackMap locals: org.graalvm.compiler.phases.schedule.SchedulePhase$Instance org.graalvm.compiler.core.common.cfg.BlockMap org.graalvm.compiler.graph.NodeMap org.graalvm.compiler.graph.NodeBitMap org.graalvm.compiler.nodes.StructuredGraph int org.graalvm.compiler.graph.NodeMap org.graalvm.compiler.graph.NodeStack org.graalvm.compiler.phases.schedule.SchedulePhase$Instance$MicroBlock int
StackMap stack:
iload 5
ifne 70
aload 3
invokevirtual org.graalvm.compiler.graph.NodeBitMap.getCounter:()I
aload 4
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getNodeCount:()I
if_icmpge 70
64: aload 4
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 11
goto 69
StackMap locals: org.graalvm.compiler.phases.schedule.SchedulePhase$Instance org.graalvm.compiler.core.common.cfg.BlockMap org.graalvm.compiler.graph.NodeMap org.graalvm.compiler.graph.NodeBitMap org.graalvm.compiler.nodes.StructuredGraph int org.graalvm.compiler.graph.NodeMap org.graalvm.compiler.graph.NodeStack org.graalvm.compiler.phases.schedule.SchedulePhase$Instance$MicroBlock int top java.util.Iterator
StackMap stack:
65: aload 11
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.graph.Node
astore 10
start local 10 66: aload 3
aload 10
invokevirtual org.graalvm.compiler.graph.NodeBitMap.isMarked:(Lorg/graalvm/compiler/graph/Node;)Z
ifne 69
67: aload 10
invokevirtual org.graalvm.compiler.graph.Node.clearInputs:()V
68: aload 10
invokevirtual org.graalvm.compiler.graph.Node.markDeleted:()V
end local 10 69: StackMap locals:
StackMap stack:
aload 11
invokeinterface java.util.Iterator.hasNext:()Z
ifne 65
70: StackMap locals: org.graalvm.compiler.phases.schedule.SchedulePhase$Instance org.graalvm.compiler.core.common.cfg.BlockMap org.graalvm.compiler.graph.NodeMap org.graalvm.compiler.graph.NodeBitMap org.graalvm.compiler.nodes.StructuredGraph int org.graalvm.compiler.graph.NodeMap org.graalvm.compiler.graph.NodeStack org.graalvm.compiler.phases.schedule.SchedulePhase$Instance$MicroBlock int
StackMap stack:
aload 0
getfield org.graalvm.compiler.phases.schedule.SchedulePhase$Instance.cfg:Lorg/graalvm/compiler/nodes/cfg/ControlFlowGraph;
invokevirtual org.graalvm.compiler.nodes.cfg.ControlFlowGraph.reversePostOrder:()[Lorg/graalvm/compiler/nodes/cfg/Block;
dup
astore 13
arraylength
istore 12
iconst_0
istore 11
goto 79
StackMap locals: org.graalvm.compiler.phases.schedule.SchedulePhase$Instance org.graalvm.compiler.core.common.cfg.BlockMap org.graalvm.compiler.graph.NodeMap org.graalvm.compiler.graph.NodeBitMap org.graalvm.compiler.nodes.StructuredGraph int org.graalvm.compiler.graph.NodeMap org.graalvm.compiler.graph.NodeStack org.graalvm.compiler.phases.schedule.SchedulePhase$Instance$MicroBlock int top int int org.graalvm.compiler.nodes.cfg.Block[]
StackMap stack:
71: aload 13
iload 11
aaload
astore 10
start local 10 72: aload 10
invokevirtual org.graalvm.compiler.nodes.cfg.Block.getEndNode:()Lorg/graalvm/compiler/nodes/FixedNode;
astore 14
start local 14 73: aload 14
instanceof org.graalvm.compiler.nodes.ControlSplitNode
ifeq 78
74: aload 14
checkcast org.graalvm.compiler.nodes.ControlSplitNode
astore 15
start local 15 75: aload 6
aload 14
invokevirtual org.graalvm.compiler.graph.NodeMap.get:(Lorg/graalvm/compiler/graph/Node;)Ljava/lang/Object;
checkcast org.graalvm.compiler.phases.schedule.SchedulePhase$Instance$MicroBlock
astore 16
start local 16 76: aload 6
aload 15
invokevirtual org.graalvm.compiler.nodes.ControlSplitNode.getPrimarySuccessor:()Lorg/graalvm/compiler/nodes/AbstractBeginNode;
invokevirtual org.graalvm.compiler.graph.NodeMap.get:(Lorg/graalvm/compiler/graph/Node;)Ljava/lang/Object;
checkcast org.graalvm.compiler.phases.schedule.SchedulePhase$Instance$MicroBlock
astore 17
start local 17 77: aload 16
aload 17
invokevirtual org.graalvm.compiler.phases.schedule.SchedulePhase$Instance$MicroBlock.prependChildrenTo:(Lorg/graalvm/compiler/phases/schedule/SchedulePhase$Instance$MicroBlock;)V
end local 17 end local 16 end local 15 end local 14 end local 10 78: StackMap locals:
StackMap stack:
iinc 11 1
StackMap locals:
StackMap stack:
79: iload 11
iload 12
if_icmplt 71
80: aload 0
getfield org.graalvm.compiler.phases.schedule.SchedulePhase$Instance.cfg:Lorg/graalvm/compiler/nodes/cfg/ControlFlowGraph;
invokevirtual org.graalvm.compiler.nodes.cfg.ControlFlowGraph.reversePostOrder:()[Lorg/graalvm/compiler/nodes/cfg/Block;
dup
astore 13
arraylength
istore 12
iconst_0
istore 11
goto 108
StackMap locals:
StackMap stack:
81: aload 13
iload 11
aaload
astore 10
start local 10 82: aload 10
invokevirtual org.graalvm.compiler.nodes.cfg.Block.getBeginNode:()Lorg/graalvm/compiler/nodes/AbstractBeginNode;
astore 14
start local 14 83: iconst_0
istore 15
start local 15 84: StackMap locals: org.graalvm.compiler.phases.schedule.SchedulePhase$Instance org.graalvm.compiler.core.common.cfg.BlockMap org.graalvm.compiler.graph.NodeMap org.graalvm.compiler.graph.NodeBitMap org.graalvm.compiler.nodes.StructuredGraph int org.graalvm.compiler.graph.NodeMap org.graalvm.compiler.graph.NodeStack org.graalvm.compiler.phases.schedule.SchedulePhase$Instance$MicroBlock int org.graalvm.compiler.nodes.cfg.Block int int org.graalvm.compiler.nodes.cfg.Block[] org.graalvm.compiler.nodes.FixedNode int
StackMap stack:
aload 6
aload 14
invokevirtual org.graalvm.compiler.graph.NodeMap.get:(Lorg/graalvm/compiler/graph/Node;)Ljava/lang/Object;
checkcast org.graalvm.compiler.phases.schedule.SchedulePhase$Instance$MicroBlock
astore 16
start local 16 85: iload 15
aload 16
invokevirtual org.graalvm.compiler.phases.schedule.SchedulePhase$Instance$MicroBlock.getNodeCount:()I
iconst_1
iadd
iadd
istore 15
86: aload 14
aload 10
invokevirtual org.graalvm.compiler.nodes.cfg.Block.getEndNode:()Lorg/graalvm/compiler/nodes/FixedNode;
if_acmpne 88
87: goto 90
88: StackMap locals: org.graalvm.compiler.phases.schedule.SchedulePhase$Instance$MicroBlock
StackMap stack:
aload 14
checkcast org.graalvm.compiler.nodes.FixedWithNextNode
invokevirtual org.graalvm.compiler.nodes.FixedWithNextNode.next:()Lorg/graalvm/compiler/nodes/FixedNode;
astore 14
end local 16 89: goto 84
90: StackMap locals:
StackMap stack:
new java.util.ArrayList
dup
iload 15
invokespecial java.util.ArrayList.<init>:(I)V
astore 16
start local 16 91: aload 1
aload 10
aload 16
invokevirtual org.graalvm.compiler.core.common.cfg.BlockMap.put:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;Ljava/lang/Object;)V
92: aload 10
invokevirtual org.graalvm.compiler.nodes.cfg.Block.getBeginNode:()Lorg/graalvm/compiler/nodes/AbstractBeginNode;
astore 14
93: StackMap locals: java.util.ArrayList
StackMap stack:
aload 6
aload 14
invokevirtual org.graalvm.compiler.graph.NodeMap.get:(Lorg/graalvm/compiler/graph/Node;)Ljava/lang/Object;
checkcast org.graalvm.compiler.phases.schedule.SchedulePhase$Instance$MicroBlock
astore 17
start local 17 94: aload 2
aload 14
aload 10
invokevirtual org.graalvm.compiler.graph.NodeMap.set:(Lorg/graalvm/compiler/graph/Node;Ljava/lang/Object;)V
95: aload 16
aload 14
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
96: aload 17
invokevirtual org.graalvm.compiler.phases.schedule.SchedulePhase$Instance$MicroBlock.getFirstNode:()Lorg/graalvm/compiler/phases/schedule/SchedulePhase$Instance$NodeEntry;
astore 18
start local 18 97: goto 102
98: StackMap locals: org.graalvm.compiler.phases.schedule.SchedulePhase$Instance$MicroBlock org.graalvm.compiler.phases.schedule.SchedulePhase$Instance$NodeEntry
StackMap stack:
aload 18
invokevirtual org.graalvm.compiler.phases.schedule.SchedulePhase$Instance$NodeEntry.getNode:()Lorg/graalvm/compiler/graph/Node;
astore 19
start local 19 99: aload 2
aload 19
aload 10
invokevirtual org.graalvm.compiler.graph.NodeMap.set:(Lorg/graalvm/compiler/graph/Node;Ljava/lang/Object;)V
100: aload 16
aload 19
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
101: aload 18
invokevirtual org.graalvm.compiler.phases.schedule.SchedulePhase$Instance$NodeEntry.getNext:()Lorg/graalvm/compiler/phases/schedule/SchedulePhase$Instance$NodeEntry;
astore 18
end local 19 102: StackMap locals:
StackMap stack:
aload 18
ifnonnull 98
103: aload 14
aload 10
invokevirtual org.graalvm.compiler.nodes.cfg.Block.getEndNode:()Lorg/graalvm/compiler/nodes/FixedNode;
if_acmpne 105
104: goto 107
105: StackMap locals:
StackMap stack:
aload 14
checkcast org.graalvm.compiler.nodes.FixedWithNextNode
invokevirtual org.graalvm.compiler.nodes.FixedWithNextNode.next:()Lorg/graalvm/compiler/nodes/FixedNode;
astore 14
end local 18 end local 17 106: goto 93
end local 16 end local 15 end local 14 end local 10 107: StackMap locals: org.graalvm.compiler.phases.schedule.SchedulePhase$Instance org.graalvm.compiler.core.common.cfg.BlockMap org.graalvm.compiler.graph.NodeMap org.graalvm.compiler.graph.NodeBitMap org.graalvm.compiler.nodes.StructuredGraph int org.graalvm.compiler.graph.NodeMap org.graalvm.compiler.graph.NodeStack org.graalvm.compiler.phases.schedule.SchedulePhase$Instance$MicroBlock int top int int org.graalvm.compiler.nodes.cfg.Block[]
StackMap stack:
iinc 11 1
StackMap locals:
StackMap stack:
108: iload 11
iload 12
if_icmplt 81
109: getstatic org.graalvm.compiler.phases.schedule.SchedulePhase$Instance.$assertionsDisabled:Z
ifne 110
aload 0
getfield org.graalvm.compiler.phases.schedule.SchedulePhase$Instance.cfg:Lorg/graalvm/compiler/nodes/cfg/ControlFlowGraph;
getfield org.graalvm.compiler.nodes.cfg.ControlFlowGraph.graph:Lorg/graalvm/compiler/nodes/StructuredGraph;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getOptions:()Lorg/graalvm/compiler/options/OptionValues;
invokestatic org.graalvm.compiler.debug.Assertions.detailedAssertionsEnabled:(Lorg/graalvm/compiler/options/OptionValues;)Z
ifeq 110
aload 0
getfield org.graalvm.compiler.phases.schedule.SchedulePhase$Instance.cfg:Lorg/graalvm/compiler/nodes/cfg/ControlFlowGraph;
invokevirtual org.graalvm.compiler.nodes.cfg.ControlFlowGraph.getStartBlock:()Lorg/graalvm/compiler/nodes/cfg/Block;
aload 1
invokestatic org.graalvm.compiler.phases.schedule.MemoryScheduleVerification.check:(Lorg/graalvm/compiler/nodes/cfg/Block;Lorg/graalvm/compiler/core/common/cfg/BlockMap;)Z
ifne 110
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
110: StackMap locals: org.graalvm.compiler.phases.schedule.SchedulePhase$Instance org.graalvm.compiler.core.common.cfg.BlockMap org.graalvm.compiler.graph.NodeMap org.graalvm.compiler.graph.NodeBitMap org.graalvm.compiler.nodes.StructuredGraph int org.graalvm.compiler.graph.NodeMap org.graalvm.compiler.graph.NodeStack org.graalvm.compiler.phases.schedule.SchedulePhase$Instance$MicroBlock int
StackMap stack:
return
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 111 0 this Lorg/graalvm/compiler/phases/schedule/SchedulePhase$Instance;
0 111 1 blockToNodes Lorg/graalvm/compiler/core/common/cfg/BlockMap<Ljava/util/List<Lorg/graalvm/compiler/graph/Node;>;>;
0 111 2 nodeToBlock Lorg/graalvm/compiler/graph/NodeMap<Lorg/graalvm/compiler/nodes/cfg/Block;>;
0 111 3 visited Lorg/graalvm/compiler/graph/NodeBitMap;
0 111 4 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
0 111 5 immutableGraph Z
1 111 6 entries Lorg/graalvm/compiler/graph/NodeMap<Lorg/graalvm/compiler/phases/schedule/SchedulePhase$Instance$MicroBlock;>;
2 111 7 stack Lorg/graalvm/compiler/graph/NodeStack;
3 111 8 startBlock Lorg/graalvm/compiler/phases/schedule/SchedulePhase$Instance$MicroBlock;
4 111 9 nextId I
6 21 10 b Lorg/graalvm/compiler/nodes/cfg/Block;
7 21 14 current Lorg/graalvm/compiler/nodes/FixedNode;
8 20 15 microBlock Lorg/graalvm/compiler/phases/schedule/SchedulePhase$Instance$MicroBlock;
14 16 16 input Lorg/graalvm/compiler/graph/Node;
25 27 10 guardNode Lorg/graalvm/compiler/nodes/GuardNode;
30 40 10 b Lorg/graalvm/compiler/nodes/cfg/Block;
31 40 14 current Lorg/graalvm/compiler/nodes/FixedNode;
33 35 15 input Lorg/graalvm/compiler/graph/Node;
44 63 10 changed Z
45 63 11 unmarkedPhi Z
47 61 12 loopBegin Lorg/graalvm/compiler/nodes/LoopBeginNode;
49 60 14 phi Lorg/graalvm/compiler/nodes/PhiNode;
51 58 16 i I
53 56 17 node Lorg/graalvm/compiler/graph/Node;
66 69 10 n Lorg/graalvm/compiler/graph/Node;
72 78 10 b Lorg/graalvm/compiler/nodes/cfg/Block;
73 78 14 fixedNode Lorg/graalvm/compiler/nodes/FixedNode;
75 78 15 controlSplitNode Lorg/graalvm/compiler/nodes/ControlSplitNode;
76 78 16 endBlock Lorg/graalvm/compiler/phases/schedule/SchedulePhase$Instance$MicroBlock;
77 78 17 primarySuccessor Lorg/graalvm/compiler/phases/schedule/SchedulePhase$Instance$MicroBlock;
82 107 10 b Lorg/graalvm/compiler/nodes/cfg/Block;
83 107 14 current Lorg/graalvm/compiler/nodes/FixedNode;
84 107 15 totalCount I
85 89 16 microBlock Lorg/graalvm/compiler/phases/schedule/SchedulePhase$Instance$MicroBlock;
91 107 16 nodes Ljava/util/ArrayList<Lorg/graalvm/compiler/graph/Node;>;
94 106 17 microBlock Lorg/graalvm/compiler/phases/schedule/SchedulePhase$Instance$MicroBlock;
97 106 18 next Lorg/graalvm/compiler/phases/schedule/SchedulePhase$Instance$NodeEntry;
99 102 19 nextNode Lorg/graalvm/compiler/graph/Node;
Signature: (Lorg/graalvm/compiler/core/common/cfg/BlockMap<Ljava/util/List<Lorg/graalvm/compiler/graph/Node;>;>;Lorg/graalvm/compiler/graph/NodeMap<Lorg/graalvm/compiler/nodes/cfg/Block;>;Lorg/graalvm/compiler/graph/NodeBitMap;Lorg/graalvm/compiler/nodes/StructuredGraph;Z)V
MethodParameters:
Name Flags
blockToNodes
nodeToBlock
visited
graph
immutableGraph
private static void processStackPhi(org.graalvm.compiler.graph.NodeStack, org.graalvm.compiler.nodes.PhiNode, org.graalvm.compiler.graph.NodeMap<org.graalvm.compiler.phases.schedule.SchedulePhase$Instance$MicroBlock>, org.graalvm.compiler.graph.NodeBitMap);
descriptor: (Lorg/graalvm/compiler/graph/NodeStack;Lorg/graalvm/compiler/nodes/PhiNode;Lorg/graalvm/compiler/graph/NodeMap;Lorg/graalvm/compiler/graph/NodeBitMap;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokevirtual org.graalvm.compiler.graph.NodeStack.pop:()Lorg/graalvm/compiler/graph/Node;
pop
1: aload 3
aload 1
invokevirtual org.graalvm.compiler.graph.NodeBitMap.checkAndMarkInc:(Lorg/graalvm/compiler/graph/Node;)Z
ifeq 13
2: aload 2
aload 1
invokevirtual org.graalvm.compiler.nodes.PhiNode.merge:()Lorg/graalvm/compiler/nodes/AbstractMergeNode;
invokevirtual org.graalvm.compiler.graph.NodeMap.get:(Lorg/graalvm/compiler/graph/Node;)Ljava/lang/Object;
checkcast org.graalvm.compiler.phases.schedule.SchedulePhase$Instance$MicroBlock
astore 4
start local 4 3: getstatic org.graalvm.compiler.phases.schedule.SchedulePhase$Instance.$assertionsDisabled:Z
ifne 4
aload 4
ifnonnull 4
new java.lang.AssertionError
dup
aload 1
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
4: StackMap locals: org.graalvm.compiler.phases.schedule.SchedulePhase$Instance$MicroBlock
StackMap stack:
aload 2
aload 1
aload 4
invokevirtual org.graalvm.compiler.graph.NodeMap.set:(Lorg/graalvm/compiler/graph/Node;Ljava/lang/Object;)V
5: aload 1
invokevirtual org.graalvm.compiler.nodes.PhiNode.merge:()Lorg/graalvm/compiler/nodes/AbstractMergeNode;
astore 5
start local 5 6: iconst_0
istore 6
start local 6 7: goto 12
8: StackMap locals: org.graalvm.compiler.nodes.AbstractMergeNode int
StackMap stack:
aload 1
iload 6
invokevirtual org.graalvm.compiler.nodes.PhiNode.valueAt:(I)Lorg/graalvm/compiler/nodes/ValueNode;
astore 7
start local 7 9: aload 7
ifnull 11
aload 2
aload 7
invokevirtual org.graalvm.compiler.graph.NodeMap.get:(Lorg/graalvm/compiler/graph/Node;)Ljava/lang/Object;
ifnonnull 11
10: aload 0
aload 7
invokevirtual org.graalvm.compiler.graph.NodeStack.push:(Lorg/graalvm/compiler/graph/Node;)V
end local 7 11: StackMap locals:
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
12: iload 6
aload 5
invokevirtual org.graalvm.compiler.nodes.AbstractMergeNode.forwardEndCount:()I
if_icmplt 8
end local 6 end local 5 end local 4 13: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 stack Lorg/graalvm/compiler/graph/NodeStack;
0 14 1 phiNode Lorg/graalvm/compiler/nodes/PhiNode;
0 14 2 nodeToBlock Lorg/graalvm/compiler/graph/NodeMap<Lorg/graalvm/compiler/phases/schedule/SchedulePhase$Instance$MicroBlock;>;
0 14 3 visited Lorg/graalvm/compiler/graph/NodeBitMap;
3 13 4 mergeBlock Lorg/graalvm/compiler/phases/schedule/SchedulePhase$Instance$MicroBlock;
6 13 5 merge Lorg/graalvm/compiler/nodes/AbstractMergeNode;
7 13 6 i I
9 11 7 input Lorg/graalvm/compiler/graph/Node;
Signature: (Lorg/graalvm/compiler/graph/NodeStack;Lorg/graalvm/compiler/nodes/PhiNode;Lorg/graalvm/compiler/graph/NodeMap<Lorg/graalvm/compiler/phases/schedule/SchedulePhase$Instance$MicroBlock;>;Lorg/graalvm/compiler/graph/NodeBitMap;)V
MethodParameters:
Name Flags
stack
phiNode
nodeToBlock
visited
private static void processStackProxy(org.graalvm.compiler.graph.NodeStack, org.graalvm.compiler.nodes.ProxyNode, org.graalvm.compiler.graph.NodeMap<org.graalvm.compiler.phases.schedule.SchedulePhase$Instance$MicroBlock>, org.graalvm.compiler.graph.NodeBitMap);
descriptor: (Lorg/graalvm/compiler/graph/NodeStack;Lorg/graalvm/compiler/nodes/ProxyNode;Lorg/graalvm/compiler/graph/NodeMap;Lorg/graalvm/compiler/graph/NodeBitMap;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokevirtual org.graalvm.compiler.graph.NodeStack.pop:()Lorg/graalvm/compiler/graph/Node;
pop
1: aload 3
aload 1
invokevirtual org.graalvm.compiler.graph.NodeBitMap.checkAndMarkInc:(Lorg/graalvm/compiler/graph/Node;)Z
ifeq 6
2: aload 2
aload 1
aload 2
aload 1
invokevirtual org.graalvm.compiler.nodes.ProxyNode.proxyPoint:()Lorg/graalvm/compiler/nodes/LoopExitNode;
invokevirtual org.graalvm.compiler.graph.NodeMap.get:(Lorg/graalvm/compiler/graph/Node;)Ljava/lang/Object;
checkcast org.graalvm.compiler.phases.schedule.SchedulePhase$Instance$MicroBlock
invokevirtual org.graalvm.compiler.graph.NodeMap.set:(Lorg/graalvm/compiler/graph/Node;Ljava/lang/Object;)V
3: aload 1
invokevirtual org.graalvm.compiler.nodes.ProxyNode.value:()Lorg/graalvm/compiler/nodes/ValueNode;
astore 4
start local 4 4: aload 4
ifnull 6
aload 2
aload 4
invokevirtual org.graalvm.compiler.graph.NodeMap.get:(Lorg/graalvm/compiler/graph/Node;)Ljava/lang/Object;
ifnonnull 6
5: aload 0
aload 4
invokevirtual org.graalvm.compiler.graph.NodeStack.push:(Lorg/graalvm/compiler/graph/Node;)V
end local 4 6: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 stack Lorg/graalvm/compiler/graph/NodeStack;
0 7 1 proxyNode Lorg/graalvm/compiler/nodes/ProxyNode;
0 7 2 nodeToBlock Lorg/graalvm/compiler/graph/NodeMap<Lorg/graalvm/compiler/phases/schedule/SchedulePhase$Instance$MicroBlock;>;
0 7 3 visited Lorg/graalvm/compiler/graph/NodeBitMap;
4 6 4 input Lorg/graalvm/compiler/graph/Node;
Signature: (Lorg/graalvm/compiler/graph/NodeStack;Lorg/graalvm/compiler/nodes/ProxyNode;Lorg/graalvm/compiler/graph/NodeMap<Lorg/graalvm/compiler/phases/schedule/SchedulePhase$Instance$MicroBlock;>;Lorg/graalvm/compiler/graph/NodeBitMap;)V
MethodParameters:
Name Flags
stack
proxyNode
nodeToBlock
visited
private static void processStack(org.graalvm.compiler.graph.Node, org.graalvm.compiler.phases.schedule.SchedulePhase$Instance$MicroBlock, org.graalvm.compiler.graph.NodeMap<org.graalvm.compiler.phases.schedule.SchedulePhase$Instance$MicroBlock>, org.graalvm.compiler.graph.NodeBitMap, org.graalvm.compiler.graph.NodeStack);
descriptor: (Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/phases/schedule/SchedulePhase$Instance$MicroBlock;Lorg/graalvm/compiler/graph/NodeMap;Lorg/graalvm/compiler/graph/NodeBitMap;Lorg/graalvm/compiler/graph/NodeStack;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=8, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: getstatic org.graalvm.compiler.phases.schedule.SchedulePhase$Instance.$assertionsDisabled:Z
ifne 1
aload 4
invokevirtual org.graalvm.compiler.graph.NodeStack.isEmpty:()Z
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.phases.schedule.SchedulePhase$Instance.$assertionsDisabled:Z
ifne 2
aload 3
aload 0
invokevirtual org.graalvm.compiler.graph.NodeBitMap.isMarked:(Lorg/graalvm/compiler/graph/Node;)Z
ifeq 2
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
aload 4
aload 0
invokevirtual org.graalvm.compiler.graph.NodeStack.push:(Lorg/graalvm/compiler/graph/Node;)V
3: aload 0
astore 5
start local 5 4: StackMap locals: org.graalvm.compiler.graph.Node
StackMap stack:
aload 5
instanceof org.graalvm.compiler.nodes.PhiNode
ifeq 7
5: aload 4
aload 5
checkcast org.graalvm.compiler.nodes.PhiNode
aload 2
aload 3
invokestatic org.graalvm.compiler.phases.schedule.SchedulePhase$Instance.processStackPhi:(Lorg/graalvm/compiler/graph/NodeStack;Lorg/graalvm/compiler/nodes/PhiNode;Lorg/graalvm/compiler/graph/NodeMap;Lorg/graalvm/compiler/graph/NodeBitMap;)V
6: goto 20
StackMap locals:
StackMap stack:
7: aload 5
instanceof org.graalvm.compiler.nodes.ProxyNode
ifeq 10
8: aload 4
aload 5
checkcast org.graalvm.compiler.nodes.ProxyNode
aload 2
aload 3
invokestatic org.graalvm.compiler.phases.schedule.SchedulePhase$Instance.processStackProxy:(Lorg/graalvm/compiler/graph/NodeStack;Lorg/graalvm/compiler/nodes/ProxyNode;Lorg/graalvm/compiler/graph/NodeMap;Lorg/graalvm/compiler/graph/NodeBitMap;)V
9: goto 20
10: StackMap locals:
StackMap stack:
aload 2
aload 5
invokevirtual org.graalvm.compiler.graph.NodeMap.get:(Lorg/graalvm/compiler/graph/Node;)Ljava/lang/Object;
checkcast org.graalvm.compiler.phases.schedule.SchedulePhase$Instance$MicroBlock
astore 6
start local 6 11: aload 6
ifnonnull 19
12: aload 2
aload 4
aload 1
aload 5
invokestatic org.graalvm.compiler.phases.schedule.SchedulePhase$Instance.processInputs:(Lorg/graalvm/compiler/graph/NodeMap;Lorg/graalvm/compiler/graph/NodeStack;Lorg/graalvm/compiler/phases/schedule/SchedulePhase$Instance$MicroBlock;Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/phases/schedule/SchedulePhase$Instance$MicroBlock;
astore 7
start local 7 13: aload 7
ifnull 20
14: aload 4
invokevirtual org.graalvm.compiler.graph.NodeStack.pop:()Lorg/graalvm/compiler/graph/Node;
pop
15: aload 3
aload 5
invokevirtual org.graalvm.compiler.graph.NodeBitMap.checkAndMarkInc:(Lorg/graalvm/compiler/graph/Node;)Z
pop
16: aload 2
aload 5
aload 7
invokevirtual org.graalvm.compiler.graph.NodeMap.set:(Lorg/graalvm/compiler/graph/Node;Ljava/lang/Object;)V
17: aload 7
aload 5
invokevirtual org.graalvm.compiler.phases.schedule.SchedulePhase$Instance$MicroBlock.add:(Lorg/graalvm/compiler/graph/Node;)V
end local 7 18: goto 20
19: StackMap locals: org.graalvm.compiler.phases.schedule.SchedulePhase$Instance$MicroBlock
StackMap stack:
aload 4
invokevirtual org.graalvm.compiler.graph.NodeStack.pop:()Lorg/graalvm/compiler/graph/Node;
pop
end local 6 20: StackMap locals:
StackMap stack:
aload 4
invokevirtual org.graalvm.compiler.graph.NodeStack.isEmpty:()Z
ifeq 22
21: goto 24
22: StackMap locals:
StackMap stack:
aload 4
invokevirtual org.graalvm.compiler.graph.NodeStack.peek:()Lorg/graalvm/compiler/graph/Node;
astore 5
23: goto 4
24: StackMap locals:
StackMap stack:
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 25 0 first Lorg/graalvm/compiler/graph/Node;
0 25 1 startBlock Lorg/graalvm/compiler/phases/schedule/SchedulePhase$Instance$MicroBlock;
0 25 2 nodeToMicroBlock Lorg/graalvm/compiler/graph/NodeMap<Lorg/graalvm/compiler/phases/schedule/SchedulePhase$Instance$MicroBlock;>;
0 25 3 visited Lorg/graalvm/compiler/graph/NodeBitMap;
0 25 4 stack Lorg/graalvm/compiler/graph/NodeStack;
4 25 5 current Lorg/graalvm/compiler/graph/Node;
11 20 6 currentBlock Lorg/graalvm/compiler/phases/schedule/SchedulePhase$Instance$MicroBlock;
13 18 7 earliestBlock Lorg/graalvm/compiler/phases/schedule/SchedulePhase$Instance$MicroBlock;
Signature: (Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/phases/schedule/SchedulePhase$Instance$MicroBlock;Lorg/graalvm/compiler/graph/NodeMap<Lorg/graalvm/compiler/phases/schedule/SchedulePhase$Instance$MicroBlock;>;Lorg/graalvm/compiler/graph/NodeBitMap;Lorg/graalvm/compiler/graph/NodeStack;)V
MethodParameters:
Name Flags
first
startBlock
nodeToMicroBlock
visited
stack
private static org.graalvm.compiler.phases.schedule.SchedulePhase$Instance$MicroBlock processInputs(org.graalvm.compiler.graph.NodeMap<org.graalvm.compiler.phases.schedule.SchedulePhase$Instance$MicroBlock>, org.graalvm.compiler.graph.NodeStack, org.graalvm.compiler.phases.schedule.SchedulePhase$Instance$MicroBlock, org.graalvm.compiler.graph.Node);
descriptor: (Lorg/graalvm/compiler/graph/NodeMap;Lorg/graalvm/compiler/graph/NodeStack;Lorg/graalvm/compiler/phases/schedule/SchedulePhase$Instance$MicroBlock;Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/phases/schedule/SchedulePhase$Instance$MicroBlock;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=8, 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.isLeafNode:()Z
ifeq 2
1: aload 2
areturn
2: StackMap locals:
StackMap stack:
aload 2
astore 4
start local 4 3: aload 3
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 6
goto 12
StackMap locals: org.graalvm.compiler.graph.NodeMap org.graalvm.compiler.graph.NodeStack org.graalvm.compiler.phases.schedule.SchedulePhase$Instance$MicroBlock org.graalvm.compiler.graph.Node org.graalvm.compiler.phases.schedule.SchedulePhase$Instance$MicroBlock top java.util.Iterator
StackMap stack:
4: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.graph.Node
astore 5
start local 5 5: aload 0
aload 5
invokevirtual org.graalvm.compiler.graph.NodeMap.get:(Lorg/graalvm/compiler/graph/Node;)Ljava/lang/Object;
checkcast org.graalvm.compiler.phases.schedule.SchedulePhase$Instance$MicroBlock
astore 7
start local 7 6: aload 7
ifnonnull 10
7: aconst_null
astore 4
8: aload 1
aload 5
invokevirtual org.graalvm.compiler.graph.NodeStack.push:(Lorg/graalvm/compiler/graph/Node;)V
9: goto 12
StackMap locals: org.graalvm.compiler.graph.NodeMap org.graalvm.compiler.graph.NodeStack org.graalvm.compiler.phases.schedule.SchedulePhase$Instance$MicroBlock org.graalvm.compiler.graph.Node org.graalvm.compiler.phases.schedule.SchedulePhase$Instance$MicroBlock org.graalvm.compiler.graph.Node java.util.Iterator org.graalvm.compiler.phases.schedule.SchedulePhase$Instance$MicroBlock
StackMap stack:
10: aload 4
ifnull 12
aload 7
invokevirtual org.graalvm.compiler.phases.schedule.SchedulePhase$Instance$MicroBlock.getId:()I
aload 4
invokevirtual org.graalvm.compiler.phases.schedule.SchedulePhase$Instance$MicroBlock.getId:()I
if_icmplt 12
11: aload 7
astore 4
end local 7 end local 5 12: StackMap locals: org.graalvm.compiler.graph.NodeMap org.graalvm.compiler.graph.NodeStack org.graalvm.compiler.phases.schedule.SchedulePhase$Instance$MicroBlock org.graalvm.compiler.graph.Node org.graalvm.compiler.phases.schedule.SchedulePhase$Instance$MicroBlock top java.util.Iterator
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 4
13: 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 14 0 nodeToBlock Lorg/graalvm/compiler/graph/NodeMap<Lorg/graalvm/compiler/phases/schedule/SchedulePhase$Instance$MicroBlock;>;
0 14 1 stack Lorg/graalvm/compiler/graph/NodeStack;
0 14 2 startBlock Lorg/graalvm/compiler/phases/schedule/SchedulePhase$Instance$MicroBlock;
0 14 3 current Lorg/graalvm/compiler/graph/Node;
3 14 4 earliestBlock Lorg/graalvm/compiler/phases/schedule/SchedulePhase$Instance$MicroBlock;
5 12 5 input Lorg/graalvm/compiler/graph/Node;
6 12 7 inputBlock Lorg/graalvm/compiler/phases/schedule/SchedulePhase$Instance$MicroBlock;
Signature: (Lorg/graalvm/compiler/graph/NodeMap<Lorg/graalvm/compiler/phases/schedule/SchedulePhase$Instance$MicroBlock;>;Lorg/graalvm/compiler/graph/NodeStack;Lorg/graalvm/compiler/phases/schedule/SchedulePhase$Instance$MicroBlock;Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/phases/schedule/SchedulePhase$Instance$MicroBlock;
MethodParameters:
Name Flags
nodeToBlock
stack
startBlock
current
private static boolean isFixedEnd(org.graalvm.compiler.nodes.FixedNode);
descriptor: (Lorg/graalvm/compiler/nodes/FixedNode;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
instanceof org.graalvm.compiler.nodes.ControlSplitNode
ifne 1
aload 0
instanceof org.graalvm.compiler.nodes.ControlSinkNode
ifne 1
aload 0
instanceof org.graalvm.compiler.nodes.AbstractEndNode
ifne 1
iconst_0
ireturn
StackMap locals:
StackMap stack:
1: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 endNode Lorg/graalvm/compiler/nodes/FixedNode;
MethodParameters:
Name Flags
endNode
public java.lang.String printScheduleHelper(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=9, args_size=2
start local 0 start local 1 0: new java.util.Formatter
dup
invokespecial java.util.Formatter.<init>:()V
astore 2
start local 2 1: aload 2
ldc "=== %s / %s ===%n"
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 0
invokevirtual org.graalvm.compiler.phases.schedule.SchedulePhase$Instance.getCFG:()Lorg/graalvm/compiler/nodes/cfg/ControlFlowGraph;
invokevirtual org.graalvm.compiler.nodes.cfg.ControlFlowGraph.getStartBlock:()Lorg/graalvm/compiler/nodes/cfg/Block;
invokevirtual org.graalvm.compiler.nodes.cfg.Block.getBeginNode:()Lorg/graalvm/compiler/nodes/AbstractBeginNode;
invokevirtual org.graalvm.compiler.nodes.AbstractBeginNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
aastore
dup
iconst_1
aload 1
aastore
invokevirtual java.util.Formatter.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/util/Formatter;
pop
2: aload 0
invokevirtual org.graalvm.compiler.phases.schedule.SchedulePhase$Instance.getCFG:()Lorg/graalvm/compiler/nodes/cfg/ControlFlowGraph;
invokevirtual org.graalvm.compiler.nodes.cfg.ControlFlowGraph.getBlocks:()[Lorg/graalvm/compiler/nodes/cfg/Block;
dup
astore 6
arraylength
istore 5
iconst_0
istore 4
goto 19
StackMap locals: org.graalvm.compiler.phases.schedule.SchedulePhase$Instance java.lang.String java.util.Formatter top int int org.graalvm.compiler.nodes.cfg.Block[]
StackMap stack:
3: aload 6
iload 4
aaload
astore 3
start local 3 4: aload 2
ldc "==== b: %s (loopDepth: %s). "
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 3
aastore
dup
iconst_1
aload 3
invokevirtual org.graalvm.compiler.nodes.cfg.Block.getLoopDepth:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokevirtual java.util.Formatter.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/util/Formatter;
pop
5: aload 2
ldc "dom: %s. "
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 3
invokevirtual org.graalvm.compiler.nodes.cfg.Block.getDominator:()Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
aastore
invokevirtual java.util.Formatter.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/util/Formatter;
pop
6: aload 2
ldc "preds: %s. "
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 3
invokevirtual org.graalvm.compiler.nodes.cfg.Block.getPredecessors:()[Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
invokestatic java.util.Arrays.toString:([Ljava/lang/Object;)Ljava/lang/String;
aastore
invokevirtual java.util.Formatter.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/util/Formatter;
pop
7: aload 2
ldc "succs: %s ====%n"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 3
invokevirtual org.graalvm.compiler.nodes.cfg.Block.getSuccessors:()[Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
invokestatic java.util.Arrays.toString:([Ljava/lang/Object;)Ljava/lang/String;
aastore
invokevirtual java.util.Formatter.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/util/Formatter;
pop
8: aload 0
getfield org.graalvm.compiler.phases.schedule.SchedulePhase$Instance.blockToNodesMap:Lorg/graalvm/compiler/core/common/cfg/BlockMap;
aload 3
invokevirtual org.graalvm.compiler.core.common.cfg.BlockMap.get:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)Ljava/lang/Object;
ifnull 14
9: aload 0
aload 3
invokevirtual org.graalvm.compiler.phases.schedule.SchedulePhase$Instance.nodesFor:(Lorg/graalvm/compiler/nodes/cfg/Block;)Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 8
goto 12
StackMap locals: org.graalvm.compiler.phases.schedule.SchedulePhase$Instance java.lang.String java.util.Formatter org.graalvm.compiler.nodes.cfg.Block int int org.graalvm.compiler.nodes.cfg.Block[] top java.util.Iterator
StackMap stack:
10: aload 8
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.graph.Node
astore 7
start local 7 11: aload 7
invokestatic org.graalvm.compiler.phases.schedule.SchedulePhase$Instance.printNode:(Lorg/graalvm/compiler/graph/Node;)V
end local 7 12: StackMap locals:
StackMap stack:
aload 8
invokeinterface java.util.Iterator.hasNext:()Z
ifne 10
13: goto 18
14: StackMap locals: org.graalvm.compiler.phases.schedule.SchedulePhase$Instance java.lang.String java.util.Formatter org.graalvm.compiler.nodes.cfg.Block int int org.graalvm.compiler.nodes.cfg.Block[]
StackMap stack:
aload 3
invokevirtual org.graalvm.compiler.nodes.cfg.Block.getNodes:()Ljava/lang/Iterable;
invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
astore 8
goto 17
StackMap locals: org.graalvm.compiler.phases.schedule.SchedulePhase$Instance java.lang.String java.util.Formatter org.graalvm.compiler.nodes.cfg.Block int int org.graalvm.compiler.nodes.cfg.Block[] top java.util.Iterator
StackMap stack:
15: aload 8
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.graph.Node
astore 7
start local 7 16: aload 7
invokestatic org.graalvm.compiler.phases.schedule.SchedulePhase$Instance.printNode:(Lorg/graalvm/compiler/graph/Node;)V
end local 7 17: StackMap locals:
StackMap stack:
aload 8
invokeinterface java.util.Iterator.hasNext:()Z
ifne 15
end local 3 18: StackMap locals: org.graalvm.compiler.phases.schedule.SchedulePhase$Instance java.lang.String java.util.Formatter top int int org.graalvm.compiler.nodes.cfg.Block[]
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
19: iload 4
iload 5
if_icmplt 3
20: aload 2
ldc "%n"
iconst_0
anewarray java.lang.Object
invokevirtual java.util.Formatter.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/util/Formatter;
pop
21: aload 2
invokevirtual java.util.Formatter.toString:()Ljava/lang/String;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 this Lorg/graalvm/compiler/phases/schedule/SchedulePhase$Instance;
0 22 1 desc Ljava/lang/String;
1 22 2 buf Ljava/util/Formatter;
4 18 3 b Lorg/graalvm/compiler/nodes/cfg/Block;
11 12 7 n Lorg/graalvm/compiler/graph/Node;
16 17 7 n Lorg/graalvm/compiler/graph/Node;
MethodParameters:
Name Flags
desc
private static void printNode(org.graalvm.compiler.graph.Node);
descriptor: (Lorg/graalvm/compiler/graph/Node;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=6, args_size=1
start local 0 0: new java.util.Formatter
dup
invokespecial java.util.Formatter.<init>:()V
astore 1
start local 1 1: aload 1
ldc "%s"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 0
aastore
invokevirtual java.util.Formatter.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/util/Formatter;
pop
2: aload 0
instanceof org.graalvm.compiler.nodes.memory.MemoryCheckpoint$Single
ifeq 5
3: aload 1
ldc " // kills %s"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 0
checkcast org.graalvm.compiler.nodes.memory.MemoryCheckpoint$Single
invokeinterface org.graalvm.compiler.nodes.memory.MemoryCheckpoint$Single.getLocationIdentity:()Lorg/graalvm/word/LocationIdentity;
aastore
invokevirtual java.util.Formatter.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/util/Formatter;
pop
4: goto 21
StackMap locals: java.util.Formatter
StackMap stack:
5: aload 0
instanceof org.graalvm.compiler.nodes.memory.MemoryCheckpoint$Multi
ifeq 13
6: aload 1
ldc " // kills "
iconst_0
anewarray java.lang.Object
invokevirtual java.util.Formatter.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/util/Formatter;
pop
7: aload 0
checkcast org.graalvm.compiler.nodes.memory.MemoryCheckpoint$Multi
invokeinterface org.graalvm.compiler.nodes.memory.MemoryCheckpoint$Multi.getLocationIdentities:()[Lorg/graalvm/word/LocationIdentity;
dup
astore 5
arraylength
istore 4
iconst_0
istore 3
goto 11
StackMap locals: org.graalvm.compiler.graph.Node java.util.Formatter top int int org.graalvm.word.LocationIdentity[]
StackMap stack:
8: aload 5
iload 3
aaload
astore 2
start local 2 9: aload 1
ldc "%s, "
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 2
aastore
invokevirtual java.util.Formatter.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/util/Formatter;
pop
end local 2 10: iinc 3 1
StackMap locals:
StackMap stack:
11: iload 3
iload 4
if_icmplt 8
12: goto 21
StackMap locals: org.graalvm.compiler.graph.Node java.util.Formatter
StackMap stack:
13: aload 0
instanceof org.graalvm.compiler.nodes.memory.FloatingReadNode
ifeq 19
14: aload 0
checkcast org.graalvm.compiler.nodes.memory.FloatingReadNode
astore 2
start local 2 15: aload 1
ldc " // from %s"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 2
invokevirtual org.graalvm.compiler.nodes.memory.FloatingReadNode.getLocationIdentity:()Lorg/graalvm/word/LocationIdentity;
aastore
invokevirtual java.util.Formatter.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/util/Formatter;
pop
16: aload 1
ldc ", lastAccess: %s"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 2
invokevirtual org.graalvm.compiler.nodes.memory.FloatingReadNode.getLastLocationAccess:()Lorg/graalvm/compiler/nodes/memory/MemoryNode;
aastore
invokevirtual java.util.Formatter.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/util/Formatter;
pop
17: aload 1
ldc ", address: %s"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 2
invokevirtual org.graalvm.compiler.nodes.memory.FloatingReadNode.getAddress:()Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
aastore
invokevirtual java.util.Formatter.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/util/Formatter;
pop
end local 2 18: goto 21
StackMap locals:
StackMap stack:
19: aload 0
instanceof org.graalvm.compiler.nodes.GuardNode
ifeq 21
20: aload 1
ldc ", anchor: %s"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 0
checkcast org.graalvm.compiler.nodes.GuardNode
invokevirtual org.graalvm.compiler.nodes.GuardNode.getAnchor:()Lorg/graalvm/compiler/nodes/extended/AnchoringNode;
aastore
invokevirtual java.util.Formatter.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/util/Formatter;
pop
21: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.graalvm.compiler.graph.Node.getDebug:()Lorg/graalvm/compiler/debug/DebugContext;
ldc "%s"
aload 1
invokevirtual org.graalvm.compiler.debug.DebugContext.log:(Ljava/lang/String;Ljava/lang/Object;)V
22: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 n Lorg/graalvm/compiler/graph/Node;
1 23 1 buf Ljava/util/Formatter;
9 10 2 locid Lorg/graalvm/word/LocationIdentity;
15 18 2 frn Lorg/graalvm/compiler/nodes/memory/FloatingReadNode;
MethodParameters:
Name Flags
n
public org.graalvm.compiler.nodes.cfg.ControlFlowGraph getCFG();
descriptor: ()Lorg/graalvm/compiler/nodes/cfg/ControlFlowGraph;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.graalvm.compiler.phases.schedule.SchedulePhase$Instance.cfg:Lorg/graalvm/compiler/nodes/cfg/ControlFlowGraph;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/phases/schedule/SchedulePhase$Instance;
public java.util.List<org.graalvm.compiler.graph.Node> nodesFor(org.graalvm.compiler.nodes.cfg.Block);
descriptor: (Lorg/graalvm/compiler/nodes/cfg/Block;)Ljava/util/List;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.graalvm.compiler.phases.schedule.SchedulePhase$Instance.blockToNodesMap:Lorg/graalvm/compiler/core/common/cfg/BlockMap;
aload 1
invokevirtual org.graalvm.compiler.core.common.cfg.BlockMap.get:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)Ljava/lang/Object;
checkcast java.util.List
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/phases/schedule/SchedulePhase$Instance;
0 1 1 block Lorg/graalvm/compiler/nodes/cfg/Block;
Signature: (Lorg/graalvm/compiler/nodes/cfg/Block;)Ljava/util/List<Lorg/graalvm/compiler/graph/Node;>;
MethodParameters:
Name Flags
block
}
SourceFile: "SchedulePhase.java"
NestHost: org.graalvm.compiler.phases.schedule.SchedulePhase
InnerClasses:
public final GuardsStage = org.graalvm.compiler.nodes.StructuredGraph$GuardsStage of org.graalvm.compiler.nodes.StructuredGraph
public ScheduleResult = org.graalvm.compiler.nodes.StructuredGraph$ScheduleResult of org.graalvm.compiler.nodes.StructuredGraph
public abstract Multi = org.graalvm.compiler.nodes.memory.MemoryCheckpoint$Multi of org.graalvm.compiler.nodes.memory.MemoryCheckpoint
public abstract Single = org.graalvm.compiler.nodes.memory.MemoryCheckpoint$Single of org.graalvm.compiler.nodes.memory.MemoryCheckpoint
public Instance = org.graalvm.compiler.phases.schedule.SchedulePhase$Instance of org.graalvm.compiler.phases.schedule.SchedulePhase
private MicroBlock = org.graalvm.compiler.phases.schedule.SchedulePhase$Instance$MicroBlock of org.graalvm.compiler.phases.schedule.SchedulePhase$Instance
private NodeEntry = org.graalvm.compiler.phases.schedule.SchedulePhase$Instance$NodeEntry of org.graalvm.compiler.phases.schedule.SchedulePhase$Instance
public final SchedulingStrategy = org.graalvm.compiler.phases.schedule.SchedulePhase$SchedulingStrategy of org.graalvm.compiler.phases.schedule.SchedulePhase