public class org.graalvm.compiler.phases.common.FloatingReadPhase$FloatingReadClosure extends org.graalvm.compiler.phases.graph.ReentrantNodeIterator$NodeIteratorClosure<org.graalvm.compiler.phases.common.FloatingReadPhase$MemoryMapImpl>
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.graalvm.compiler.phases.common.FloatingReadPhase$FloatingReadClosure
super_class: org.graalvm.compiler.phases.graph.ReentrantNodeIterator$NodeIteratorClosure
{
private final jdk.internal.vm.compiler.collections.EconomicMap<org.graalvm.compiler.nodes.LoopBeginNode, jdk.internal.vm.compiler.collections.EconomicSet<jdk.internal.vm.compiler.word.LocationIdentity>> modifiedInLoops;
descriptor: Ljdk/internal/vm/compiler/collections/EconomicMap;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljdk/internal/vm/compiler/collections/EconomicMap<Lorg/graalvm/compiler/nodes/LoopBeginNode;Ljdk/internal/vm/compiler/collections/EconomicSet<Ljdk/internal/vm/compiler/word/LocationIdentity;>;>;
private boolean createFloatingReads;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean createMemoryMapNodes;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
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/common/FloatingReadPhase;
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.common.FloatingReadPhase$FloatingReadClosure.$assertionsDisabled:Z
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(jdk.internal.vm.compiler.collections.EconomicMap<org.graalvm.compiler.nodes.LoopBeginNode, jdk.internal.vm.compiler.collections.EconomicSet<jdk.internal.vm.compiler.word.LocationIdentity>>, boolean, );
descriptor: (Ljdk/internal/vm/compiler/collections/EconomicMap;ZZ)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokespecial org.graalvm.compiler.phases.graph.ReentrantNodeIterator$NodeIteratorClosure.<init>:()V
1: aload 0
aload 1
putfield org.graalvm.compiler.phases.common.FloatingReadPhase$FloatingReadClosure.modifiedInLoops:Ljdk/internal/vm/compiler/collections/EconomicMap;
2: aload 0
iload 2
putfield org.graalvm.compiler.phases.common.FloatingReadPhase$FloatingReadClosure.createFloatingReads:Z
3: aload 0
iload 3
putfield org.graalvm.compiler.phases.common.FloatingReadPhase$FloatingReadClosure.createMemoryMapNodes:Z
4: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/graalvm/compiler/phases/common/FloatingReadPhase$FloatingReadClosure;
0 5 1 modifiedInLoops Ljdk/internal/vm/compiler/collections/EconomicMap<Lorg/graalvm/compiler/nodes/LoopBeginNode;Ljdk/internal/vm/compiler/collections/EconomicSet<Ljdk/internal/vm/compiler/word/LocationIdentity;>;>;
0 5 2 createFloatingReads Z
0 5 3 createMemoryMapNodes Z
Signature: (Ljdk/internal/vm/compiler/collections/EconomicMap<Lorg/graalvm/compiler/nodes/LoopBeginNode;Ljdk/internal/vm/compiler/collections/EconomicSet<Ljdk/internal/vm/compiler/word/LocationIdentity;>;>;ZZ)V
MethodParameters:
Name Flags
modifiedInLoops
createFloatingReads
createMemoryMapNodes
protected org.graalvm.compiler.phases.common.FloatingReadPhase$MemoryMapImpl processNode(org.graalvm.compiler.nodes.FixedNode, org.graalvm.compiler.phases.common.FloatingReadPhase$MemoryMapImpl);
descriptor: (Lorg/graalvm/compiler/nodes/FixedNode;Lorg/graalvm/compiler/phases/common/FloatingReadPhase$MemoryMapImpl;)Lorg/graalvm/compiler/phases/common/FloatingReadPhase$MemoryMapImpl;
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 1
instanceof org.graalvm.compiler.nodes.LoopExitNode
ifeq 5
1: aload 1
checkcast org.graalvm.compiler.nodes.LoopExitNode
astore 3
start local 3 2: aload 0
getfield org.graalvm.compiler.phases.common.FloatingReadPhase$FloatingReadClosure.modifiedInLoops:Ljdk/internal/vm/compiler/collections/EconomicMap;
aload 3
invokevirtual org.graalvm.compiler.nodes.LoopExitNode.loopBegin:()Lorg/graalvm/compiler/nodes/LoopBeginNode;
invokeinterface jdk.internal.vm.compiler.collections.EconomicMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast jdk.internal.vm.compiler.collections.EconomicSet
astore 4
start local 4 3: aload 4
invokestatic jdk.internal.vm.compiler.word.LocationIdentity.any:()Ljdk/internal/vm/compiler/word/LocationIdentity;
invokeinterface jdk.internal.vm.compiler.collections.EconomicSet.contains:(Ljava/lang/Object;)Z
istore 5
start local 5 4: aload 2
invokevirtual org.graalvm.compiler.phases.common.FloatingReadPhase$MemoryMapImpl.getMap:()Ljdk/internal/vm/compiler/collections/EconomicMap;
iload 5
aload 4
aload 3
invokedynamic apply(ZLjdk/internal/vm/compiler/collections/EconomicSet;Lorg/graalvm/compiler/nodes/LoopExitNode;)Ljava/util/function/BiFunction;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
org/graalvm/compiler/phases/common/FloatingReadPhase$FloatingReadClosure.lambda$0(ZLjdk/internal/vm/compiler/collections/EconomicSet;Lorg/graalvm/compiler/nodes/LoopExitNode;Ljdk/internal/vm/compiler/word/LocationIdentity;Lorg/graalvm/compiler/nodes/memory/MemoryKill;)Lorg/graalvm/compiler/nodes/memory/MemoryKill; (6)
(Ljdk/internal/vm/compiler/word/LocationIdentity;Lorg/graalvm/compiler/nodes/memory/MemoryKill;)Lorg/graalvm/compiler/nodes/memory/MemoryKill;
invokeinterface jdk.internal.vm.compiler.collections.EconomicMap.replaceAll:(Ljava/util/function/BiFunction;)V
end local 5 end local 4 end local 3 5: StackMap locals:
StackMap stack:
aload 1
instanceof org.graalvm.compiler.nodes.memory.MemoryAnchorNode
ifeq 8
6: aload 1
checkcast org.graalvm.compiler.nodes.memory.MemoryAnchorNode
aload 2
invokestatic org.graalvm.compiler.phases.common.FloatingReadPhase$FloatingReadClosure.processAnchor:(Lorg/graalvm/compiler/nodes/memory/MemoryAnchorNode;Lorg/graalvm/compiler/phases/common/FloatingReadPhase$MemoryMapImpl;)V
7: aload 2
areturn
8: StackMap locals:
StackMap stack:
aload 1
instanceof org.graalvm.compiler.nodes.memory.MemoryAccess
ifeq 10
9: aload 1
checkcast org.graalvm.compiler.nodes.memory.MemoryAccess
aload 2
invokestatic org.graalvm.compiler.phases.common.FloatingReadPhase$FloatingReadClosure.processAccess:(Lorg/graalvm/compiler/nodes/memory/MemoryAccess;Lorg/graalvm/compiler/phases/common/FloatingReadPhase$MemoryMapImpl;)V
10: StackMap locals:
StackMap stack:
aload 0
getfield org.graalvm.compiler.phases.common.FloatingReadPhase$FloatingReadClosure.createFloatingReads:Z
ifeq 12
aload 1
instanceof org.graalvm.compiler.nodes.memory.FloatableAccessNode
ifeq 12
11: aload 1
checkcast org.graalvm.compiler.nodes.memory.FloatableAccessNode
aload 2
invokestatic org.graalvm.compiler.phases.common.FloatingReadPhase$FloatingReadClosure.processFloatable:(Lorg/graalvm/compiler/nodes/memory/FloatableAccessNode;Lorg/graalvm/compiler/phases/common/FloatingReadPhase$MemoryMapImpl;)V
12: StackMap locals:
StackMap stack:
aload 1
instanceof org.graalvm.compiler.nodes.memory.SingleMemoryKill
ifeq 15
13: aload 1
checkcast org.graalvm.compiler.nodes.memory.SingleMemoryKill
aload 2
invokestatic org.graalvm.compiler.phases.common.FloatingReadPhase$FloatingReadClosure.processCheckpoint:(Lorg/graalvm/compiler/nodes/memory/SingleMemoryKill;Lorg/graalvm/compiler/phases/common/FloatingReadPhase$MemoryMapImpl;)V
14: goto 17
StackMap locals:
StackMap stack:
15: aload 1
instanceof org.graalvm.compiler.nodes.memory.MultiMemoryKill
ifeq 17
16: aload 1
checkcast org.graalvm.compiler.nodes.memory.MultiMemoryKill
aload 2
invokestatic org.graalvm.compiler.phases.common.FloatingReadPhase$FloatingReadClosure.processCheckpoint:(Lorg/graalvm/compiler/nodes/memory/MultiMemoryKill;Lorg/graalvm/compiler/phases/common/FloatingReadPhase$MemoryMapImpl;)V
17: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.phases.common.FloatingReadPhase$FloatingReadClosure.$assertionsDisabled:Z
ifne 18
aload 1
invokestatic org.graalvm.compiler.phases.common.FloatingReadPhase.nodeOfMemoryType:(Lorg/graalvm/compiler/graph/Node;)Z
ifne 18
new java.lang.AssertionError
dup
aload 1
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
18: StackMap locals:
StackMap stack:
aload 0
getfield org.graalvm.compiler.phases.common.FloatingReadPhase$FloatingReadClosure.createMemoryMapNodes:Z
ifeq 20
aload 1
instanceof org.graalvm.compiler.nodes.ReturnNode
ifeq 20
19: aload 1
checkcast org.graalvm.compiler.nodes.ReturnNode
aload 1
invokevirtual org.graalvm.compiler.nodes.FixedNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
new org.graalvm.compiler.nodes.memory.MemoryMapNode
dup
aload 2
invokevirtual org.graalvm.compiler.phases.common.FloatingReadPhase$MemoryMapImpl.getMap:()Ljdk/internal/vm/compiler/collections/EconomicMap;
invokespecial org.graalvm.compiler.nodes.memory.MemoryMapNode.<init>:(Ljdk/internal/vm/compiler/collections/EconomicMap;)V
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.unique:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.memory.MemoryMapNode
invokevirtual org.graalvm.compiler.nodes.ReturnNode.setMemoryMap:(Lorg/graalvm/compiler/nodes/memory/MemoryMapNode;)V
20: StackMap locals:
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 this Lorg/graalvm/compiler/phases/common/FloatingReadPhase$FloatingReadClosure;
0 21 1 node Lorg/graalvm/compiler/nodes/FixedNode;
0 21 2 state Lorg/graalvm/compiler/phases/common/FloatingReadPhase$MemoryMapImpl;
2 5 3 loopExitNode Lorg/graalvm/compiler/nodes/LoopExitNode;
3 5 4 modifiedInLoop Ljdk/internal/vm/compiler/collections/EconomicSet<Ljdk/internal/vm/compiler/word/LocationIdentity;>;
4 5 5 anyModified Z
MethodParameters:
Name Flags
node
state
private static void processAnchor(org.graalvm.compiler.nodes.memory.MemoryAnchorNode, org.graalvm.compiler.phases.common.FloatingReadPhase$MemoryMapImpl);
descriptor: (Lorg/graalvm/compiler/nodes/memory/MemoryAnchorNode;Lorg/graalvm/compiler/phases/common/FloatingReadPhase$MemoryMapImpl;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=6, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.graalvm.compiler.nodes.memory.MemoryAnchorNode.usages:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.snapshot:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 3
goto 8
StackMap locals: org.graalvm.compiler.nodes.memory.MemoryAnchorNode org.graalvm.compiler.phases.common.FloatingReadPhase$MemoryMapImpl top java.util.Iterator
StackMap stack:
1: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.graph.Node
astore 2
start local 2 2: aload 2
instanceof org.graalvm.compiler.nodes.memory.MemoryAccess
ifeq 8
3: aload 2
checkcast org.graalvm.compiler.nodes.memory.MemoryAccess
astore 4
start local 4 4: aload 4
invokeinterface org.graalvm.compiler.nodes.memory.MemoryAccess.getLastLocationAccess:()Lorg/graalvm/compiler/nodes/memory/MemoryKill;
aload 0
if_acmpne 8
5: aload 1
aload 4
invokeinterface org.graalvm.compiler.nodes.memory.MemoryAccess.getLocationIdentity:()Ljdk/internal/vm/compiler/word/LocationIdentity;
invokevirtual org.graalvm.compiler.phases.common.FloatingReadPhase$MemoryMapImpl.getLastLocationAccess:(Ljdk/internal/vm/compiler/word/LocationIdentity;)Lorg/graalvm/compiler/nodes/memory/MemoryKill;
astore 5
start local 5 6: getstatic org.graalvm.compiler.phases.common.FloatingReadPhase$FloatingReadClosure.$assertionsDisabled:Z
ifne 7
aload 5
ifnonnull 7
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
7: StackMap locals: org.graalvm.compiler.nodes.memory.MemoryAnchorNode org.graalvm.compiler.phases.common.FloatingReadPhase$MemoryMapImpl org.graalvm.compiler.graph.Node java.util.Iterator org.graalvm.compiler.nodes.memory.MemoryAccess org.graalvm.compiler.nodes.memory.MemoryKill
StackMap stack:
aload 4
aload 5
invokeinterface org.graalvm.compiler.nodes.memory.MemoryAccess.setLastLocationAccess:(Lorg/graalvm/compiler/nodes/memory/MemoryKill;)V
end local 5 end local 4 end local 2 8: StackMap locals: org.graalvm.compiler.nodes.memory.MemoryAnchorNode org.graalvm.compiler.phases.common.FloatingReadPhase$MemoryMapImpl top java.util.Iterator
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
9: aload 0
invokevirtual org.graalvm.compiler.nodes.memory.MemoryAnchorNode.hasNoUsages:()Z
ifeq 11
10: aload 0
invokevirtual org.graalvm.compiler.nodes.memory.MemoryAnchorNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
aload 0
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.removeFixed:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;)V
11: StackMap locals: org.graalvm.compiler.nodes.memory.MemoryAnchorNode org.graalvm.compiler.phases.common.FloatingReadPhase$MemoryMapImpl
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 anchor Lorg/graalvm/compiler/nodes/memory/MemoryAnchorNode;
0 12 1 state Lorg/graalvm/compiler/phases/common/FloatingReadPhase$MemoryMapImpl;
2 8 2 node Lorg/graalvm/compiler/graph/Node;
4 8 4 access Lorg/graalvm/compiler/nodes/memory/MemoryAccess;
6 8 5 lastLocationAccess Lorg/graalvm/compiler/nodes/memory/MemoryKill;
MethodParameters:
Name Flags
anchor
state
private static void processAccess(org.graalvm.compiler.nodes.memory.MemoryAccess, org.graalvm.compiler.phases.common.FloatingReadPhase$MemoryMapImpl);
descriptor: (Lorg/graalvm/compiler/nodes/memory/MemoryAccess;Lorg/graalvm/compiler/phases/common/FloatingReadPhase$MemoryMapImpl;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 0
invokeinterface org.graalvm.compiler.nodes.memory.MemoryAccess.getLocationIdentity:()Ljdk/internal/vm/compiler/word/LocationIdentity;
astore 2
start local 2 1: aload 2
invokestatic jdk.internal.vm.compiler.word.LocationIdentity.any:()Ljdk/internal/vm/compiler/word/LocationIdentity;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifne 4
2: aload 1
aload 2
invokevirtual org.graalvm.compiler.phases.common.FloatingReadPhase$MemoryMapImpl.getLastLocationAccess:(Ljdk/internal/vm/compiler/word/LocationIdentity;)Lorg/graalvm/compiler/nodes/memory/MemoryKill;
astore 3
start local 3 3: aload 0
aload 3
invokeinterface org.graalvm.compiler.nodes.memory.MemoryAccess.setLastLocationAccess:(Lorg/graalvm/compiler/nodes/memory/MemoryKill;)V
end local 3 4: StackMap locals: jdk.internal.vm.compiler.word.LocationIdentity
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 access Lorg/graalvm/compiler/nodes/memory/MemoryAccess;
0 5 1 state Lorg/graalvm/compiler/phases/common/FloatingReadPhase$MemoryMapImpl;
1 5 2 locationIdentity Ljdk/internal/vm/compiler/word/LocationIdentity;
3 4 3 lastLocationAccess Lorg/graalvm/compiler/nodes/memory/MemoryKill;
MethodParameters:
Name Flags
access
state
private static void processCheckpoint(org.graalvm.compiler.nodes.memory.SingleMemoryKill, org.graalvm.compiler.phases.common.FloatingReadPhase$MemoryMapImpl);
descriptor: (Lorg/graalvm/compiler/nodes/memory/SingleMemoryKill;Lorg/graalvm/compiler/phases/common/FloatingReadPhase$MemoryMapImpl;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokeinterface org.graalvm.compiler.nodes.memory.SingleMemoryKill.getKilledLocationIdentity:()Ljdk/internal/vm/compiler/word/LocationIdentity;
aload 0
aload 1
invokestatic org.graalvm.compiler.phases.common.FloatingReadPhase$FloatingReadClosure.processIdentity:(Ljdk/internal/vm/compiler/word/LocationIdentity;Lorg/graalvm/compiler/nodes/memory/MemoryKill;Lorg/graalvm/compiler/phases/common/FloatingReadPhase$MemoryMapImpl;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 checkpoint Lorg/graalvm/compiler/nodes/memory/SingleMemoryKill;
0 2 1 state Lorg/graalvm/compiler/phases/common/FloatingReadPhase$MemoryMapImpl;
MethodParameters:
Name Flags
checkpoint
state
private static void processCheckpoint(org.graalvm.compiler.nodes.memory.MultiMemoryKill, org.graalvm.compiler.phases.common.FloatingReadPhase$MemoryMapImpl);
descriptor: (Lorg/graalvm/compiler/nodes/memory/MultiMemoryKill;Lorg/graalvm/compiler/phases/common/FloatingReadPhase$MemoryMapImpl;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=6, args_size=2
start local 0 start local 1 0: aload 0
invokeinterface org.graalvm.compiler.nodes.memory.MultiMemoryKill.getKilledLocationIdentities:()[Ljdk/internal/vm/compiler/word/LocationIdentity;
dup
astore 5
arraylength
istore 4
iconst_0
istore 3
goto 4
StackMap locals: org.graalvm.compiler.nodes.memory.MultiMemoryKill org.graalvm.compiler.phases.common.FloatingReadPhase$MemoryMapImpl top int int jdk.internal.vm.compiler.word.LocationIdentity[]
StackMap stack:
1: aload 5
iload 3
aaload
astore 2
start local 2 2: aload 2
aload 0
aload 1
invokestatic org.graalvm.compiler.phases.common.FloatingReadPhase$FloatingReadClosure.processIdentity:(Ljdk/internal/vm/compiler/word/LocationIdentity;Lorg/graalvm/compiler/nodes/memory/MemoryKill;Lorg/graalvm/compiler/phases/common/FloatingReadPhase$MemoryMapImpl;)V
end local 2 3: iinc 3 1
StackMap locals:
StackMap stack:
4: iload 3
iload 4
if_icmplt 1
5: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 checkpoint Lorg/graalvm/compiler/nodes/memory/MultiMemoryKill;
0 6 1 state Lorg/graalvm/compiler/phases/common/FloatingReadPhase$MemoryMapImpl;
2 3 2 identity Ljdk/internal/vm/compiler/word/LocationIdentity;
MethodParameters:
Name Flags
checkpoint
state
private static void processIdentity(jdk.internal.vm.compiler.word.LocationIdentity, org.graalvm.compiler.nodes.memory.MemoryKill, org.graalvm.compiler.phases.common.FloatingReadPhase$MemoryMapImpl);
descriptor: (Ljdk/internal/vm/compiler/word/LocationIdentity;Lorg/graalvm/compiler/nodes/memory/MemoryKill;Lorg/graalvm/compiler/phases/common/FloatingReadPhase$MemoryMapImpl;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual jdk.internal.vm.compiler.word.LocationIdentity.isAny:()Z
ifeq 2
1: aload 2
invokevirtual org.graalvm.compiler.phases.common.FloatingReadPhase$MemoryMapImpl.getMap:()Ljdk/internal/vm/compiler/collections/EconomicMap;
invokeinterface jdk.internal.vm.compiler.collections.EconomicMap.clear:()V
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual jdk.internal.vm.compiler.word.LocationIdentity.isMutable:()Z
ifeq 4
3: aload 2
invokevirtual org.graalvm.compiler.phases.common.FloatingReadPhase$MemoryMapImpl.getMap:()Ljdk/internal/vm/compiler/collections/EconomicMap;
aload 0
aload 1
invokeinterface jdk.internal.vm.compiler.collections.EconomicMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
4: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 identity Ljdk/internal/vm/compiler/word/LocationIdentity;
0 5 1 checkpoint Lorg/graalvm/compiler/nodes/memory/MemoryKill;
0 5 2 state Lorg/graalvm/compiler/phases/common/FloatingReadPhase$MemoryMapImpl;
MethodParameters:
Name Flags
identity
checkpoint
state
private static void processFloatable(org.graalvm.compiler.nodes.memory.FloatableAccessNode, org.graalvm.compiler.phases.common.FloatingReadPhase$MemoryMapImpl);
descriptor: (Lorg/graalvm/compiler/nodes/memory/FloatableAccessNode;Lorg/graalvm/compiler/phases/common/FloatingReadPhase$MemoryMapImpl;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=9, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.graalvm.compiler.nodes.memory.FloatableAccessNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
astore 2
start local 2 1: aload 0
invokevirtual org.graalvm.compiler.nodes.memory.FloatableAccessNode.getLocationIdentity:()Ljdk/internal/vm/compiler/word/LocationIdentity;
astore 3
start local 3 2: aload 0
invokevirtual org.graalvm.compiler.nodes.memory.FloatableAccessNode.canFloat:()Z
ifeq 16
3: getstatic org.graalvm.compiler.phases.common.FloatingReadPhase$FloatingReadClosure.$assertionsDisabled:Z
ifne 4
aload 0
invokevirtual org.graalvm.compiler.nodes.memory.FloatableAccessNode.getNullCheck:()Z
ifeq 4
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
4: StackMap locals: org.graalvm.compiler.nodes.StructuredGraph jdk.internal.vm.compiler.word.LocationIdentity
StackMap stack:
aload 1
aload 3
invokevirtual org.graalvm.compiler.phases.common.FloatingReadPhase$MemoryMapImpl.getLastLocationAccess:(Ljdk/internal/vm/compiler/word/LocationIdentity;)Lorg/graalvm/compiler/nodes/memory/MemoryKill;
astore 4
start local 4 5: aconst_null
astore 5
aconst_null
astore 6
6: aload 0
invokevirtual org.graalvm.compiler.nodes.memory.FloatableAccessNode.withNodeSourcePosition:()Lorg/graalvm/compiler/debug/DebugCloseable;
astore 7
start local 7 7: aload 0
invokevirtual org.graalvm.compiler.nodes.memory.FloatableAccessNode.asFloatingNode:()Lorg/graalvm/compiler/nodes/memory/FloatingAccessNode;
astore 8
start local 8 8: getstatic org.graalvm.compiler.phases.common.FloatingReadPhase$FloatingReadClosure.$assertionsDisabled:Z
ifne 9
aload 8
invokevirtual org.graalvm.compiler.nodes.memory.FloatingAccessNode.getLastLocationAccess:()Lorg/graalvm/compiler/nodes/memory/MemoryKill;
aload 4
if_acmpeq 9
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
9: StackMap locals: org.graalvm.compiler.nodes.memory.FloatableAccessNode org.graalvm.compiler.phases.common.FloatingReadPhase$MemoryMapImpl org.graalvm.compiler.nodes.StructuredGraph jdk.internal.vm.compiler.word.LocationIdentity org.graalvm.compiler.nodes.memory.MemoryKill java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugCloseable org.graalvm.compiler.nodes.memory.FloatingAccessNode
StackMap stack:
aload 2
aload 0
aload 8
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.replaceFixedWithFloating:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;Lorg/graalvm/compiler/nodes/ValueNode;)V
end local 8 10: aload 7
ifnull 16
aload 7
invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
goto 16
StackMap locals: org.graalvm.compiler.nodes.memory.FloatableAccessNode org.graalvm.compiler.phases.common.FloatingReadPhase$MemoryMapImpl org.graalvm.compiler.nodes.StructuredGraph jdk.internal.vm.compiler.word.LocationIdentity org.graalvm.compiler.nodes.memory.MemoryKill java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugCloseable
StackMap stack: java.lang.Throwable
11: astore 5
aload 7
ifnull 12
aload 7
invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
end local 7 StackMap locals:
StackMap stack:
12: aload 5
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
13: astore 6
aload 5
ifnonnull 14
aload 6
astore 5
goto 15
StackMap locals:
StackMap stack:
14: aload 5
aload 6
if_acmpeq 15
aload 5
aload 6
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
15: aload 5
athrow
end local 4 16: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 accessNode Lorg/graalvm/compiler/nodes/memory/FloatableAccessNode;
0 17 1 state Lorg/graalvm/compiler/phases/common/FloatingReadPhase$MemoryMapImpl;
1 17 2 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
2 17 3 locationIdentity Ljdk/internal/vm/compiler/word/LocationIdentity;
5 16 4 lastLocationAccess Lorg/graalvm/compiler/nodes/memory/MemoryKill;
7 12 7 position Lorg/graalvm/compiler/debug/DebugCloseable;
8 10 8 floatingNode Lorg/graalvm/compiler/nodes/memory/FloatingAccessNode;
Exception table:
from to target type
7 10 11 any
6 13 13 any
MethodParameters:
Name Flags
accessNode
state
protected org.graalvm.compiler.phases.common.FloatingReadPhase$MemoryMapImpl merge(org.graalvm.compiler.nodes.AbstractMergeNode, java.util.List<org.graalvm.compiler.phases.common.FloatingReadPhase$MemoryMapImpl>);
descriptor: (Lorg/graalvm/compiler/nodes/AbstractMergeNode;Ljava/util/List;)Lorg/graalvm/compiler/phases/common/FloatingReadPhase$MemoryMapImpl;
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
aload 2
invokestatic org.graalvm.compiler.phases.common.FloatingReadPhase.mergeMemoryMaps:(Lorg/graalvm/compiler/nodes/AbstractMergeNode;Ljava/util/List;)Lorg/graalvm/compiler/phases/common/FloatingReadPhase$MemoryMapImpl;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/phases/common/FloatingReadPhase$FloatingReadClosure;
0 1 1 merge Lorg/graalvm/compiler/nodes/AbstractMergeNode;
0 1 2 states Ljava/util/List<Lorg/graalvm/compiler/phases/common/FloatingReadPhase$MemoryMapImpl;>;
Signature: (Lorg/graalvm/compiler/nodes/AbstractMergeNode;Ljava/util/List<Lorg/graalvm/compiler/phases/common/FloatingReadPhase$MemoryMapImpl;>;)Lorg/graalvm/compiler/phases/common/FloatingReadPhase$MemoryMapImpl;
MethodParameters:
Name Flags
merge
states
protected org.graalvm.compiler.phases.common.FloatingReadPhase$MemoryMapImpl afterSplit(org.graalvm.compiler.nodes.AbstractBeginNode, org.graalvm.compiler.phases.common.FloatingReadPhase$MemoryMapImpl);
descriptor: (Lorg/graalvm/compiler/nodes/AbstractBeginNode;Lorg/graalvm/compiler/phases/common/FloatingReadPhase$MemoryMapImpl;)Lorg/graalvm/compiler/phases/common/FloatingReadPhase$MemoryMapImpl;
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=5, args_size=3
start local 0 start local 1 start local 2 0: new org.graalvm.compiler.phases.common.FloatingReadPhase$MemoryMapImpl
dup
aload 2
invokespecial org.graalvm.compiler.phases.common.FloatingReadPhase$MemoryMapImpl.<init>:(Lorg/graalvm/compiler/phases/common/FloatingReadPhase$MemoryMapImpl;)V
astore 3
start local 3 1: aload 1
invokevirtual org.graalvm.compiler.nodes.AbstractBeginNode.predecessor:()Lorg/graalvm/compiler/graph/Node;
instanceof org.graalvm.compiler.nodes.WithExceptionNode
ifeq 6
aload 1
invokevirtual org.graalvm.compiler.nodes.AbstractBeginNode.predecessor:()Lorg/graalvm/compiler/graph/Node;
instanceof org.graalvm.compiler.nodes.memory.MemoryKill
ifeq 6
2: aload 1
invokevirtual org.graalvm.compiler.nodes.AbstractBeginNode.predecessor:()Lorg/graalvm/compiler/graph/Node;
instanceof org.graalvm.compiler.nodes.memory.SingleMemoryKill
ifeq 3
aload 1
invokevirtual org.graalvm.compiler.nodes.AbstractBeginNode.predecessor:()Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.memory.SingleMemoryKill
invokeinterface org.graalvm.compiler.nodes.memory.SingleMemoryKill.getKilledLocationIdentity:()Ljdk/internal/vm/compiler/word/LocationIdentity;
goto 4
StackMap locals: org.graalvm.compiler.phases.common.FloatingReadPhase$MemoryMapImpl
StackMap stack:
3: invokestatic jdk.internal.vm.compiler.word.LocationIdentity.any:()Ljdk/internal/vm/compiler/word/LocationIdentity;
StackMap locals:
StackMap stack: jdk.internal.vm.compiler.word.LocationIdentity
4: astore 4
start local 4 5: aload 3
invokevirtual org.graalvm.compiler.phases.common.FloatingReadPhase$MemoryMapImpl.getMap:()Ljdk/internal/vm/compiler/collections/EconomicMap;
aload 4
aload 1
checkcast org.graalvm.compiler.nodes.memory.MemoryKill
invokeinterface jdk.internal.vm.compiler.collections.EconomicMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 4 6: StackMap locals:
StackMap stack:
aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/graalvm/compiler/phases/common/FloatingReadPhase$FloatingReadClosure;
0 7 1 node Lorg/graalvm/compiler/nodes/AbstractBeginNode;
0 7 2 oldState Lorg/graalvm/compiler/phases/common/FloatingReadPhase$MemoryMapImpl;
1 7 3 result Lorg/graalvm/compiler/phases/common/FloatingReadPhase$MemoryMapImpl;
5 6 4 killedLocationIdentity Ljdk/internal/vm/compiler/word/LocationIdentity;
MethodParameters:
Name Flags
node
oldState
protected jdk.internal.vm.compiler.collections.EconomicMap<org.graalvm.compiler.nodes.LoopExitNode, org.graalvm.compiler.phases.common.FloatingReadPhase$MemoryMapImpl> processLoop(org.graalvm.compiler.nodes.LoopBeginNode, org.graalvm.compiler.phases.common.FloatingReadPhase$MemoryMapImpl);
descriptor: (Lorg/graalvm/compiler/nodes/LoopBeginNode;Lorg/graalvm/compiler/phases/common/FloatingReadPhase$MemoryMapImpl;)Ljdk/internal/vm/compiler/collections/EconomicMap;
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=11, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.graalvm.compiler.phases.common.FloatingReadPhase$FloatingReadClosure.modifiedInLoops:Ljdk/internal/vm/compiler/collections/EconomicMap;
aload 1
invokeinterface jdk.internal.vm.compiler.collections.EconomicMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast jdk.internal.vm.compiler.collections.EconomicSet
astore 3
start local 3 1: getstatic jdk.internal.vm.compiler.collections.Equivalence.DEFAULT:Ljdk/internal/vm/compiler/collections/Equivalence;
invokestatic jdk.internal.vm.compiler.collections.EconomicMap.create:(Ljdk/internal/vm/compiler/collections/Equivalence;)Ljdk/internal/vm/compiler/collections/EconomicMap;
astore 4
start local 4 2: aload 3
invokestatic jdk.internal.vm.compiler.word.LocationIdentity.any:()Ljdk/internal/vm/compiler/word/LocationIdentity;
invokeinterface jdk.internal.vm.compiler.collections.EconomicSet.contains:(Ljava/lang/Object;)Z
ifeq 5
3: getstatic jdk.internal.vm.compiler.collections.Equivalence.DEFAULT:Ljdk/internal/vm/compiler/collections/Equivalence;
aload 3
invokestatic jdk.internal.vm.compiler.collections.EconomicSet.create:(Ljdk/internal/vm/compiler/collections/Equivalence;Ljdk/internal/vm/compiler/collections/UnmodifiableEconomicSet;)Ljdk/internal/vm/compiler/collections/EconomicSet;
astore 3
4: aload 3
aload 2
invokevirtual org.graalvm.compiler.phases.common.FloatingReadPhase$MemoryMapImpl.getMap:()Ljdk/internal/vm/compiler/collections/EconomicMap;
invokeinterface jdk.internal.vm.compiler.collections.EconomicMap.getKeys:()Ljava/lang/Iterable;
invokeinterface jdk.internal.vm.compiler.collections.EconomicSet.addAll:(Ljava/lang/Iterable;)V
5: StackMap locals: jdk.internal.vm.compiler.collections.EconomicSet jdk.internal.vm.compiler.collections.EconomicMap
StackMap stack:
aload 3
invokeinterface jdk.internal.vm.compiler.collections.EconomicSet.iterator:()Ljava/util/Iterator;
astore 6
goto 8
StackMap locals: org.graalvm.compiler.phases.common.FloatingReadPhase$FloatingReadClosure org.graalvm.compiler.nodes.LoopBeginNode org.graalvm.compiler.phases.common.FloatingReadPhase$MemoryMapImpl jdk.internal.vm.compiler.collections.EconomicSet jdk.internal.vm.compiler.collections.EconomicMap top java.util.Iterator
StackMap stack:
6: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast jdk.internal.vm.compiler.word.LocationIdentity
astore 5
start local 5 7: aload 1
aload 2
aload 4
aload 5
invokestatic org.graalvm.compiler.phases.common.FloatingReadPhase$FloatingReadClosure.createMemoryPhi:(Lorg/graalvm/compiler/nodes/LoopBeginNode;Lorg/graalvm/compiler/phases/common/FloatingReadPhase$MemoryMapImpl;Ljdk/internal/vm/compiler/collections/EconomicMap;Ljdk/internal/vm/compiler/word/LocationIdentity;)V
end local 5 8: StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 6
9: aload 2
invokevirtual org.graalvm.compiler.phases.common.FloatingReadPhase$MemoryMapImpl.getMap:()Ljdk/internal/vm/compiler/collections/EconomicMap;
aload 4
invokeinterface jdk.internal.vm.compiler.collections.EconomicMap.putAll:(Ljdk/internal/vm/compiler/collections/UnmodifiableEconomicMap;)V
10: aload 0
aload 1
aload 2
invokestatic org.graalvm.compiler.phases.graph.ReentrantNodeIterator.processLoop:(Lorg/graalvm/compiler/phases/graph/ReentrantNodeIterator$NodeIteratorClosure;Lorg/graalvm/compiler/nodes/LoopBeginNode;Ljava/lang/Object;)Lorg/graalvm/compiler/phases/graph/ReentrantNodeIterator$LoopInfo;
astore 5
start local 5 11: aload 5
getfield org.graalvm.compiler.phases.graph.ReentrantNodeIterator$LoopInfo.endStates:Ljdk/internal/vm/compiler/collections/EconomicMap;
invokeinterface jdk.internal.vm.compiler.collections.EconomicMap.getEntries:()Ljdk/internal/vm/compiler/collections/MapCursor;
astore 6
start local 6 12: goto 20
13: StackMap locals: org.graalvm.compiler.phases.common.FloatingReadPhase$FloatingReadClosure org.graalvm.compiler.nodes.LoopBeginNode org.graalvm.compiler.phases.common.FloatingReadPhase$MemoryMapImpl jdk.internal.vm.compiler.collections.EconomicSet jdk.internal.vm.compiler.collections.EconomicMap org.graalvm.compiler.phases.graph.ReentrantNodeIterator$LoopInfo jdk.internal.vm.compiler.collections.UnmodifiableMapCursor
StackMap stack:
aload 1
aload 6
invokeinterface jdk.internal.vm.compiler.collections.UnmodifiableMapCursor.getKey:()Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.AbstractEndNode
invokevirtual org.graalvm.compiler.nodes.LoopBeginNode.phiPredecessorIndex:(Lorg/graalvm/compiler/nodes/AbstractEndNode;)I
istore 7
start local 7 14: aload 4
invokeinterface jdk.internal.vm.compiler.collections.EconomicMap.getEntries:()Ljdk/internal/vm/compiler/collections/MapCursor;
astore 8
start local 8 15: goto 19
16: StackMap locals: int jdk.internal.vm.compiler.collections.UnmodifiableMapCursor
StackMap stack:
aload 8
invokeinterface jdk.internal.vm.compiler.collections.UnmodifiableMapCursor.getKey:()Ljava/lang/Object;
checkcast jdk.internal.vm.compiler.word.LocationIdentity
astore 9
start local 9 17: aload 8
invokeinterface jdk.internal.vm.compiler.collections.UnmodifiableMapCursor.getValue:()Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.PhiNode
astore 10
start local 10 18: aload 10
iload 7
aload 6
invokeinterface jdk.internal.vm.compiler.collections.UnmodifiableMapCursor.getValue:()Ljava/lang/Object;
checkcast org.graalvm.compiler.phases.common.FloatingReadPhase$MemoryMapImpl
aload 9
invokevirtual org.graalvm.compiler.phases.common.FloatingReadPhase$MemoryMapImpl.getLastLocationAccess:(Ljdk/internal/vm/compiler/word/LocationIdentity;)Lorg/graalvm/compiler/nodes/memory/MemoryKill;
invokestatic org.graalvm.compiler.nodes.ValueNodeUtil.asNode:(Lorg/graalvm/compiler/nodes/memory/MemoryKill;)Lorg/graalvm/compiler/nodes/ValueNode;
invokevirtual org.graalvm.compiler.nodes.PhiNode.initializeValueAt:(ILorg/graalvm/compiler/nodes/ValueNode;)V
end local 10 end local 9 19: StackMap locals:
StackMap stack:
aload 8
invokeinterface jdk.internal.vm.compiler.collections.UnmodifiableMapCursor.advance:()Z
ifne 16
end local 8 end local 7 20: StackMap locals:
StackMap stack:
aload 6
invokeinterface jdk.internal.vm.compiler.collections.UnmodifiableMapCursor.advance:()Z
ifne 13
21: aload 5
getfield org.graalvm.compiler.phases.graph.ReentrantNodeIterator$LoopInfo.exitStates:Ljdk/internal/vm/compiler/collections/EconomicMap;
areturn
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 22 0 this Lorg/graalvm/compiler/phases/common/FloatingReadPhase$FloatingReadClosure;
0 22 1 loop Lorg/graalvm/compiler/nodes/LoopBeginNode;
0 22 2 initialState Lorg/graalvm/compiler/phases/common/FloatingReadPhase$MemoryMapImpl;
1 22 3 modifiedLocations Ljdk/internal/vm/compiler/collections/EconomicSet<Ljdk/internal/vm/compiler/word/LocationIdentity;>;
2 22 4 phis Ljdk/internal/vm/compiler/collections/EconomicMap<Ljdk/internal/vm/compiler/word/LocationIdentity;Lorg/graalvm/compiler/nodes/memory/MemoryPhiNode;>;
7 8 5 location Ljdk/internal/vm/compiler/word/LocationIdentity;
11 22 5 loopInfo Lorg/graalvm/compiler/phases/graph/ReentrantNodeIterator$LoopInfo<Lorg/graalvm/compiler/phases/common/FloatingReadPhase$MemoryMapImpl;>;
12 22 6 endStateCursor Ljdk/internal/vm/compiler/collections/UnmodifiableMapCursor<Lorg/graalvm/compiler/nodes/LoopEndNode;Lorg/graalvm/compiler/phases/common/FloatingReadPhase$MemoryMapImpl;>;
14 20 7 endIndex I
15 20 8 phiCursor Ljdk/internal/vm/compiler/collections/UnmodifiableMapCursor<Ljdk/internal/vm/compiler/word/LocationIdentity;Lorg/graalvm/compiler/nodes/memory/MemoryPhiNode;>;
17 19 9 key Ljdk/internal/vm/compiler/word/LocationIdentity;
18 19 10 phi Lorg/graalvm/compiler/nodes/PhiNode;
Signature: (Lorg/graalvm/compiler/nodes/LoopBeginNode;Lorg/graalvm/compiler/phases/common/FloatingReadPhase$MemoryMapImpl;)Ljdk/internal/vm/compiler/collections/EconomicMap<Lorg/graalvm/compiler/nodes/LoopExitNode;Lorg/graalvm/compiler/phases/common/FloatingReadPhase$MemoryMapImpl;>;
MethodParameters:
Name Flags
loop
initialState
private static void createMemoryPhi(org.graalvm.compiler.nodes.LoopBeginNode, org.graalvm.compiler.phases.common.FloatingReadPhase$MemoryMapImpl, jdk.internal.vm.compiler.collections.EconomicMap<jdk.internal.vm.compiler.word.LocationIdentity, org.graalvm.compiler.nodes.memory.MemoryPhiNode>, jdk.internal.vm.compiler.word.LocationIdentity);
descriptor: (Lorg/graalvm/compiler/nodes/LoopBeginNode;Lorg/graalvm/compiler/phases/common/FloatingReadPhase$MemoryMapImpl;Ljdk/internal/vm/compiler/collections/EconomicMap;Ljdk/internal/vm/compiler/word/LocationIdentity;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokevirtual org.graalvm.compiler.nodes.LoopBeginNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
new org.graalvm.compiler.nodes.memory.MemoryPhiNode
dup
aload 0
aload 3
invokespecial org.graalvm.compiler.nodes.memory.MemoryPhiNode.<init>:(Lorg/graalvm/compiler/nodes/AbstractMergeNode;Ljdk/internal/vm/compiler/word/LocationIdentity;)V
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.addWithoutUnique:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.memory.MemoryPhiNode
astore 4
start local 4 1: aload 4
aload 1
aload 3
invokevirtual org.graalvm.compiler.phases.common.FloatingReadPhase$MemoryMapImpl.getLastLocationAccess:(Ljdk/internal/vm/compiler/word/LocationIdentity;)Lorg/graalvm/compiler/nodes/memory/MemoryKill;
invokestatic org.graalvm.compiler.nodes.ValueNodeUtil.asNode:(Lorg/graalvm/compiler/nodes/memory/MemoryKill;)Lorg/graalvm/compiler/nodes/ValueNode;
invokevirtual org.graalvm.compiler.nodes.memory.MemoryPhiNode.addInput:(Lorg/graalvm/compiler/nodes/ValueNode;)V
2: aload 2
aload 3
aload 4
invokeinterface jdk.internal.vm.compiler.collections.EconomicMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
3: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 loop Lorg/graalvm/compiler/nodes/LoopBeginNode;
0 4 1 initialState Lorg/graalvm/compiler/phases/common/FloatingReadPhase$MemoryMapImpl;
0 4 2 phis Ljdk/internal/vm/compiler/collections/EconomicMap<Ljdk/internal/vm/compiler/word/LocationIdentity;Lorg/graalvm/compiler/nodes/memory/MemoryPhiNode;>;
0 4 3 location Ljdk/internal/vm/compiler/word/LocationIdentity;
1 4 4 phi Lorg/graalvm/compiler/nodes/memory/MemoryPhiNode;
Signature: (Lorg/graalvm/compiler/nodes/LoopBeginNode;Lorg/graalvm/compiler/phases/common/FloatingReadPhase$MemoryMapImpl;Ljdk/internal/vm/compiler/collections/EconomicMap<Ljdk/internal/vm/compiler/word/LocationIdentity;Lorg/graalvm/compiler/nodes/memory/MemoryPhiNode;>;Ljdk/internal/vm/compiler/word/LocationIdentity;)V
MethodParameters:
Name Flags
loop
initialState
phis
location
protected java.lang.Object processNode(org.graalvm.compiler.nodes.FixedNode, java.lang.Object);
descriptor: (Lorg/graalvm/compiler/nodes/FixedNode;Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x1044) ACC_PROTECTED, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=3, locals=3, args_size=3
0: aload 0
aload 1
aload 2
checkcast org.graalvm.compiler.phases.common.FloatingReadPhase$MemoryMapImpl
invokevirtual org.graalvm.compiler.phases.common.FloatingReadPhase$FloatingReadClosure.processNode:(Lorg/graalvm/compiler/nodes/FixedNode;Lorg/graalvm/compiler/phases/common/FloatingReadPhase$MemoryMapImpl;)Lorg/graalvm/compiler/phases/common/FloatingReadPhase$MemoryMapImpl;
areturn
LocalVariableTable:
Start End Slot Name Signature
protected java.lang.Object afterSplit(org.graalvm.compiler.nodes.AbstractBeginNode, java.lang.Object);
descriptor: (Lorg/graalvm/compiler/nodes/AbstractBeginNode;Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x1044) ACC_PROTECTED, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=3, locals=3, args_size=3
0: aload 0
aload 1
aload 2
checkcast org.graalvm.compiler.phases.common.FloatingReadPhase$MemoryMapImpl
invokevirtual org.graalvm.compiler.phases.common.FloatingReadPhase$FloatingReadClosure.afterSplit:(Lorg/graalvm/compiler/nodes/AbstractBeginNode;Lorg/graalvm/compiler/phases/common/FloatingReadPhase$MemoryMapImpl;)Lorg/graalvm/compiler/phases/common/FloatingReadPhase$MemoryMapImpl;
areturn
LocalVariableTable:
Start End Slot Name Signature
protected java.lang.Object merge(org.graalvm.compiler.nodes.AbstractMergeNode, java.util.List);
descriptor: (Lorg/graalvm/compiler/nodes/AbstractMergeNode;Ljava/util/List;)Ljava/lang/Object;
flags: (0x1044) ACC_PROTECTED, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=3, locals=3, args_size=3
0: aload 0
aload 1
aload 2
checkcast java.util.List
invokevirtual org.graalvm.compiler.phases.common.FloatingReadPhase$FloatingReadClosure.merge:(Lorg/graalvm/compiler/nodes/AbstractMergeNode;Ljava/util/List;)Lorg/graalvm/compiler/phases/common/FloatingReadPhase$MemoryMapImpl;
areturn
LocalVariableTable:
Start End Slot Name Signature
protected jdk.internal.vm.compiler.collections.EconomicMap processLoop(org.graalvm.compiler.nodes.LoopBeginNode, java.lang.Object);
descriptor: (Lorg/graalvm/compiler/nodes/LoopBeginNode;Ljava/lang/Object;)Ljdk/internal/vm/compiler/collections/EconomicMap;
flags: (0x1044) ACC_PROTECTED, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=3, locals=3, args_size=3
0: aload 0
aload 1
aload 2
checkcast org.graalvm.compiler.phases.common.FloatingReadPhase$MemoryMapImpl
invokevirtual org.graalvm.compiler.phases.common.FloatingReadPhase$FloatingReadClosure.processLoop:(Lorg/graalvm/compiler/nodes/LoopBeginNode;Lorg/graalvm/compiler/phases/common/FloatingReadPhase$MemoryMapImpl;)Ljdk/internal/vm/compiler/collections/EconomicMap;
areturn
LocalVariableTable:
Start End Slot Name Signature
private static org.graalvm.compiler.nodes.memory.MemoryKill lambda$0(boolean, jdk.internal.vm.compiler.collections.EconomicSet, org.graalvm.compiler.nodes.LoopExitNode, jdk.internal.vm.compiler.word.LocationIdentity, org.graalvm.compiler.nodes.memory.MemoryKill);
descriptor: (ZLjdk/internal/vm/compiler/collections/EconomicSet;Lorg/graalvm/compiler/nodes/LoopExitNode;Ljdk/internal/vm/compiler/word/LocationIdentity;Lorg/graalvm/compiler/nodes/memory/MemoryKill;)Lorg/graalvm/compiler/nodes/memory/MemoryKill;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=5, args_size=5
start local 3 start local 4 0: iload 0
ifne 1
aload 1
aload 3
invokeinterface jdk.internal.vm.compiler.collections.EconomicSet.contains:(Ljava/lang/Object;)Z
ifeq 2
1: StackMap locals:
StackMap stack:
aload 4
aload 2
aload 3
invokestatic org.graalvm.compiler.nodes.ProxyNode.forMemory:(Lorg/graalvm/compiler/nodes/memory/MemoryKill;Lorg/graalvm/compiler/nodes/LoopExitNode;Ljdk/internal/vm/compiler/word/LocationIdentity;)Lorg/graalvm/compiler/nodes/MemoryProxyNode;
goto 3
2: StackMap locals:
StackMap stack:
aload 4
StackMap locals:
StackMap stack: org.graalvm.compiler.nodes.memory.MemoryKill
3: areturn
end local 4 end local 3 LocalVariableTable:
Start End Slot Name Signature
0 4 3 locationIdentity Ljdk/internal/vm/compiler/word/LocationIdentity;
0 4 4 memoryNode Lorg/graalvm/compiler/nodes/memory/MemoryKill;
}
Signature: Lorg/graalvm/compiler/phases/graph/ReentrantNodeIterator$NodeIteratorClosure<Lorg/graalvm/compiler/phases/common/FloatingReadPhase$MemoryMapImpl;>;
SourceFile: "FloatingReadPhase.java"
NestHost: org.graalvm.compiler.phases.common.FloatingReadPhase
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
public abstract ValueNumberable = org.graalvm.compiler.graph.Node$ValueNumberable of org.graalvm.compiler.graph.Node
public FloatingReadClosure = org.graalvm.compiler.phases.common.FloatingReadPhase$FloatingReadClosure of org.graalvm.compiler.phases.common.FloatingReadPhase
public MemoryMapImpl = org.graalvm.compiler.phases.common.FloatingReadPhase$MemoryMapImpl of org.graalvm.compiler.phases.common.FloatingReadPhase
public LoopInfo = org.graalvm.compiler.phases.graph.ReentrantNodeIterator$LoopInfo of org.graalvm.compiler.phases.graph.ReentrantNodeIterator
public abstract NodeIteratorClosure = org.graalvm.compiler.phases.graph.ReentrantNodeIterator$NodeIteratorClosure of org.graalvm.compiler.phases.graph.ReentrantNodeIterator