public class org.graalvm.compiler.virtual.phases.ea.ReadEliminationClosure extends org.graalvm.compiler.virtual.phases.ea.EffectsClosure<org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState>
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.graalvm.compiler.virtual.phases.ea.ReadEliminationClosure
super_class: org.graalvm.compiler.virtual.phases.ea.EffectsClosure
{
protected final boolean considerGuards;
descriptor: Z
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
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/virtual/phases/ea/ReadEliminationClosure;
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.virtual.phases.ea.ReadEliminationClosure.$assertionsDisabled:Z
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(org.graalvm.compiler.nodes.cfg.ControlFlowGraph, boolean);
descriptor: (Lorg/graalvm/compiler/nodes/cfg/ControlFlowGraph;Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aconst_null
aload 1
invokespecial org.graalvm.compiler.virtual.phases.ea.EffectsClosure.<init>:(Lorg/graalvm/compiler/nodes/StructuredGraph$ScheduleResult;Lorg/graalvm/compiler/nodes/cfg/ControlFlowGraph;)V
1: aload 0
iload 2
putfield org.graalvm.compiler.virtual.phases.ea.ReadEliminationClosure.considerGuards:Z
2: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/graalvm/compiler/virtual/phases/ea/ReadEliminationClosure;
0 3 1 cfg Lorg/graalvm/compiler/nodes/cfg/ControlFlowGraph;
0 3 2 considerGuards Z
MethodParameters:
Name Flags
cfg
considerGuards
protected org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState getInitialState();
descriptor: ()Lorg/graalvm/compiler/virtual/phases/ea/ReadEliminationBlockState;
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=1, args_size=1
start local 0 0: new org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState
dup
invokespecial org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState.<init>:()V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/virtual/phases/ea/ReadEliminationClosure;
protected boolean processNode(org.graalvm.compiler.graph.Node, org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState, org.graalvm.compiler.virtual.phases.ea.GraphEffectList, org.graalvm.compiler.nodes.FixedWithNextNode);
descriptor: (Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/virtual/phases/ea/ReadEliminationBlockState;Lorg/graalvm/compiler/virtual/phases/ea/GraphEffectList;Lorg/graalvm/compiler/nodes/FixedWithNextNode;)Z
flags: (0x0004) ACC_PROTECTED
Code:
stack=6, locals=13, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: iconst_0
istore 5
start local 5 1: aload 1
instanceof org.graalvm.compiler.nodes.java.AccessFieldNode
ifeq 26
2: aload 1
checkcast org.graalvm.compiler.nodes.java.AccessFieldNode
astore 6
start local 6 3: aload 6
invokevirtual org.graalvm.compiler.nodes.java.AccessFieldNode.isVolatile:()Z
ifeq 6
4: aload 2
invokestatic jdk.internal.vm.compiler.word.LocationIdentity.any:()Ljdk/internal/vm/compiler/word/LocationIdentity;
invokestatic org.graalvm.compiler.virtual.phases.ea.ReadEliminationClosure.killReadCacheByIdentity:(Lorg/graalvm/compiler/virtual/phases/ea/ReadEliminationBlockState;Ljdk/internal/vm/compiler/word/LocationIdentity;)V
5: goto 105
6: StackMap locals: int org.graalvm.compiler.nodes.java.AccessFieldNode
StackMap stack:
aload 6
invokevirtual org.graalvm.compiler.nodes.java.AccessFieldNode.object:()Lorg/graalvm/compiler/nodes/ValueNode;
invokestatic org.graalvm.compiler.nodes.util.GraphUtil.unproxify:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
astore 7
start local 7 7: new org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState$LoadCacheEntry
dup
aload 7
new org.graalvm.compiler.nodes.FieldLocationIdentity
dup
aload 6
invokevirtual org.graalvm.compiler.nodes.java.AccessFieldNode.field:()Ljdk/vm/ci/meta/ResolvedJavaField;
invokespecial org.graalvm.compiler.nodes.FieldLocationIdentity.<init>:(Ljdk/vm/ci/meta/ResolvedJavaField;)V
invokespecial org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState$LoadCacheEntry.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/internal/vm/compiler/word/LocationIdentity;)V
astore 8
start local 8 8: aload 2
aload 8
invokevirtual org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState.getCacheEntry:(Lorg/graalvm/compiler/virtual/phases/ea/ReadEliminationBlockState$CacheEntry;)Lorg/graalvm/compiler/nodes/ValueNode;
astore 9
start local 9 9: aload 1
instanceof org.graalvm.compiler.nodes.java.LoadFieldNode
ifeq 17
10: aload 9
ifnull 15
aload 6
getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
invokevirtual org.graalvm.compiler.nodes.java.AccessFieldNode.stamp:(Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/core/common/type/Stamp;
aload 9
getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
invokevirtual org.graalvm.compiler.nodes.ValueNode.stamp:(Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/core/common/type/Stamp;
invokevirtual org.graalvm.compiler.core.common.type.Stamp.isCompatible:(Lorg/graalvm/compiler/core/common/type/Stamp;)Z
ifeq 15
11: aload 3
aload 6
aload 9
aload 6
invokevirtual org.graalvm.compiler.virtual.phases.ea.GraphEffectList.replaceAtUsages:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/FixedNode;)V
12: aload 0
aload 6
aload 9
invokevirtual org.graalvm.compiler.virtual.phases.ea.ReadEliminationClosure.addScalarAlias:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)V
13: iconst_1
istore 5
14: goto 105
15: StackMap locals: org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState$LoadCacheEntry org.graalvm.compiler.nodes.ValueNode
StackMap stack:
aload 2
aload 8
aload 6
invokevirtual org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState.addCacheEntry:(Lorg/graalvm/compiler/virtual/phases/ea/ReadEliminationBlockState$CacheEntry;Lorg/graalvm/compiler/nodes/ValueNode;)V
16: goto 105
17: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.virtual.phases.ea.ReadEliminationClosure.$assertionsDisabled:Z
ifne 18
aload 1
instanceof org.graalvm.compiler.nodes.java.StoreFieldNode
ifne 18
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
18: StackMap locals:
StackMap stack:
aload 1
checkcast org.graalvm.compiler.nodes.java.StoreFieldNode
astore 10
start local 10 19: aload 0
aload 10
invokevirtual org.graalvm.compiler.nodes.java.StoreFieldNode.value:()Lorg/graalvm/compiler/nodes/ValueNode;
invokevirtual org.graalvm.compiler.virtual.phases.ea.ReadEliminationClosure.getScalarAlias:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
astore 11
start local 11 20: aload 11
invokestatic org.graalvm.compiler.nodes.util.GraphUtil.unproxify:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
aload 9
invokestatic org.graalvm.compiler.nodes.util.GraphUtil.unproxify:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
if_acmpne 23
21: aload 3
aload 10
invokevirtual org.graalvm.compiler.virtual.phases.ea.GraphEffectList.deleteNode:(Lorg/graalvm/compiler/graph/Node;)V
22: iconst_1
istore 5
23: StackMap locals: org.graalvm.compiler.nodes.java.StoreFieldNode org.graalvm.compiler.nodes.ValueNode
StackMap stack:
aload 2
aload 8
getfield org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState$LoadCacheEntry.identity:Ljava/lang/Object;
checkcast jdk.internal.vm.compiler.word.LocationIdentity
invokestatic org.graalvm.compiler.virtual.phases.ea.ReadEliminationClosure.killReadCacheByIdentity:(Lorg/graalvm/compiler/virtual/phases/ea/ReadEliminationBlockState;Ljdk/internal/vm/compiler/word/LocationIdentity;)V
24: aload 2
aload 8
aload 11
invokevirtual org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState.addCacheEntry:(Lorg/graalvm/compiler/virtual/phases/ea/ReadEliminationBlockState$CacheEntry;Lorg/graalvm/compiler/nodes/ValueNode;)V
end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 25: goto 105
StackMap locals: org.graalvm.compiler.virtual.phases.ea.ReadEliminationClosure org.graalvm.compiler.graph.Node org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState org.graalvm.compiler.virtual.phases.ea.GraphEffectList org.graalvm.compiler.nodes.FixedWithNextNode int
StackMap stack:
26: aload 1
instanceof org.graalvm.compiler.nodes.memory.ReadNode
ifeq 39
27: aload 1
checkcast org.graalvm.compiler.nodes.memory.ReadNode
astore 6
start local 6 28: aload 6
invokevirtual org.graalvm.compiler.nodes.memory.ReadNode.getLocationIdentity:()Ljdk/internal/vm/compiler/word/LocationIdentity;
invokevirtual jdk.internal.vm.compiler.word.LocationIdentity.isSingle:()Z
ifeq 105
29: aload 6
invokevirtual org.graalvm.compiler.nodes.memory.ReadNode.getAddress:()Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
invokestatic org.graalvm.compiler.nodes.util.GraphUtil.unproxify:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
astore 7
start local 7 30: new org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState$LoadCacheEntry
dup
aload 7
aload 6
invokevirtual org.graalvm.compiler.nodes.memory.ReadNode.getLocationIdentity:()Ljdk/internal/vm/compiler/word/LocationIdentity;
invokespecial org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState$LoadCacheEntry.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/internal/vm/compiler/word/LocationIdentity;)V
astore 8
start local 8 31: aload 2
aload 8
invokevirtual org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState.getCacheEntry:(Lorg/graalvm/compiler/virtual/phases/ea/ReadEliminationBlockState$CacheEntry;)Lorg/graalvm/compiler/nodes/ValueNode;
astore 9
start local 9 32: aload 9
ifnull 37
aload 6
aload 9
aload 0
getfield org.graalvm.compiler.virtual.phases.ea.ReadEliminationClosure.considerGuards:Z
invokestatic org.graalvm.compiler.virtual.phases.ea.ReadEliminationClosure.areValuesReplaceable:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Z)Z
ifeq 37
33: aload 3
aload 6
aload 9
aload 6
invokevirtual org.graalvm.compiler.virtual.phases.ea.GraphEffectList.replaceAtUsages:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/FixedNode;)V
34: aload 0
aload 6
aload 9
invokevirtual org.graalvm.compiler.virtual.phases.ea.ReadEliminationClosure.addScalarAlias:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)V
35: iconst_1
istore 5
36: goto 105
37: StackMap locals: org.graalvm.compiler.virtual.phases.ea.ReadEliminationClosure org.graalvm.compiler.graph.Node org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState org.graalvm.compiler.virtual.phases.ea.GraphEffectList org.graalvm.compiler.nodes.FixedWithNextNode int org.graalvm.compiler.nodes.memory.ReadNode org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState$LoadCacheEntry org.graalvm.compiler.nodes.ValueNode
StackMap stack:
aload 2
aload 8
aload 6
invokevirtual org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState.addCacheEntry:(Lorg/graalvm/compiler/virtual/phases/ea/ReadEliminationBlockState$CacheEntry;Lorg/graalvm/compiler/nodes/ValueNode;)V
end local 9 end local 8 end local 7 end local 6 38: goto 105
StackMap locals: org.graalvm.compiler.virtual.phases.ea.ReadEliminationClosure org.graalvm.compiler.graph.Node org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState org.graalvm.compiler.virtual.phases.ea.GraphEffectList org.graalvm.compiler.nodes.FixedWithNextNode int
StackMap stack:
39: aload 1
instanceof org.graalvm.compiler.nodes.memory.WriteNode
ifeq 54
40: aload 1
checkcast org.graalvm.compiler.nodes.memory.WriteNode
astore 6
start local 6 41: aload 6
invokevirtual org.graalvm.compiler.nodes.memory.WriteNode.getKilledLocationIdentity:()Ljdk/internal/vm/compiler/word/LocationIdentity;
invokevirtual jdk.internal.vm.compiler.word.LocationIdentity.isSingle:()Z
ifeq 52
42: aload 6
invokevirtual org.graalvm.compiler.nodes.memory.WriteNode.getAddress:()Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
invokestatic org.graalvm.compiler.nodes.util.GraphUtil.unproxify:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
astore 7
start local 7 43: new org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState$LoadCacheEntry
dup
aload 7
aload 6
invokevirtual org.graalvm.compiler.nodes.memory.WriteNode.getKilledLocationIdentity:()Ljdk/internal/vm/compiler/word/LocationIdentity;
invokespecial org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState$LoadCacheEntry.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/internal/vm/compiler/word/LocationIdentity;)V
astore 8
start local 8 44: aload 2
aload 8
invokevirtual org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState.getCacheEntry:(Lorg/graalvm/compiler/virtual/phases/ea/ReadEliminationBlockState$CacheEntry;)Lorg/graalvm/compiler/nodes/ValueNode;
astore 9
start local 9 45: aload 0
aload 6
invokevirtual org.graalvm.compiler.nodes.memory.WriteNode.value:()Lorg/graalvm/compiler/nodes/ValueNode;
invokevirtual org.graalvm.compiler.virtual.phases.ea.ReadEliminationClosure.getScalarAlias:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
astore 10
start local 10 46: aload 10
invokestatic org.graalvm.compiler.nodes.util.GraphUtil.unproxify:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
aload 9
invokestatic org.graalvm.compiler.nodes.util.GraphUtil.unproxify:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
if_acmpne 49
47: aload 3
aload 6
invokevirtual org.graalvm.compiler.virtual.phases.ea.GraphEffectList.deleteNode:(Lorg/graalvm/compiler/graph/Node;)V
48: iconst_1
istore 5
49: StackMap locals: org.graalvm.compiler.virtual.phases.ea.ReadEliminationClosure org.graalvm.compiler.graph.Node org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState org.graalvm.compiler.virtual.phases.ea.GraphEffectList org.graalvm.compiler.nodes.FixedWithNextNode int org.graalvm.compiler.nodes.memory.WriteNode org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState$LoadCacheEntry org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.ValueNode
StackMap stack:
aload 2
aload 6
invokevirtual org.graalvm.compiler.nodes.memory.WriteNode.getKilledLocationIdentity:()Ljdk/internal/vm/compiler/word/LocationIdentity;
invokestatic org.graalvm.compiler.virtual.phases.ea.ReadEliminationClosure.killReadCacheByIdentity:(Lorg/graalvm/compiler/virtual/phases/ea/ReadEliminationBlockState;Ljdk/internal/vm/compiler/word/LocationIdentity;)V
50: aload 2
aload 8
aload 10
invokevirtual org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState.addCacheEntry:(Lorg/graalvm/compiler/virtual/phases/ea/ReadEliminationBlockState$CacheEntry;Lorg/graalvm/compiler/nodes/ValueNode;)V
end local 10 end local 9 end local 8 end local 7 51: goto 105
52: StackMap locals: org.graalvm.compiler.virtual.phases.ea.ReadEliminationClosure org.graalvm.compiler.graph.Node org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState org.graalvm.compiler.virtual.phases.ea.GraphEffectList org.graalvm.compiler.nodes.FixedWithNextNode int org.graalvm.compiler.nodes.memory.WriteNode
StackMap stack:
aload 2
aload 6
invokevirtual org.graalvm.compiler.nodes.memory.WriteNode.getKilledLocationIdentity:()Ljdk/internal/vm/compiler/word/LocationIdentity;
invokestatic org.graalvm.compiler.virtual.phases.ea.ReadEliminationClosure.killReadCacheByIdentity:(Lorg/graalvm/compiler/virtual/phases/ea/ReadEliminationBlockState;Ljdk/internal/vm/compiler/word/LocationIdentity;)V
end local 6 53: goto 105
StackMap locals:
StackMap stack:
54: aload 1
instanceof org.graalvm.compiler.nodes.extended.UnsafeAccessNode
ifeq 95
55: aload 1
checkcast org.graalvm.compiler.nodes.extended.UnsafeAccessNode
astore 6
start local 6 56: aload 6
invokevirtual org.graalvm.compiler.nodes.extended.UnsafeAccessNode.isVolatile:()Z
ifeq 59
57: aload 2
invokestatic jdk.internal.vm.compiler.word.LocationIdentity.any:()Ljdk/internal/vm/compiler/word/LocationIdentity;
invokestatic org.graalvm.compiler.virtual.phases.ea.ReadEliminationClosure.killReadCacheByIdentity:(Lorg/graalvm/compiler/virtual/phases/ea/ReadEliminationBlockState;Ljdk/internal/vm/compiler/word/LocationIdentity;)V
58: goto 105
59: StackMap locals: org.graalvm.compiler.nodes.extended.UnsafeAccessNode
StackMap stack:
aload 6
invokevirtual org.graalvm.compiler.nodes.extended.UnsafeAccessNode.object:()Lorg/graalvm/compiler/nodes/ValueNode;
invokestatic org.graalvm.compiler.nodes.type.StampTool.typeOrNull:(Lorg/graalvm/compiler/nodes/ValueNode;)Ljdk/vm/ci/meta/ResolvedJavaType;
astore 7
start local 7 60: aload 7
ifnull 105
61: aload 7
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.isArray:()Z
ifeq 67
62: aload 6
astore 8
start local 8 63: aload 1
instanceof org.graalvm.compiler.nodes.extended.RawStoreNode
ifeq 66
64: aload 2
aload 8
invokevirtual org.graalvm.compiler.nodes.extended.UnsafeAccessNode.getLocationIdentity:()Ljdk/internal/vm/compiler/word/LocationIdentity;
invokestatic org.graalvm.compiler.virtual.phases.ea.ReadEliminationClosure.killReadCacheByIdentity:(Lorg/graalvm/compiler/virtual/phases/ea/ReadEliminationBlockState;Ljdk/internal/vm/compiler/word/LocationIdentity;)V
65: goto 105
66: StackMap locals: jdk.vm.ci.meta.ResolvedJavaType org.graalvm.compiler.nodes.extended.UnsafeAccessNode
StackMap stack:
getstatic org.graalvm.compiler.virtual.phases.ea.ReadEliminationClosure.$assertionsDisabled:Z
ifne 105
aload 8
instanceof org.graalvm.compiler.nodes.extended.RawLoadNode
ifne 105
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
ldc "Unknown UnsafeAccessNode "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 8
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
end local 8 67: StackMap locals:
StackMap stack:
aload 1
instanceof org.graalvm.compiler.nodes.extended.RawLoadNode
ifeq 80
68: aload 1
checkcast org.graalvm.compiler.nodes.extended.RawLoadNode
astore 8
start local 8 69: aload 8
invokevirtual org.graalvm.compiler.nodes.extended.RawLoadNode.getLocationIdentity:()Ljdk/internal/vm/compiler/word/LocationIdentity;
invokevirtual jdk.internal.vm.compiler.word.LocationIdentity.isSingle:()Z
ifeq 105
70: aload 8
invokevirtual org.graalvm.compiler.nodes.extended.RawLoadNode.object:()Lorg/graalvm/compiler/nodes/ValueNode;
invokestatic org.graalvm.compiler.nodes.util.GraphUtil.unproxify:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
astore 9
start local 9 71: new org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState$UnsafeLoadCacheEntry
dup
aload 9
aload 8
invokevirtual org.graalvm.compiler.nodes.extended.RawLoadNode.offset:()Lorg/graalvm/compiler/nodes/ValueNode;
aload 8
invokevirtual org.graalvm.compiler.nodes.extended.RawLoadNode.getLocationIdentity:()Ljdk/internal/vm/compiler/word/LocationIdentity;
invokespecial org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState$UnsafeLoadCacheEntry.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/internal/vm/compiler/word/LocationIdentity;)V
astore 10
start local 10 72: aload 2
aload 10
invokevirtual org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState.getCacheEntry:(Lorg/graalvm/compiler/virtual/phases/ea/ReadEliminationBlockState$CacheEntry;)Lorg/graalvm/compiler/nodes/ValueNode;
astore 11
start local 11 73: aload 11
ifnull 78
aload 8
aload 11
aload 0
getfield org.graalvm.compiler.virtual.phases.ea.ReadEliminationClosure.considerGuards:Z
invokestatic org.graalvm.compiler.virtual.phases.ea.ReadEliminationClosure.areValuesReplaceable:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Z)Z
ifeq 78
74: aload 3
aload 8
aload 11
aload 8
invokevirtual org.graalvm.compiler.virtual.phases.ea.GraphEffectList.replaceAtUsages:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/FixedNode;)V
75: aload 0
aload 8
aload 11
invokevirtual org.graalvm.compiler.virtual.phases.ea.ReadEliminationClosure.addScalarAlias:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)V
76: iconst_1
istore 5
77: goto 105
78: StackMap locals: org.graalvm.compiler.virtual.phases.ea.ReadEliminationClosure org.graalvm.compiler.graph.Node org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState org.graalvm.compiler.virtual.phases.ea.GraphEffectList org.graalvm.compiler.nodes.FixedWithNextNode int org.graalvm.compiler.nodes.extended.UnsafeAccessNode jdk.vm.ci.meta.ResolvedJavaType org.graalvm.compiler.nodes.extended.RawLoadNode org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState$UnsafeLoadCacheEntry org.graalvm.compiler.nodes.ValueNode
StackMap stack:
aload 2
aload 10
aload 8
invokevirtual org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState.addCacheEntry:(Lorg/graalvm/compiler/virtual/phases/ea/ReadEliminationBlockState$CacheEntry;Lorg/graalvm/compiler/nodes/ValueNode;)V
end local 11 end local 10 end local 9 end local 8 79: goto 105
80: StackMap locals: org.graalvm.compiler.virtual.phases.ea.ReadEliminationClosure org.graalvm.compiler.graph.Node org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState org.graalvm.compiler.virtual.phases.ea.GraphEffectList org.graalvm.compiler.nodes.FixedWithNextNode int org.graalvm.compiler.nodes.extended.UnsafeAccessNode jdk.vm.ci.meta.ResolvedJavaType
StackMap stack:
getstatic org.graalvm.compiler.virtual.phases.ea.ReadEliminationClosure.$assertionsDisabled:Z
ifne 81
aload 1
instanceof org.graalvm.compiler.nodes.extended.RawStoreNode
ifne 81
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
81: StackMap locals:
StackMap stack:
aload 1
checkcast org.graalvm.compiler.nodes.extended.RawStoreNode
astore 8
start local 8 82: aload 8
invokevirtual org.graalvm.compiler.nodes.extended.RawStoreNode.getKilledLocationIdentity:()Ljdk/internal/vm/compiler/word/LocationIdentity;
invokevirtual jdk.internal.vm.compiler.word.LocationIdentity.isSingle:()Z
ifeq 93
83: aload 8
invokevirtual org.graalvm.compiler.nodes.extended.RawStoreNode.object:()Lorg/graalvm/compiler/nodes/ValueNode;
invokestatic org.graalvm.compiler.nodes.util.GraphUtil.unproxify:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
astore 9
start local 9 84: new org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState$UnsafeLoadCacheEntry
dup
aload 9
aload 8
invokevirtual org.graalvm.compiler.nodes.extended.RawStoreNode.offset:()Lorg/graalvm/compiler/nodes/ValueNode;
aload 8
invokevirtual org.graalvm.compiler.nodes.extended.RawStoreNode.getKilledLocationIdentity:()Ljdk/internal/vm/compiler/word/LocationIdentity;
invokespecial org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState$UnsafeLoadCacheEntry.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/internal/vm/compiler/word/LocationIdentity;)V
astore 10
start local 10 85: aload 2
aload 10
invokevirtual org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState.getCacheEntry:(Lorg/graalvm/compiler/virtual/phases/ea/ReadEliminationBlockState$CacheEntry;)Lorg/graalvm/compiler/nodes/ValueNode;
astore 11
start local 11 86: aload 0
aload 8
invokevirtual org.graalvm.compiler.nodes.extended.RawStoreNode.value:()Lorg/graalvm/compiler/nodes/ValueNode;
invokevirtual org.graalvm.compiler.virtual.phases.ea.ReadEliminationClosure.getScalarAlias:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
astore 12
start local 12 87: aload 12
invokestatic org.graalvm.compiler.nodes.util.GraphUtil.unproxify:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
aload 11
invokestatic org.graalvm.compiler.nodes.util.GraphUtil.unproxify:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
if_acmpne 90
88: aload 3
aload 8
invokevirtual org.graalvm.compiler.virtual.phases.ea.GraphEffectList.deleteNode:(Lorg/graalvm/compiler/graph/Node;)V
89: iconst_1
istore 5
90: StackMap locals: org.graalvm.compiler.virtual.phases.ea.ReadEliminationClosure org.graalvm.compiler.graph.Node org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState org.graalvm.compiler.virtual.phases.ea.GraphEffectList org.graalvm.compiler.nodes.FixedWithNextNode int org.graalvm.compiler.nodes.extended.UnsafeAccessNode jdk.vm.ci.meta.ResolvedJavaType org.graalvm.compiler.nodes.extended.RawStoreNode org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState$UnsafeLoadCacheEntry org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.ValueNode
StackMap stack:
aload 2
aload 8
invokevirtual org.graalvm.compiler.nodes.extended.RawStoreNode.getKilledLocationIdentity:()Ljdk/internal/vm/compiler/word/LocationIdentity;
invokestatic org.graalvm.compiler.virtual.phases.ea.ReadEliminationClosure.killReadCacheByIdentity:(Lorg/graalvm/compiler/virtual/phases/ea/ReadEliminationBlockState;Ljdk/internal/vm/compiler/word/LocationIdentity;)V
91: aload 2
aload 10
aload 12
invokevirtual org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState.addCacheEntry:(Lorg/graalvm/compiler/virtual/phases/ea/ReadEliminationBlockState$CacheEntry;Lorg/graalvm/compiler/nodes/ValueNode;)V
end local 12 end local 11 end local 10 end local 9 92: goto 105
93: StackMap locals: org.graalvm.compiler.virtual.phases.ea.ReadEliminationClosure org.graalvm.compiler.graph.Node org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState org.graalvm.compiler.virtual.phases.ea.GraphEffectList org.graalvm.compiler.nodes.FixedWithNextNode int org.graalvm.compiler.nodes.extended.UnsafeAccessNode jdk.vm.ci.meta.ResolvedJavaType org.graalvm.compiler.nodes.extended.RawStoreNode
StackMap stack:
aload 2
aload 8
invokevirtual org.graalvm.compiler.nodes.extended.RawStoreNode.getKilledLocationIdentity:()Ljdk/internal/vm/compiler/word/LocationIdentity;
invokestatic org.graalvm.compiler.virtual.phases.ea.ReadEliminationClosure.killReadCacheByIdentity:(Lorg/graalvm/compiler/virtual/phases/ea/ReadEliminationBlockState;Ljdk/internal/vm/compiler/word/LocationIdentity;)V
end local 8 end local 7 end local 6 94: goto 105
StackMap locals:
StackMap stack:
95: aload 1
instanceof org.graalvm.compiler.nodes.memory.SingleMemoryKill
ifeq 99
96: aload 1
checkcast org.graalvm.compiler.nodes.memory.SingleMemoryKill
invokeinterface org.graalvm.compiler.nodes.memory.SingleMemoryKill.getKilledLocationIdentity:()Ljdk/internal/vm/compiler/word/LocationIdentity;
astore 6
start local 6 97: aload 2
aload 6
invokestatic org.graalvm.compiler.virtual.phases.ea.ReadEliminationClosure.killReadCacheByIdentity:(Lorg/graalvm/compiler/virtual/phases/ea/ReadEliminationBlockState;Ljdk/internal/vm/compiler/word/LocationIdentity;)V
end local 6 98: goto 105
StackMap locals:
StackMap stack:
99: aload 1
instanceof org.graalvm.compiler.nodes.memory.MultiMemoryKill
ifeq 105
100: aload 1
checkcast org.graalvm.compiler.nodes.memory.MultiMemoryKill
invokeinterface org.graalvm.compiler.nodes.memory.MultiMemoryKill.getKilledLocationIdentities:()[Ljdk/internal/vm/compiler/word/LocationIdentity;
dup
astore 9
arraylength
istore 8
iconst_0
istore 7
goto 104
StackMap locals: org.graalvm.compiler.virtual.phases.ea.ReadEliminationClosure org.graalvm.compiler.graph.Node org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState org.graalvm.compiler.virtual.phases.ea.GraphEffectList org.graalvm.compiler.nodes.FixedWithNextNode int top int int jdk.internal.vm.compiler.word.LocationIdentity[]
StackMap stack:
101: aload 9
iload 7
aaload
astore 6
start local 6 102: aload 2
aload 6
invokestatic org.graalvm.compiler.virtual.phases.ea.ReadEliminationClosure.killReadCacheByIdentity:(Lorg/graalvm/compiler/virtual/phases/ea/ReadEliminationBlockState;Ljdk/internal/vm/compiler/word/LocationIdentity;)V
end local 6 103: iinc 7 1
StackMap locals:
StackMap stack:
104: iload 7
iload 8
if_icmplt 101
105: StackMap locals: org.graalvm.compiler.virtual.phases.ea.ReadEliminationClosure org.graalvm.compiler.graph.Node org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState org.graalvm.compiler.virtual.phases.ea.GraphEffectList org.graalvm.compiler.nodes.FixedWithNextNode int
StackMap stack:
iload 5
ireturn
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 106 0 this Lorg/graalvm/compiler/virtual/phases/ea/ReadEliminationClosure;
0 106 1 node Lorg/graalvm/compiler/graph/Node;
0 106 2 state Lorg/graalvm/compiler/virtual/phases/ea/ReadEliminationBlockState;
0 106 3 effects Lorg/graalvm/compiler/virtual/phases/ea/GraphEffectList;
0 106 4 lastFixedNode Lorg/graalvm/compiler/nodes/FixedWithNextNode;
1 106 5 deleted Z
3 25 6 access Lorg/graalvm/compiler/nodes/java/AccessFieldNode;
7 25 7 object Lorg/graalvm/compiler/nodes/ValueNode;
8 25 8 identifier Lorg/graalvm/compiler/virtual/phases/ea/ReadEliminationBlockState$LoadCacheEntry;
9 25 9 cachedValue Lorg/graalvm/compiler/nodes/ValueNode;
19 25 10 store Lorg/graalvm/compiler/nodes/java/StoreFieldNode;
20 25 11 value Lorg/graalvm/compiler/nodes/ValueNode;
28 38 6 read Lorg/graalvm/compiler/nodes/memory/ReadNode;
30 38 7 object Lorg/graalvm/compiler/nodes/ValueNode;
31 38 8 identifier Lorg/graalvm/compiler/virtual/phases/ea/ReadEliminationBlockState$LoadCacheEntry;
32 38 9 cachedValue Lorg/graalvm/compiler/nodes/ValueNode;
41 53 6 write Lorg/graalvm/compiler/nodes/memory/WriteNode;
43 51 7 object Lorg/graalvm/compiler/nodes/ValueNode;
44 51 8 identifier Lorg/graalvm/compiler/virtual/phases/ea/ReadEliminationBlockState$LoadCacheEntry;
45 51 9 cachedValue Lorg/graalvm/compiler/nodes/ValueNode;
46 51 10 value Lorg/graalvm/compiler/nodes/ValueNode;
56 94 6 unsafeAccess Lorg/graalvm/compiler/nodes/extended/UnsafeAccessNode;
60 94 7 type Ljdk/vm/ci/meta/ResolvedJavaType;
63 67 8 ua Lorg/graalvm/compiler/nodes/extended/UnsafeAccessNode;
69 79 8 load Lorg/graalvm/compiler/nodes/extended/RawLoadNode;
71 79 9 object Lorg/graalvm/compiler/nodes/ValueNode;
72 79 10 identifier Lorg/graalvm/compiler/virtual/phases/ea/ReadEliminationBlockState$UnsafeLoadCacheEntry;
73 79 11 cachedValue Lorg/graalvm/compiler/nodes/ValueNode;
82 94 8 write Lorg/graalvm/compiler/nodes/extended/RawStoreNode;
84 92 9 object Lorg/graalvm/compiler/nodes/ValueNode;
85 92 10 identifier Lorg/graalvm/compiler/virtual/phases/ea/ReadEliminationBlockState$UnsafeLoadCacheEntry;
86 92 11 cachedValue Lorg/graalvm/compiler/nodes/ValueNode;
87 92 12 value Lorg/graalvm/compiler/nodes/ValueNode;
97 98 6 identity Ljdk/internal/vm/compiler/word/LocationIdentity;
102 103 6 identity Ljdk/internal/vm/compiler/word/LocationIdentity;
MethodParameters:
Name Flags
node
state
effects
lastFixedNode
private static boolean areValuesReplaceable(org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.ValueNode, boolean);
descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Z)Z
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
getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
invokevirtual org.graalvm.compiler.nodes.ValueNode.stamp:(Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/core/common/type/Stamp;
aload 1
getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
invokevirtual org.graalvm.compiler.nodes.ValueNode.stamp:(Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/core/common/type/Stamp;
invokevirtual org.graalvm.compiler.core.common.type.Stamp.isCompatible:(Lorg/graalvm/compiler/core/common/type/Stamp;)Z
ifeq 3
1: iload 2
ifeq 2
aload 0
invokestatic org.graalvm.compiler.virtual.phases.ea.ReadEliminationClosure.getGuard:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/extended/GuardingNode;
ifnull 2
aload 0
invokestatic org.graalvm.compiler.virtual.phases.ea.ReadEliminationClosure.getGuard:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/extended/GuardingNode;
aload 1
invokestatic org.graalvm.compiler.virtual.phases.ea.ReadEliminationClosure.getGuard:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/extended/GuardingNode;
if_acmpne 3
2: StackMap locals:
StackMap stack:
iconst_1
ireturn
StackMap locals:
StackMap stack:
3: iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 originalValue Lorg/graalvm/compiler/nodes/ValueNode;
0 4 1 replacementValue Lorg/graalvm/compiler/nodes/ValueNode;
0 4 2 considerGuards Z
MethodParameters:
Name Flags
originalValue
replacementValue
considerGuards
private static org.graalvm.compiler.nodes.extended.GuardingNode getGuard(org.graalvm.compiler.nodes.ValueNode);
descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/extended/GuardingNode;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=2, args_size=1
start local 0 0: aload 0
instanceof org.graalvm.compiler.nodes.extended.GuardedNode
ifeq 3
1: aload 0
checkcast org.graalvm.compiler.nodes.extended.GuardedNode
astore 1
start local 1 2: aload 1
invokeinterface org.graalvm.compiler.nodes.extended.GuardedNode.getGuard:()Lorg/graalvm/compiler/nodes/extended/GuardingNode;
areturn
end local 1 3: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 node Lorg/graalvm/compiler/nodes/ValueNode;
2 3 1 guardedNode Lorg/graalvm/compiler/nodes/extended/GuardedNode;
MethodParameters:
Name Flags
node
private static void killReadCacheByIdentity(org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState, jdk.internal.vm.compiler.word.LocationIdentity);
descriptor: (Lorg/graalvm/compiler/virtual/phases/ea/ReadEliminationBlockState;Ljdk/internal/vm/compiler/word/LocationIdentity;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
aconst_null
aconst_null
invokevirtual org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState.killReadCache:(Ljdk/internal/vm/compiler/word/LocationIdentity;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 state Lorg/graalvm/compiler/virtual/phases/ea/ReadEliminationBlockState;
0 2 1 identity Ljdk/internal/vm/compiler/word/LocationIdentity;
MethodParameters:
Name Flags
state
identity
protected void processLoopExit(org.graalvm.compiler.nodes.LoopExitNode, org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState, org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState, org.graalvm.compiler.virtual.phases.ea.GraphEffectList);
descriptor: (Lorg/graalvm/compiler/nodes/LoopExitNode;Lorg/graalvm/compiler/virtual/phases/ea/ReadEliminationBlockState;Lorg/graalvm/compiler/virtual/phases/ea/ReadEliminationBlockState;Lorg/graalvm/compiler/virtual/phases/ea/GraphEffectList;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=7, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 1
invokevirtual org.graalvm.compiler.nodes.LoopExitNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.hasValueProxies:()Z
ifeq 8
1: aload 3
invokevirtual org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState.getReadCache:()Ljdk/internal/vm/compiler/collections/EconomicMap;
invokeinterface jdk.internal.vm.compiler.collections.EconomicMap.getEntries:()Ljdk/internal/vm/compiler/collections/MapCursor;
astore 5
start local 5 2: goto 7
3: StackMap locals: jdk.internal.vm.compiler.collections.MapCursor
StackMap stack:
aload 2
invokevirtual org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState.getReadCache:()Ljdk/internal/vm/compiler/collections/EconomicMap;
aload 5
invokeinterface jdk.internal.vm.compiler.collections.MapCursor.getKey:()Ljava/lang/Object;
checkcast org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState$CacheEntry
invokeinterface jdk.internal.vm.compiler.collections.EconomicMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
aload 5
invokeinterface jdk.internal.vm.compiler.collections.MapCursor.getValue:()Ljava/lang/Object;
if_acmpeq 7
4: new org.graalvm.compiler.nodes.ValueProxyNode
dup
aload 3
aload 5
invokeinterface jdk.internal.vm.compiler.collections.MapCursor.getKey:()Ljava/lang/Object;
checkcast org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState$CacheEntry
invokevirtual org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState.getCacheEntry:(Lorg/graalvm/compiler/virtual/phases/ea/ReadEliminationBlockState$CacheEntry;)Lorg/graalvm/compiler/nodes/ValueNode;
aload 1
invokespecial org.graalvm.compiler.nodes.ValueProxyNode.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/LoopExitNode;)V
astore 6
start local 6 5: aload 4
aload 6
ldc "readCacheProxy"
invokevirtual org.graalvm.compiler.virtual.phases.ea.GraphEffectList.addFloatingNode:(Lorg/graalvm/compiler/nodes/ValueNode;Ljava/lang/String;)V
6: aload 3
invokevirtual org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState.getReadCache:()Ljdk/internal/vm/compiler/collections/EconomicMap;
aload 5
invokeinterface jdk.internal.vm.compiler.collections.MapCursor.getKey:()Ljava/lang/Object;
checkcast org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState$CacheEntry
aload 6
invokeinterface jdk.internal.vm.compiler.collections.EconomicMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 6 7: StackMap locals:
StackMap stack:
aload 5
invokeinterface jdk.internal.vm.compiler.collections.MapCursor.advance:()Z
ifne 3
end local 5 8: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/graalvm/compiler/virtual/phases/ea/ReadEliminationClosure;
0 9 1 exitNode Lorg/graalvm/compiler/nodes/LoopExitNode;
0 9 2 initialState Lorg/graalvm/compiler/virtual/phases/ea/ReadEliminationBlockState;
0 9 3 exitState Lorg/graalvm/compiler/virtual/phases/ea/ReadEliminationBlockState;
0 9 4 effects Lorg/graalvm/compiler/virtual/phases/ea/GraphEffectList;
2 8 5 entry Ljdk/internal/vm/compiler/collections/MapCursor<Lorg/graalvm/compiler/virtual/phases/ea/ReadEliminationBlockState$CacheEntry<*>;Lorg/graalvm/compiler/nodes/ValueNode;>;
5 7 6 proxy Lorg/graalvm/compiler/nodes/ProxyNode;
MethodParameters:
Name Flags
exitNode
initialState
exitState
effects
protected org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState cloneState(org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState);
descriptor: (Lorg/graalvm/compiler/virtual/phases/ea/ReadEliminationBlockState;)Lorg/graalvm/compiler/virtual/phases/ea/ReadEliminationBlockState;
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: new org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState
dup
aload 1
invokespecial org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState.<init>:(Lorg/graalvm/compiler/virtual/phases/ea/ReadEliminationBlockState;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/virtual/phases/ea/ReadEliminationClosure;
0 1 1 other Lorg/graalvm/compiler/virtual/phases/ea/ReadEliminationBlockState;
MethodParameters:
Name Flags
other
protected org.graalvm.compiler.virtual.phases.ea.EffectsClosure<org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState>.MergeProcessor createMergeProcessor(org.graalvm.compiler.nodes.cfg.Block);
descriptor: (Lorg/graalvm/compiler/nodes/cfg/Block;)Lorg/graalvm/compiler/virtual/phases/ea/EffectsClosure$MergeProcessor;
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: new org.graalvm.compiler.virtual.phases.ea.ReadEliminationClosure$ReadEliminationMergeProcessor
dup
aload 0
aload 1
invokespecial org.graalvm.compiler.virtual.phases.ea.ReadEliminationClosure$ReadEliminationMergeProcessor.<init>:(Lorg/graalvm/compiler/virtual/phases/ea/ReadEliminationClosure;Lorg/graalvm/compiler/nodes/cfg/Block;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/virtual/phases/ea/ReadEliminationClosure;
0 1 1 merge Lorg/graalvm/compiler/nodes/cfg/Block;
Signature: (Lorg/graalvm/compiler/nodes/cfg/Block;)Lorg/graalvm/compiler/virtual/phases/ea/EffectsClosure<Lorg/graalvm/compiler/virtual/phases/ea/ReadEliminationBlockState;>.MergeProcessor;
MethodParameters:
Name Flags
merge
protected void processKilledLoopLocations(org.graalvm.compiler.core.common.cfg.Loop<org.graalvm.compiler.nodes.cfg.Block>, org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState, org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState);
descriptor: (Lorg/graalvm/compiler/core/common/cfg/Loop;Lorg/graalvm/compiler/virtual/phases/ea/ReadEliminationBlockState;Lorg/graalvm/compiler/virtual/phases/ea/ReadEliminationBlockState;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=9, args_size=4
start local 0 start local 1 start local 2 start local 3 0: getstatic org.graalvm.compiler.virtual.phases.ea.ReadEliminationClosure.$assertionsDisabled:Z
ifne 1
aload 2
ifnonnull 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.virtual.phases.ea.ReadEliminationClosure.$assertionsDisabled:Z
ifne 2
aload 3
ifnonnull 2
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
aload 2
getfield org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState.readCache:Ljdk/internal/vm/compiler/collections/EconomicMap;
invokeinterface jdk.internal.vm.compiler.collections.EconomicMap.size:()I
ifle 30
3: aload 0
getfield org.graalvm.compiler.virtual.phases.ea.ReadEliminationClosure.loopLocationKillCache:Ljdk/internal/vm/compiler/collections/EconomicMap;
aload 1
invokeinterface jdk.internal.vm.compiler.collections.EconomicMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.graalvm.compiler.virtual.phases.ea.EffectsClosure$LoopKillCache
astore 4
start local 4 4: aload 4
ifnonnull 8
5: new org.graalvm.compiler.virtual.phases.ea.EffectsClosure$LoopKillCache
dup
iconst_1
invokespecial org.graalvm.compiler.virtual.phases.ea.EffectsClosure$LoopKillCache.<init>:(I)V
astore 4
6: aload 0
getfield org.graalvm.compiler.virtual.phases.ea.ReadEliminationClosure.loopLocationKillCache:Ljdk/internal/vm/compiler/collections/EconomicMap;
aload 1
aload 4
invokeinterface jdk.internal.vm.compiler.collections.EconomicMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
7: goto 30
8: StackMap locals: org.graalvm.compiler.virtual.phases.ea.EffectsClosure$LoopKillCache
StackMap stack:
aload 1
invokevirtual org.graalvm.compiler.core.common.cfg.Loop.getHeader:()Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
checkcast org.graalvm.compiler.nodes.cfg.Block
invokevirtual org.graalvm.compiler.nodes.cfg.Block.getBeginNode:()Lorg/graalvm/compiler/nodes/AbstractBeginNode;
invokevirtual org.graalvm.compiler.nodes.AbstractBeginNode.getOptions:()Lorg/graalvm/compiler/options/OptionValues;
astore 5
start local 5 9: aload 4
invokevirtual org.graalvm.compiler.virtual.phases.ea.EffectsClosure$LoopKillCache.visits:()I
getstatic org.graalvm.compiler.core.common.GraalOptions.ReadEliminationMaxLoopVisits:Lorg/graalvm/compiler/options/OptionKey;
aload 5
invokevirtual org.graalvm.compiler.options.OptionKey.getValue:(Lorg/graalvm/compiler/options/OptionValues;)Ljava/lang/Object;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
if_icmple 12
10: aload 4
invokevirtual org.graalvm.compiler.virtual.phases.ea.EffectsClosure$LoopKillCache.setKillsAll:()V
11: goto 29
12: StackMap locals: org.graalvm.compiler.options.OptionValues
StackMap stack:
getstatic jdk.internal.vm.compiler.collections.Equivalence.DEFAULT:Ljdk/internal/vm/compiler/collections/Equivalence;
invokestatic jdk.internal.vm.compiler.collections.EconomicSet.create:(Ljdk/internal/vm/compiler/collections/Equivalence;)Ljdk/internal/vm/compiler/collections/EconomicSet;
astore 6
start local 6 13: aload 2
getfield org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState.readCache:Ljdk/internal/vm/compiler/collections/EconomicMap;
invokeinterface jdk.internal.vm.compiler.collections.EconomicMap.getKeys:()Ljava/lang/Iterable;
invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
astore 8
goto 16
StackMap locals: org.graalvm.compiler.virtual.phases.ea.ReadEliminationClosure org.graalvm.compiler.core.common.cfg.Loop org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState org.graalvm.compiler.virtual.phases.ea.EffectsClosure$LoopKillCache org.graalvm.compiler.options.OptionValues jdk.internal.vm.compiler.collections.EconomicSet top java.util.Iterator
StackMap stack:
14: aload 8
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState$CacheEntry
astore 7
start local 7 15: aload 6
aload 7
invokevirtual org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState$CacheEntry.getIdentity:()Ljdk/internal/vm/compiler/word/LocationIdentity;
invokeinterface jdk.internal.vm.compiler.collections.EconomicSet.add:(Ljava/lang/Object;)Z
pop
end local 7 16: StackMap locals:
StackMap stack:
aload 8
invokeinterface java.util.Iterator.hasNext:()Z
ifne 14
17: aload 3
getfield org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState.readCache:Ljdk/internal/vm/compiler/collections/EconomicMap;
invokeinterface jdk.internal.vm.compiler.collections.EconomicMap.getKeys:()Ljava/lang/Iterable;
invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
astore 8
goto 20
StackMap locals:
StackMap stack:
18: aload 8
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState$CacheEntry
astore 7
start local 7 19: aload 6
aload 7
invokevirtual org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState$CacheEntry.getIdentity:()Ljdk/internal/vm/compiler/word/LocationIdentity;
invokeinterface jdk.internal.vm.compiler.collections.EconomicSet.remove:(Ljava/lang/Object;)V
end local 7 20: StackMap locals:
StackMap stack:
aload 8
invokeinterface java.util.Iterator.hasNext:()Z
ifne 18
21: aload 6
invokeinterface jdk.internal.vm.compiler.collections.EconomicSet.iterator:()Ljava/util/Iterator;
astore 8
goto 24
StackMap locals:
StackMap stack:
22: aload 8
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast jdk.internal.vm.compiler.word.LocationIdentity
astore 7
start local 7 23: aload 4
aload 7
invokevirtual org.graalvm.compiler.virtual.phases.ea.EffectsClosure$LoopKillCache.rememberLoopKilledLocation:(Ljdk/internal/vm/compiler/word/LocationIdentity;)V
end local 7 24: StackMap locals:
StackMap stack:
aload 8
invokeinterface java.util.Iterator.hasNext:()Z
ifne 22
25: aload 0
getfield org.graalvm.compiler.virtual.phases.ea.ReadEliminationClosure.debug:Lorg/graalvm/compiler/debug/DebugContext;
invokevirtual org.graalvm.compiler.debug.DebugContext.isLogEnabled:()Z
ifeq 29
aload 4
ifnull 29
26: aload 0
getfield org.graalvm.compiler.virtual.phases.ea.ReadEliminationClosure.debug:Lorg/graalvm/compiler/debug/DebugContext;
ldc "[Early Read Elimination] Setting loop killed locations of loop at node %s with %s"
27: aload 1
invokevirtual org.graalvm.compiler.core.common.cfg.Loop.getHeader:()Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
checkcast org.graalvm.compiler.nodes.cfg.Block
invokevirtual org.graalvm.compiler.nodes.cfg.Block.getBeginNode:()Lorg/graalvm/compiler/nodes/AbstractBeginNode;
aload 6
28: invokevirtual org.graalvm.compiler.debug.DebugContext.log:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
end local 6 29: StackMap locals: org.graalvm.compiler.virtual.phases.ea.ReadEliminationClosure org.graalvm.compiler.core.common.cfg.Loop org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState org.graalvm.compiler.virtual.phases.ea.EffectsClosure$LoopKillCache org.graalvm.compiler.options.OptionValues
StackMap stack:
aload 4
invokevirtual org.graalvm.compiler.virtual.phases.ea.EffectsClosure$LoopKillCache.visited:()V
end local 5 end local 4 30: StackMap locals:
StackMap stack:
return
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/virtual/phases/ea/ReadEliminationClosure;
0 31 1 loop Lorg/graalvm/compiler/core/common/cfg/Loop<Lorg/graalvm/compiler/nodes/cfg/Block;>;
0 31 2 initialState Lorg/graalvm/compiler/virtual/phases/ea/ReadEliminationBlockState;
0 31 3 mergedStates Lorg/graalvm/compiler/virtual/phases/ea/ReadEliminationBlockState;
4 30 4 loopKilledLocations Lorg/graalvm/compiler/virtual/phases/ea/EffectsClosure$LoopKillCache;
9 30 5 options Lorg/graalvm/compiler/options/OptionValues;
13 29 6 forwardEndLiveLocations Ljdk/internal/vm/compiler/collections/EconomicSet<Ljdk/internal/vm/compiler/word/LocationIdentity;>;
15 16 7 entry Lorg/graalvm/compiler/virtual/phases/ea/ReadEliminationBlockState$CacheEntry<*>;
19 20 7 entry Lorg/graalvm/compiler/virtual/phases/ea/ReadEliminationBlockState$CacheEntry<*>;
23 24 7 location Ljdk/internal/vm/compiler/word/LocationIdentity;
Signature: (Lorg/graalvm/compiler/core/common/cfg/Loop<Lorg/graalvm/compiler/nodes/cfg/Block;>;Lorg/graalvm/compiler/virtual/phases/ea/ReadEliminationBlockState;Lorg/graalvm/compiler/virtual/phases/ea/ReadEliminationBlockState;)V
MethodParameters:
Name Flags
loop
initialState
mergedStates
protected org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState stripKilledLoopLocations(org.graalvm.compiler.core.common.cfg.Loop<org.graalvm.compiler.nodes.cfg.Block>, org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState);
descriptor: (Lorg/graalvm/compiler/core/common/cfg/Loop;Lorg/graalvm/compiler/virtual/phases/ea/ReadEliminationBlockState;)Lorg/graalvm/compiler/virtual/phases/ea/ReadEliminationBlockState;
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
invokespecial org.graalvm.compiler.virtual.phases.ea.EffectsClosure.stripKilledLoopLocations:(Lorg/graalvm/compiler/core/common/cfg/Loop;Lorg/graalvm/compiler/virtual/phases/ea/EffectsBlockState;)Lorg/graalvm/compiler/virtual/phases/ea/EffectsBlockState;
checkcast org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState
astore 3
start local 3 1: aload 0
getfield org.graalvm.compiler.virtual.phases.ea.ReadEliminationClosure.loopLocationKillCache:Ljdk/internal/vm/compiler/collections/EconomicMap;
aload 1
invokeinterface jdk.internal.vm.compiler.collections.EconomicMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.graalvm.compiler.virtual.phases.ea.EffectsClosure$LoopKillCache
astore 4
start local 4 2: aload 4
ifnull 9
aload 4
invokevirtual org.graalvm.compiler.virtual.phases.ea.EffectsClosure$LoopKillCache.loopKillsLocations:()Z
ifeq 9
3: aload 3
getfield org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState.readCache:Ljdk/internal/vm/compiler/collections/EconomicMap;
invokeinterface jdk.internal.vm.compiler.collections.EconomicMap.getKeys:()Ljava/lang/Iterable;
invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
astore 5
start local 5 4: goto 8
5: StackMap locals: org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState org.graalvm.compiler.virtual.phases.ea.EffectsClosure$LoopKillCache java.util.Iterator
StackMap stack:
aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState$CacheEntry
astore 6
start local 6 6: aload 4
aload 6
invokevirtual org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState$CacheEntry.getIdentity:()Ljdk/internal/vm/compiler/word/LocationIdentity;
invokevirtual org.graalvm.compiler.virtual.phases.ea.EffectsClosure$LoopKillCache.containsLocation:(Ljdk/internal/vm/compiler/word/LocationIdentity;)Z
ifeq 8
7: aload 5
invokeinterface java.util.Iterator.remove:()V
end local 6 8: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 5
end local 5 9: StackMap locals:
StackMap stack:
aload 3
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lorg/graalvm/compiler/virtual/phases/ea/ReadEliminationClosure;
0 10 1 loop Lorg/graalvm/compiler/core/common/cfg/Loop<Lorg/graalvm/compiler/nodes/cfg/Block;>;
0 10 2 originalInitialState Lorg/graalvm/compiler/virtual/phases/ea/ReadEliminationBlockState;
1 10 3 initialState Lorg/graalvm/compiler/virtual/phases/ea/ReadEliminationBlockState;
2 10 4 loopKilledLocations Lorg/graalvm/compiler/virtual/phases/ea/EffectsClosure$LoopKillCache;
4 9 5 it Ljava/util/Iterator<Lorg/graalvm/compiler/virtual/phases/ea/ReadEliminationBlockState$CacheEntry<*>;>;
6 8 6 entry Lorg/graalvm/compiler/virtual/phases/ea/ReadEliminationBlockState$CacheEntry<*>;
Signature: (Lorg/graalvm/compiler/core/common/cfg/Loop<Lorg/graalvm/compiler/nodes/cfg/Block;>;Lorg/graalvm/compiler/virtual/phases/ea/ReadEliminationBlockState;)Lorg/graalvm/compiler/virtual/phases/ea/ReadEliminationBlockState;
MethodParameters:
Name Flags
loop
originalInitialState
protected void processLoopExit(org.graalvm.compiler.nodes.LoopExitNode, org.graalvm.compiler.virtual.phases.ea.EffectsBlockState, org.graalvm.compiler.virtual.phases.ea.EffectsBlockState, org.graalvm.compiler.virtual.phases.ea.GraphEffectList);
descriptor: (Lorg/graalvm/compiler/nodes/LoopExitNode;Lorg/graalvm/compiler/virtual/phases/ea/EffectsBlockState;Lorg/graalvm/compiler/virtual/phases/ea/EffectsBlockState;Lorg/graalvm/compiler/virtual/phases/ea/GraphEffectList;)V
flags: (0x1044) ACC_PROTECTED, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=5, locals=5, args_size=5
0: aload 0
aload 1
aload 2
checkcast org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState
aload 3
checkcast org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState
aload 4
invokevirtual org.graalvm.compiler.virtual.phases.ea.ReadEliminationClosure.processLoopExit:(Lorg/graalvm/compiler/nodes/LoopExitNode;Lorg/graalvm/compiler/virtual/phases/ea/ReadEliminationBlockState;Lorg/graalvm/compiler/virtual/phases/ea/ReadEliminationBlockState;Lorg/graalvm/compiler/virtual/phases/ea/GraphEffectList;)V
return
LocalVariableTable:
Start End Slot Name Signature
protected boolean processNode(org.graalvm.compiler.graph.Node, org.graalvm.compiler.virtual.phases.ea.EffectsBlockState, org.graalvm.compiler.virtual.phases.ea.GraphEffectList, org.graalvm.compiler.nodes.FixedWithNextNode);
descriptor: (Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/virtual/phases/ea/EffectsBlockState;Lorg/graalvm/compiler/virtual/phases/ea/GraphEffectList;Lorg/graalvm/compiler/nodes/FixedWithNextNode;)Z
flags: (0x1044) ACC_PROTECTED, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=5, locals=5, args_size=5
0: aload 0
aload 1
aload 2
checkcast org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState
aload 3
aload 4
invokevirtual org.graalvm.compiler.virtual.phases.ea.ReadEliminationClosure.processNode:(Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/virtual/phases/ea/ReadEliminationBlockState;Lorg/graalvm/compiler/virtual/phases/ea/GraphEffectList;Lorg/graalvm/compiler/nodes/FixedWithNextNode;)Z
ireturn
LocalVariableTable:
Start End Slot Name Signature
protected org.graalvm.compiler.virtual.phases.ea.EffectsBlockState stripKilledLoopLocations(org.graalvm.compiler.core.common.cfg.Loop, org.graalvm.compiler.virtual.phases.ea.EffectsBlockState);
descriptor: (Lorg/graalvm/compiler/core/common/cfg/Loop;Lorg/graalvm/compiler/virtual/phases/ea/EffectsBlockState;)Lorg/graalvm/compiler/virtual/phases/ea/EffectsBlockState;
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.virtual.phases.ea.ReadEliminationBlockState
invokevirtual org.graalvm.compiler.virtual.phases.ea.ReadEliminationClosure.stripKilledLoopLocations:(Lorg/graalvm/compiler/core/common/cfg/Loop;Lorg/graalvm/compiler/virtual/phases/ea/ReadEliminationBlockState;)Lorg/graalvm/compiler/virtual/phases/ea/ReadEliminationBlockState;
areturn
LocalVariableTable:
Start End Slot Name Signature
protected java.lang.Object getInitialState();
descriptor: ()Ljava/lang/Object;
flags: (0x1044) ACC_PROTECTED, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokevirtual org.graalvm.compiler.virtual.phases.ea.ReadEliminationClosure.getInitialState:()Lorg/graalvm/compiler/virtual/phases/ea/ReadEliminationBlockState;
areturn
LocalVariableTable:
Start End Slot Name Signature
protected void processKilledLoopLocations(org.graalvm.compiler.core.common.cfg.Loop, org.graalvm.compiler.virtual.phases.ea.EffectsBlockState, org.graalvm.compiler.virtual.phases.ea.EffectsBlockState);
descriptor: (Lorg/graalvm/compiler/core/common/cfg/Loop;Lorg/graalvm/compiler/virtual/phases/ea/EffectsBlockState;Lorg/graalvm/compiler/virtual/phases/ea/EffectsBlockState;)V
flags: (0x1044) ACC_PROTECTED, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=4, locals=4, args_size=4
0: aload 0
aload 1
aload 2
checkcast org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState
aload 3
checkcast org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState
invokevirtual org.graalvm.compiler.virtual.phases.ea.ReadEliminationClosure.processKilledLoopLocations:(Lorg/graalvm/compiler/core/common/cfg/Loop;Lorg/graalvm/compiler/virtual/phases/ea/ReadEliminationBlockState;Lorg/graalvm/compiler/virtual/phases/ea/ReadEliminationBlockState;)V
return
LocalVariableTable:
Start End Slot Name Signature
protected java.lang.Object cloneState(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x1044) ACC_PROTECTED, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
checkcast org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState
invokevirtual org.graalvm.compiler.virtual.phases.ea.ReadEliminationClosure.cloneState:(Lorg/graalvm/compiler/virtual/phases/ea/ReadEliminationBlockState;)Lorg/graalvm/compiler/virtual/phases/ea/ReadEliminationBlockState;
areturn
LocalVariableTable:
Start End Slot Name Signature
}
Signature: Lorg/graalvm/compiler/virtual/phases/ea/EffectsClosure<Lorg/graalvm/compiler/virtual/phases/ea/ReadEliminationBlockState;>;
SourceFile: "ReadEliminationClosure.java"
NestMembers:
org.graalvm.compiler.virtual.phases.ea.ReadEliminationClosure$ReadEliminationMergeProcessor
InnerClasses:
public ScheduleResult = org.graalvm.compiler.nodes.StructuredGraph$ScheduleResult of org.graalvm.compiler.nodes.StructuredGraph
protected final LoopKillCache = org.graalvm.compiler.virtual.phases.ea.EffectsClosure$LoopKillCache of org.graalvm.compiler.virtual.phases.ea.EffectsClosure
protected abstract MergeProcessor = org.graalvm.compiler.virtual.phases.ea.EffectsClosure$MergeProcessor of org.graalvm.compiler.virtual.phases.ea.EffectsClosure
public abstract CacheEntry = org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState$CacheEntry of org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState
public final LoadCacheEntry = org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState$LoadCacheEntry of org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState
public final UnsafeLoadCacheEntry = org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState$UnsafeLoadCacheEntry of org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState
private ReadEliminationMergeProcessor = org.graalvm.compiler.virtual.phases.ea.ReadEliminationClosure$ReadEliminationMergeProcessor of org.graalvm.compiler.virtual.phases.ea.ReadEliminationClosure