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"