public class org.graalvm.compiler.phases.common.InsertMembarsPhase extends org.graalvm.compiler.phases.Phase
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.graalvm.compiler.phases.common.InsertMembarsPhase
super_class: org.graalvm.compiler.phases.Phase
{
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 // org.graalvm.compiler.phases.common.InsertMembarsPhase this
0: .line 42
aload 0 /* this */
invokespecial org.graalvm.compiler.phases.Phase.<init>:()V
return
end local 0 // org.graalvm.compiler.phases.common.InsertMembarsPhase this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/phases/common/InsertMembarsPhase;
protected void run(org.graalvm.compiler.nodes.StructuredGraph);
descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=7, args_size=2
start local 0 // org.graalvm.compiler.phases.common.InsertMembarsPhase this
start local 1 // org.graalvm.compiler.nodes.StructuredGraph graph
0: .line 45
aload 1 /* graph */
getstatic org.graalvm.compiler.nodes.memory.FixedAccessNode.TYPE:Lorg/graalvm/compiler/graph/NodeClass;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getNodes:(Lorg/graalvm/compiler/graph/NodeClass;)Lorg/graalvm/compiler/graph/iterators/NodeIterable;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.iterator:()Ljava/util/Iterator;
astore 3
goto 15
StackMap locals: org.graalvm.compiler.phases.common.InsertMembarsPhase org.graalvm.compiler.nodes.StructuredGraph top java.util.Iterator
StackMap stack:
1: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.memory.FixedAccessNode
astore 2 /* access */
start local 2 // org.graalvm.compiler.nodes.memory.FixedAccessNode access
2: .line 46
aload 2 /* access */
instanceof org.graalvm.compiler.nodes.memory.VolatileReadNode
ifeq 9
3: .line 47
aload 2 /* access */
checkcast org.graalvm.compiler.nodes.memory.ReadNode
astore 4 /* read */
start local 4 // org.graalvm.compiler.nodes.memory.ReadNode read
4: .line 48
aload 1 /* graph */
new org.graalvm.compiler.nodes.extended.MembarNode
dup
iconst_0
invokespecial org.graalvm.compiler.nodes.extended.MembarNode.<init>:(I)V
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.extended.MembarNode
astore 5 /* preMembar */
start local 5 // org.graalvm.compiler.nodes.extended.MembarNode preMembar
5: .line 49
aload 1 /* graph */
aload 4 /* read */
aload 5 /* preMembar */
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.addBeforeFixed:(Lorg/graalvm/compiler/nodes/FixedNode;Lorg/graalvm/compiler/nodes/FixedWithNextNode;)V
6: .line 50
aload 1 /* graph */
new org.graalvm.compiler.nodes.extended.MembarNode
dup
iconst_3
invokespecial org.graalvm.compiler.nodes.extended.MembarNode.<init>:(I)V
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.extended.MembarNode
astore 6 /* postMembar */
start local 6 // org.graalvm.compiler.nodes.extended.MembarNode postMembar
7: .line 51
aload 1 /* graph */
aload 4 /* read */
aload 6 /* postMembar */
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.addAfterFixed:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;Lorg/graalvm/compiler/nodes/FixedNode;)V
end local 6 // org.graalvm.compiler.nodes.extended.MembarNode postMembar
end local 5 // org.graalvm.compiler.nodes.extended.MembarNode preMembar
end local 4 // org.graalvm.compiler.nodes.memory.ReadNode read
8: .line 52
goto 15
StackMap locals: org.graalvm.compiler.phases.common.InsertMembarsPhase org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.nodes.memory.FixedAccessNode java.util.Iterator
StackMap stack:
9: aload 2 /* access */
instanceof org.graalvm.compiler.nodes.memory.WriteNode
ifeq 15
aload 2 /* access */
checkcast org.graalvm.compiler.nodes.memory.WriteNode
invokevirtual org.graalvm.compiler.nodes.memory.WriteNode.isVolatile:()Z
ifeq 15
10: .line 53
aload 2 /* access */
checkcast org.graalvm.compiler.nodes.memory.WriteNode
astore 4 /* write */
start local 4 // org.graalvm.compiler.nodes.memory.WriteNode write
11: .line 54
aload 1 /* graph */
new org.graalvm.compiler.nodes.extended.MembarNode
dup
bipush 10
invokespecial org.graalvm.compiler.nodes.extended.MembarNode.<init>:(I)V
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.extended.MembarNode
astore 5 /* preMembar */
start local 5 // org.graalvm.compiler.nodes.extended.MembarNode preMembar
12: .line 55
aload 1 /* graph */
aload 4 /* write */
aload 5 /* preMembar */
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.addBeforeFixed:(Lorg/graalvm/compiler/nodes/FixedNode;Lorg/graalvm/compiler/nodes/FixedWithNextNode;)V
13: .line 56
aload 1 /* graph */
new org.graalvm.compiler.nodes.extended.MembarNode
dup
bipush 12
invokespecial org.graalvm.compiler.nodes.extended.MembarNode.<init>:(I)V
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.extended.MembarNode
astore 6 /* postMembar */
start local 6 // org.graalvm.compiler.nodes.extended.MembarNode postMembar
14: .line 57
aload 1 /* graph */
aload 4 /* write */
aload 6 /* postMembar */
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.addAfterFixed:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;Lorg/graalvm/compiler/nodes/FixedNode;)V
end local 6 // org.graalvm.compiler.nodes.extended.MembarNode postMembar
end local 5 // org.graalvm.compiler.nodes.extended.MembarNode preMembar
end local 4 // org.graalvm.compiler.nodes.memory.WriteNode write
end local 2 // org.graalvm.compiler.nodes.memory.FixedAccessNode access
15: .line 45
StackMap locals: org.graalvm.compiler.phases.common.InsertMembarsPhase org.graalvm.compiler.nodes.StructuredGraph top java.util.Iterator
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
16: .line 60
return
end local 1 // org.graalvm.compiler.nodes.StructuredGraph graph
end local 0 // org.graalvm.compiler.phases.common.InsertMembarsPhase this
LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lorg/graalvm/compiler/phases/common/InsertMembarsPhase;
0 17 1 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
2 15 2 access Lorg/graalvm/compiler/nodes/memory/FixedAccessNode;
4 8 4 read Lorg/graalvm/compiler/nodes/memory/ReadNode;
5 8 5 preMembar Lorg/graalvm/compiler/nodes/extended/MembarNode;
7 8 6 postMembar Lorg/graalvm/compiler/nodes/extended/MembarNode;
11 15 4 write Lorg/graalvm/compiler/nodes/memory/WriteNode;
12 15 5 preMembar Lorg/graalvm/compiler/nodes/extended/MembarNode;
14 15 6 postMembar Lorg/graalvm/compiler/nodes/extended/MembarNode;
MethodParameters:
Name Flags
graph
public float codeSizeIncrease();
descriptor: ()F
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 // org.graalvm.compiler.phases.common.InsertMembarsPhase this
0: .line 64
ldc 3.0
freturn
end local 0 // org.graalvm.compiler.phases.common.InsertMembarsPhase this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/phases/common/InsertMembarsPhase;
}
SourceFile: "InsertMembarsPhase.java"