public class org.graalvm.compiler.nodes.gc.CardTableBarrierSet implements org.graalvm.compiler.nodes.gc.BarrierSet
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.graalvm.compiler.nodes.gc.CardTableBarrierSet
  super_class: java.lang.Object
{
  static final boolean $assertionsDisabled;
    descriptor: Z
    flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC

  private static volatile int[] $SWITCH_TABLE$org$graalvm$compiler$nodes$memory$HeapAccess$BarrierType;
    descriptor: [I
    flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 47
            ldc Lorg/graalvm/compiler/nodes/gc/CardTableBarrierSet;
            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.nodes.gc.CardTableBarrierSet.$assertionsDisabled:Z
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.nodes.gc.CardTableBarrierSet this
         0: .line 48
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 49
            return
        end local 0 // org.graalvm.compiler.nodes.gc.CardTableBarrierSet this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/compiler/nodes/gc/CardTableBarrierSet;

  public org.graalvm.compiler.nodes.memory.HeapAccess$BarrierType readBarrierType(org.graalvm.compiler.nodes.extended.RawLoadNode);
    descriptor: (Lorg/graalvm/compiler/nodes/extended/RawLoadNode;)Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.nodes.gc.CardTableBarrierSet this
        start local 1 // org.graalvm.compiler.nodes.extended.RawLoadNode load
         0: .line 53
            getstatic org.graalvm.compiler.nodes.memory.HeapAccess$BarrierType.NONE:Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;
            areturn
        end local 1 // org.graalvm.compiler.nodes.extended.RawLoadNode load
        end local 0 // org.graalvm.compiler.nodes.gc.CardTableBarrierSet this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/nodes/gc/CardTableBarrierSet;
            0    1     1  load  Lorg/graalvm/compiler/nodes/extended/RawLoadNode;
    MethodParameters:
      Name  Flags
      load  

  public void addBarriers(org.graalvm.compiler.nodes.memory.FixedAccessNode);
    descriptor: (Lorg/graalvm/compiler/nodes/memory/FixedAccessNode;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.graalvm.compiler.nodes.gc.CardTableBarrierSet this
        start local 1 // org.graalvm.compiler.nodes.memory.FixedAccessNode n
         0: .line 58
            aload 1 /* n */
            instanceof org.graalvm.compiler.nodes.memory.ReadNode
            ifne 19
         1: .line 60
            aload 1 /* n */
            instanceof org.graalvm.compiler.nodes.memory.WriteNode
            ifeq 5
         2: .line 61
            aload 1 /* n */
            checkcast org.graalvm.compiler.nodes.memory.WriteNode
            astore 2 /* write */
        start local 2 // org.graalvm.compiler.nodes.memory.WriteNode write
         3: .line 62
            aload 0 /* this */
            aload 2 /* write */
            aload 2 /* write */
            invokevirtual org.graalvm.compiler.nodes.memory.WriteNode.value:()Lorg/graalvm/compiler/nodes/ValueNode;
            invokevirtual org.graalvm.compiler.nodes.gc.CardTableBarrierSet.addWriteBarrier:(Lorg/graalvm/compiler/nodes/memory/FixedAccessNode;Lorg/graalvm/compiler/nodes/ValueNode;)V
        end local 2 // org.graalvm.compiler.nodes.memory.WriteNode write
         4: .line 63
            goto 19
      StackMap locals:
      StackMap stack:
         5: aload 1 /* n */
            instanceof org.graalvm.compiler.nodes.java.LoweredAtomicReadAndWriteNode
            ifeq 9
         6: .line 64
            aload 1 /* n */
            checkcast org.graalvm.compiler.nodes.java.LoweredAtomicReadAndWriteNode
            astore 2 /* atomic */
        start local 2 // org.graalvm.compiler.nodes.java.LoweredAtomicReadAndWriteNode atomic
         7: .line 65
            aload 0 /* this */
            aload 2 /* atomic */
            aload 2 /* atomic */
            invokevirtual org.graalvm.compiler.nodes.java.LoweredAtomicReadAndWriteNode.getNewValue:()Lorg/graalvm/compiler/nodes/ValueNode;
            invokevirtual org.graalvm.compiler.nodes.gc.CardTableBarrierSet.addWriteBarrier:(Lorg/graalvm/compiler/nodes/memory/FixedAccessNode;Lorg/graalvm/compiler/nodes/ValueNode;)V
        end local 2 // org.graalvm.compiler.nodes.java.LoweredAtomicReadAndWriteNode atomic
         8: .line 66
            goto 19
      StackMap locals:
      StackMap stack:
         9: aload 1 /* n */
            instanceof org.graalvm.compiler.nodes.java.AbstractCompareAndSwapNode
            ifeq 13
        10: .line 67
            aload 1 /* n */
            checkcast org.graalvm.compiler.nodes.java.AbstractCompareAndSwapNode
            astore 2 /* cmpSwap */
        start local 2 // org.graalvm.compiler.nodes.java.AbstractCompareAndSwapNode cmpSwap
        11: .line 68
            aload 0 /* this */
            aload 2 /* cmpSwap */
            aload 2 /* cmpSwap */
            invokevirtual org.graalvm.compiler.nodes.java.AbstractCompareAndSwapNode.getNewValue:()Lorg/graalvm/compiler/nodes/ValueNode;
            invokevirtual org.graalvm.compiler.nodes.gc.CardTableBarrierSet.addWriteBarrier:(Lorg/graalvm/compiler/nodes/memory/FixedAccessNode;Lorg/graalvm/compiler/nodes/ValueNode;)V
        end local 2 // org.graalvm.compiler.nodes.java.AbstractCompareAndSwapNode cmpSwap
        12: .line 69
            goto 19
      StackMap locals:
      StackMap stack:
        13: aload 1 /* n */
            instanceof org.graalvm.compiler.nodes.extended.ArrayRangeWrite
            ifeq 16
        14: .line 70
            aload 0 /* this */
            aload 1 /* n */
            checkcast org.graalvm.compiler.nodes.extended.ArrayRangeWrite
            invokevirtual org.graalvm.compiler.nodes.gc.CardTableBarrierSet.addArrayRangeBarriers:(Lorg/graalvm/compiler/nodes/extended/ArrayRangeWrite;)V
        15: .line 71
            goto 19
        16: .line 72
      StackMap locals:
      StackMap stack:
            aload 1 /* n */
            invokevirtual org.graalvm.compiler.nodes.memory.FixedAccessNode.getBarrierType:()Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;
            getstatic org.graalvm.compiler.nodes.memory.HeapAccess$BarrierType.NONE:Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;
            if_acmpne 17
            iconst_1
            goto 18
      StackMap locals:
      StackMap stack:
        17: iconst_0
      StackMap locals:
      StackMap stack: int
        18: ldc "missed a node that requires a GC barrier: %s"
            aload 1 /* n */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokestatic org.graalvm.compiler.debug.GraalError.guarantee:(ZLjava/lang/String;Ljava/lang/Object;)V
        19: .line 74
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.graalvm.compiler.nodes.memory.FixedAccessNode n
        end local 0 // org.graalvm.compiler.nodes.gc.CardTableBarrierSet this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   20     0     this  Lorg/graalvm/compiler/nodes/gc/CardTableBarrierSet;
            0   20     1        n  Lorg/graalvm/compiler/nodes/memory/FixedAccessNode;
            3    4     2    write  Lorg/graalvm/compiler/nodes/memory/WriteNode;
            7    8     2   atomic  Lorg/graalvm/compiler/nodes/java/LoweredAtomicReadAndWriteNode;
           11   12     2  cmpSwap  Lorg/graalvm/compiler/nodes/java/AbstractCompareAndSwapNode;
    MethodParameters:
      Name  Flags
      n     

  public boolean needsBarrier(org.graalvm.compiler.nodes.memory.FixedAccessNode);
    descriptor: (Lorg/graalvm/compiler/nodes/memory/FixedAccessNode;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.graalvm.compiler.nodes.gc.CardTableBarrierSet this
        start local 1 // org.graalvm.compiler.nodes.memory.FixedAccessNode n
         0: .line 77
            aload 1 /* n */
            instanceof org.graalvm.compiler.nodes.memory.ReadNode
            ifeq 2
         1: .line 78
            iconst_0
            ireturn
         2: .line 79
      StackMap locals:
      StackMap stack:
            aload 1 /* n */
            instanceof org.graalvm.compiler.nodes.memory.WriteNode
            ifeq 5
         3: .line 80
            aload 1 /* n */
            checkcast org.graalvm.compiler.nodes.memory.WriteNode
            astore 2 /* write */
        start local 2 // org.graalvm.compiler.nodes.memory.WriteNode write
         4: .line 81
            aload 0 /* this */
            aload 2 /* write */
            aload 2 /* write */
            invokevirtual org.graalvm.compiler.nodes.memory.WriteNode.value:()Lorg/graalvm/compiler/nodes/ValueNode;
            invokevirtual org.graalvm.compiler.nodes.gc.CardTableBarrierSet.needsWriteBarrier:(Lorg/graalvm/compiler/nodes/memory/FixedAccessNode;Lorg/graalvm/compiler/nodes/ValueNode;)Z
            ireturn
        end local 2 // org.graalvm.compiler.nodes.memory.WriteNode write
         5: .line 82
      StackMap locals:
      StackMap stack:
            aload 1 /* n */
            instanceof org.graalvm.compiler.nodes.java.LoweredAtomicReadAndWriteNode
            ifeq 8
         6: .line 83
            aload 1 /* n */
            checkcast org.graalvm.compiler.nodes.java.LoweredAtomicReadAndWriteNode
            astore 2 /* atomic */
        start local 2 // org.graalvm.compiler.nodes.java.LoweredAtomicReadAndWriteNode atomic
         7: .line 84
            aload 0 /* this */
            aload 2 /* atomic */
            aload 2 /* atomic */
            invokevirtual org.graalvm.compiler.nodes.java.LoweredAtomicReadAndWriteNode.getNewValue:()Lorg/graalvm/compiler/nodes/ValueNode;
            invokevirtual org.graalvm.compiler.nodes.gc.CardTableBarrierSet.needsWriteBarrier:(Lorg/graalvm/compiler/nodes/memory/FixedAccessNode;Lorg/graalvm/compiler/nodes/ValueNode;)Z
            ireturn
        end local 2 // org.graalvm.compiler.nodes.java.LoweredAtomicReadAndWriteNode atomic
         8: .line 85
      StackMap locals:
      StackMap stack:
            aload 1 /* n */
            instanceof org.graalvm.compiler.nodes.java.AbstractCompareAndSwapNode
            ifeq 11
         9: .line 86
            aload 1 /* n */
            checkcast org.graalvm.compiler.nodes.java.AbstractCompareAndSwapNode
            astore 2 /* cmpSwap */
        start local 2 // org.graalvm.compiler.nodes.java.AbstractCompareAndSwapNode cmpSwap
        10: .line 87
            aload 0 /* this */
            aload 2 /* cmpSwap */
            aload 2 /* cmpSwap */
            invokevirtual org.graalvm.compiler.nodes.java.AbstractCompareAndSwapNode.getNewValue:()Lorg/graalvm/compiler/nodes/ValueNode;
            invokevirtual org.graalvm.compiler.nodes.gc.CardTableBarrierSet.needsWriteBarrier:(Lorg/graalvm/compiler/nodes/memory/FixedAccessNode;Lorg/graalvm/compiler/nodes/ValueNode;)Z
            ireturn
        end local 2 // org.graalvm.compiler.nodes.java.AbstractCompareAndSwapNode cmpSwap
        11: .line 88
      StackMap locals:
      StackMap stack:
            aload 1 /* n */
            instanceof org.graalvm.compiler.nodes.extended.ArrayRangeWrite
            ifeq 13
        12: .line 89
            aload 1 /* n */
            checkcast org.graalvm.compiler.nodes.extended.ArrayRangeWrite
            invokestatic org.graalvm.compiler.nodes.gc.CardTableBarrierSet.needsWriteBarrier:(Lorg/graalvm/compiler/nodes/extended/ArrayRangeWrite;)Z
            ireturn
        13: .line 91
      StackMap locals:
      StackMap stack:
            aload 1 /* n */
            invokevirtual org.graalvm.compiler.nodes.memory.FixedAccessNode.getBarrierType:()Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;
            getstatic org.graalvm.compiler.nodes.memory.HeapAccess$BarrierType.NONE:Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;
            if_acmpne 14
            iconst_1
            goto 15
      StackMap locals:
      StackMap stack:
        14: iconst_0
      StackMap locals:
      StackMap stack: int
        15: ldc "missed a node that requires a GC barrier: %s"
            aload 1 /* n */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokestatic org.graalvm.compiler.debug.GraalError.guarantee:(ZLjava/lang/String;Ljava/lang/Object;)V
        16: .line 92
            iconst_0
            ireturn
        end local 1 // org.graalvm.compiler.nodes.memory.FixedAccessNode n
        end local 0 // org.graalvm.compiler.nodes.gc.CardTableBarrierSet this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   17     0     this  Lorg/graalvm/compiler/nodes/gc/CardTableBarrierSet;
            0   17     1        n  Lorg/graalvm/compiler/nodes/memory/FixedAccessNode;
            4    5     2    write  Lorg/graalvm/compiler/nodes/memory/WriteNode;
            7    8     2   atomic  Lorg/graalvm/compiler/nodes/java/LoweredAtomicReadAndWriteNode;
           10   11     2  cmpSwap  Lorg/graalvm/compiler/nodes/java/AbstractCompareAndSwapNode;
    MethodParameters:
      Name  Flags
      n     

  public boolean hasBarrier(org.graalvm.compiler.nodes.memory.FixedAccessNode);
    descriptor: (Lorg/graalvm/compiler/nodes/memory/FixedAccessNode;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.graalvm.compiler.nodes.gc.CardTableBarrierSet this
        start local 1 // org.graalvm.compiler.nodes.memory.FixedAccessNode n
         0: .line 97
            aload 1 /* n */
            instanceof org.graalvm.compiler.nodes.memory.ReadNode
            ifeq 2
         1: .line 98
            iconst_0
            ireturn
         2: .line 99
      StackMap locals:
      StackMap stack:
            aload 1 /* n */
            instanceof org.graalvm.compiler.nodes.memory.WriteNode
            ifeq 5
         3: .line 100
            aload 1 /* n */
            checkcast org.graalvm.compiler.nodes.memory.WriteNode
            astore 2 /* write */
        start local 2 // org.graalvm.compiler.nodes.memory.WriteNode write
         4: .line 101
            aload 2 /* write */
            invokestatic org.graalvm.compiler.nodes.gc.CardTableBarrierSet.hasWriteBarrier:(Lorg/graalvm/compiler/nodes/memory/FixedAccessNode;)Z
            ireturn
        end local 2 // org.graalvm.compiler.nodes.memory.WriteNode write
         5: .line 102
      StackMap locals:
      StackMap stack:
            aload 1 /* n */
            instanceof org.graalvm.compiler.nodes.java.LoweredAtomicReadAndWriteNode
            ifeq 8
         6: .line 103
            aload 1 /* n */
            checkcast org.graalvm.compiler.nodes.java.LoweredAtomicReadAndWriteNode
            astore 2 /* atomic */
        start local 2 // org.graalvm.compiler.nodes.java.LoweredAtomicReadAndWriteNode atomic
         7: .line 104
            aload 2 /* atomic */
            invokestatic org.graalvm.compiler.nodes.gc.CardTableBarrierSet.hasWriteBarrier:(Lorg/graalvm/compiler/nodes/memory/FixedAccessNode;)Z
            ireturn
        end local 2 // org.graalvm.compiler.nodes.java.LoweredAtomicReadAndWriteNode atomic
         8: .line 105
      StackMap locals:
      StackMap stack:
            aload 1 /* n */
            instanceof org.graalvm.compiler.nodes.java.AbstractCompareAndSwapNode
            ifeq 11
         9: .line 106
            aload 1 /* n */
            checkcast org.graalvm.compiler.nodes.java.AbstractCompareAndSwapNode
            astore 2 /* cmpSwap */
        start local 2 // org.graalvm.compiler.nodes.java.AbstractCompareAndSwapNode cmpSwap
        10: .line 107
            aload 2 /* cmpSwap */
            invokestatic org.graalvm.compiler.nodes.gc.CardTableBarrierSet.hasWriteBarrier:(Lorg/graalvm/compiler/nodes/memory/FixedAccessNode;)Z
            ireturn
        end local 2 // org.graalvm.compiler.nodes.java.AbstractCompareAndSwapNode cmpSwap
        11: .line 108
      StackMap locals:
      StackMap stack:
            aload 1 /* n */
            instanceof org.graalvm.compiler.nodes.extended.ArrayRangeWrite
            ifeq 13
        12: .line 109
            aload 1 /* n */
            checkcast org.graalvm.compiler.nodes.extended.ArrayRangeWrite
            invokestatic org.graalvm.compiler.nodes.gc.CardTableBarrierSet.hasWriteBarrier:(Lorg/graalvm/compiler/nodes/extended/ArrayRangeWrite;)Z
            ireturn
        13: .line 111
      StackMap locals:
      StackMap stack:
            aload 1 /* n */
            invokevirtual org.graalvm.compiler.nodes.memory.FixedAccessNode.getBarrierType:()Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;
            getstatic org.graalvm.compiler.nodes.memory.HeapAccess$BarrierType.NONE:Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;
            if_acmpne 14
            iconst_1
            goto 15
      StackMap locals:
      StackMap stack:
        14: iconst_0
      StackMap locals:
      StackMap stack: int
        15: ldc "missed a node that requires a GC barrier: %s"
            aload 1 /* n */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokestatic org.graalvm.compiler.debug.GraalError.guarantee:(ZLjava/lang/String;Ljava/lang/Object;)V
        16: .line 112
            iconst_0
            ireturn
        end local 1 // org.graalvm.compiler.nodes.memory.FixedAccessNode n
        end local 0 // org.graalvm.compiler.nodes.gc.CardTableBarrierSet this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   17     0     this  Lorg/graalvm/compiler/nodes/gc/CardTableBarrierSet;
            0   17     1        n  Lorg/graalvm/compiler/nodes/memory/FixedAccessNode;
            4    5     2    write  Lorg/graalvm/compiler/nodes/memory/WriteNode;
            7    8     2   atomic  Lorg/graalvm/compiler/nodes/java/LoweredAtomicReadAndWriteNode;
           10   11     2  cmpSwap  Lorg/graalvm/compiler/nodes/java/AbstractCompareAndSwapNode;
    MethodParameters:
      Name  Flags
      n     

  public boolean isMatchingBarrier(org.graalvm.compiler.nodes.memory.FixedAccessNode, org.graalvm.compiler.nodes.gc.WriteBarrier);
    descriptor: (Lorg/graalvm/compiler/nodes/memory/FixedAccessNode;Lorg/graalvm/compiler/nodes/gc/WriteBarrier;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.graalvm.compiler.nodes.gc.CardTableBarrierSet this
        start local 1 // org.graalvm.compiler.nodes.memory.FixedAccessNode n
        start local 2 // org.graalvm.compiler.nodes.gc.WriteBarrier barrier
         0: .line 117
            aload 1 /* n */
            instanceof org.graalvm.compiler.nodes.memory.ReadNode
            ifeq 2
         1: .line 118
            iconst_0
            ireturn
         2: .line 119
      StackMap locals:
      StackMap stack:
            aload 1 /* n */
            instanceof org.graalvm.compiler.nodes.memory.WriteNode
            ifne 3
            aload 1 /* n */
            instanceof org.graalvm.compiler.nodes.java.LoweredAtomicReadAndWriteNode
            ifne 3
            aload 1 /* n */
            instanceof org.graalvm.compiler.nodes.java.AbstractCompareAndSwapNode
            ifne 3
            aload 1 /* n */
            instanceof org.graalvm.compiler.nodes.extended.ArrayRangeWrite
            ifeq 5
         3: .line 120
      StackMap locals:
      StackMap stack:
            aload 2 /* barrier */
            instanceof org.graalvm.compiler.nodes.gc.SerialWriteBarrier
            ifeq 4
            aload 1 /* n */
            aload 2 /* barrier */
            checkcast org.graalvm.compiler.nodes.gc.SerialWriteBarrier
            invokestatic org.graalvm.compiler.nodes.gc.CardTableBarrierSet.matches:(Lorg/graalvm/compiler/nodes/memory/FixedAccessNode;Lorg/graalvm/compiler/nodes/gc/SerialWriteBarrier;)Z
            ifeq 4
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         4: iconst_0
            ireturn
         5: .line 122
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "Unexpected node: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* n */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.graalvm.compiler.debug.GraalError.shouldNotReachHere:(Ljava/lang/String;)Ljava/lang/RuntimeException;
            athrow
        end local 2 // org.graalvm.compiler.nodes.gc.WriteBarrier barrier
        end local 1 // org.graalvm.compiler.nodes.memory.FixedAccessNode n
        end local 0 // org.graalvm.compiler.nodes.gc.CardTableBarrierSet this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0     this  Lorg/graalvm/compiler/nodes/gc/CardTableBarrierSet;
            0    6     1        n  Lorg/graalvm/compiler/nodes/memory/FixedAccessNode;
            0    6     2  barrier  Lorg/graalvm/compiler/nodes/gc/WriteBarrier;
    MethodParameters:
         Name  Flags
      n        
      barrier  

  public void addArrayRangeBarriers(org.graalvm.compiler.nodes.extended.ArrayRangeWrite);
    descriptor: (Lorg/graalvm/compiler/nodes/extended/ArrayRangeWrite;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=4, args_size=2
        start local 0 // org.graalvm.compiler.nodes.gc.CardTableBarrierSet this
        start local 1 // org.graalvm.compiler.nodes.extended.ArrayRangeWrite write
         0: .line 127
            aload 1 /* write */
            invokestatic org.graalvm.compiler.nodes.gc.CardTableBarrierSet.needsWriteBarrier:(Lorg/graalvm/compiler/nodes/extended/ArrayRangeWrite;)Z
            ifeq 4
         1: .line 128
            aload 1 /* write */
            invokeinterface org.graalvm.compiler.nodes.extended.ArrayRangeWrite.asNode:()Lorg/graalvm/compiler/nodes/memory/FixedAccessNode;
            invokevirtual org.graalvm.compiler.nodes.memory.FixedAccessNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
            astore 2 /* graph */
        start local 2 // org.graalvm.compiler.nodes.StructuredGraph graph
         2: .line 129
            aload 2 /* graph */
            new org.graalvm.compiler.nodes.gc.SerialArrayRangeWriteBarrier
            dup
            aload 1 /* write */
            invokeinterface org.graalvm.compiler.nodes.extended.ArrayRangeWrite.getAddress:()Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
            aload 1 /* write */
            invokeinterface org.graalvm.compiler.nodes.extended.ArrayRangeWrite.getLength:()Lorg/graalvm/compiler/nodes/ValueNode;
            aload 1 /* write */
            invokeinterface org.graalvm.compiler.nodes.extended.ArrayRangeWrite.getElementStride:()I
            invokespecial org.graalvm.compiler.nodes.gc.SerialArrayRangeWriteBarrier.<init>:(Lorg/graalvm/compiler/nodes/memory/address/AddressNode;Lorg/graalvm/compiler/nodes/ValueNode;I)V
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.gc.SerialArrayRangeWriteBarrier
            astore 3 /* serialArrayRangeWriteBarrier */
        start local 3 // org.graalvm.compiler.nodes.gc.SerialArrayRangeWriteBarrier serialArrayRangeWriteBarrier
         3: .line 130
            aload 2 /* graph */
            aload 1 /* write */
            invokeinterface org.graalvm.compiler.nodes.extended.ArrayRangeWrite.asNode:()Lorg/graalvm/compiler/nodes/memory/FixedAccessNode;
            aload 3 /* serialArrayRangeWriteBarrier */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.addAfterFixed:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;Lorg/graalvm/compiler/nodes/FixedNode;)V
        end local 3 // org.graalvm.compiler.nodes.gc.SerialArrayRangeWriteBarrier serialArrayRangeWriteBarrier
        end local 2 // org.graalvm.compiler.nodes.StructuredGraph graph
         4: .line 132
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.graalvm.compiler.nodes.extended.ArrayRangeWrite write
        end local 0 // org.graalvm.compiler.nodes.gc.CardTableBarrierSet this
      LocalVariableTable:
        Start  End  Slot                          Name  Signature
            0    5     0                          this  Lorg/graalvm/compiler/nodes/gc/CardTableBarrierSet;
            0    5     1                         write  Lorg/graalvm/compiler/nodes/extended/ArrayRangeWrite;
            2    4     2                         graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
            3    4     3  serialArrayRangeWriteBarrier  Lorg/graalvm/compiler/nodes/gc/SerialArrayRangeWriteBarrier;
    MethodParameters:
       Name  Flags
      write  

  private void addWriteBarrier(org.graalvm.compiler.nodes.memory.FixedAccessNode, org.graalvm.compiler.nodes.ValueNode);
    descriptor: (Lorg/graalvm/compiler/nodes/memory/FixedAccessNode;Lorg/graalvm/compiler/nodes/ValueNode;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.graalvm.compiler.nodes.gc.CardTableBarrierSet this
        start local 1 // org.graalvm.compiler.nodes.memory.FixedAccessNode node
        start local 2 // org.graalvm.compiler.nodes.ValueNode writtenValue
         0: .line 135
            aload 0 /* this */
            aload 1 /* node */
            aload 2 /* writtenValue */
            invokevirtual org.graalvm.compiler.nodes.gc.CardTableBarrierSet.needsWriteBarrier:(Lorg/graalvm/compiler/nodes/memory/FixedAccessNode;Lorg/graalvm/compiler/nodes/ValueNode;)Z
            ifeq 2
         1: .line 136
            aload 1 /* node */
            aload 1 /* node */
            invokevirtual org.graalvm.compiler.nodes.memory.FixedAccessNode.getAddress:()Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
            aload 1 /* node */
            invokevirtual org.graalvm.compiler.nodes.memory.FixedAccessNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
            invokestatic org.graalvm.compiler.nodes.gc.CardTableBarrierSet.addSerialPostWriteBarrier:(Lorg/graalvm/compiler/nodes/memory/FixedAccessNode;Lorg/graalvm/compiler/nodes/memory/address/AddressNode;Lorg/graalvm/compiler/nodes/StructuredGraph;)V
         2: .line 138
      StackMap locals:
      StackMap stack:
            return
        end local 2 // org.graalvm.compiler.nodes.ValueNode writtenValue
        end local 1 // org.graalvm.compiler.nodes.memory.FixedAccessNode node
        end local 0 // org.graalvm.compiler.nodes.gc.CardTableBarrierSet this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    3     0          this  Lorg/graalvm/compiler/nodes/gc/CardTableBarrierSet;
            0    3     1          node  Lorg/graalvm/compiler/nodes/memory/FixedAccessNode;
            0    3     2  writtenValue  Lorg/graalvm/compiler/nodes/ValueNode;
    MethodParameters:
              Name  Flags
      node          
      writtenValue  

  public boolean needsWriteBarrier(org.graalvm.compiler.nodes.memory.FixedAccessNode, org.graalvm.compiler.nodes.ValueNode);
    descriptor: (Lorg/graalvm/compiler/nodes/memory/FixedAccessNode;Lorg/graalvm/compiler/nodes/ValueNode;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // org.graalvm.compiler.nodes.gc.CardTableBarrierSet this
        start local 1 // org.graalvm.compiler.nodes.memory.FixedAccessNode node
        start local 2 // org.graalvm.compiler.nodes.ValueNode writtenValue
         0: .line 141
            getstatic org.graalvm.compiler.nodes.gc.CardTableBarrierSet.$assertionsDisabled:Z
            ifne 1
            aload 1 /* node */
            instanceof org.graalvm.compiler.nodes.extended.ArrayRangeWrite
            ifeq 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 142
      StackMap locals:
      StackMap stack:
            aload 1 /* node */
            invokevirtual org.graalvm.compiler.nodes.memory.FixedAccessNode.getBarrierType:()Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;
            astore 3 /* barrierType */
        start local 3 // org.graalvm.compiler.nodes.memory.HeapAccess$BarrierType barrierType
         2: .line 143
            invokestatic org.graalvm.compiler.nodes.gc.CardTableBarrierSet.$SWITCH_TABLE$org$graalvm$compiler$nodes$memory$HeapAccess$BarrierType:()[I
            aload 3 /* barrierType */
            invokevirtual org.graalvm.compiler.nodes.memory.HeapAccess$BarrierType.ordinal:()I
            iaload
            tableswitch { // 1 - 4
                    1: 3
                    2: 4
                    3: 4
                    4: 4
              default: 5
          }
         3: .line 145
      StackMap locals: org.graalvm.compiler.nodes.memory.HeapAccess$BarrierType
      StackMap stack:
            iconst_0
            ireturn
         4: .line 149
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* node */
            aload 2 /* writtenValue */
            invokevirtual org.graalvm.compiler.nodes.gc.CardTableBarrierSet.writeRequiresBarrier:(Lorg/graalvm/compiler/nodes/memory/FixedAccessNode;Lorg/graalvm/compiler/nodes/ValueNode;)Z
            ireturn
         5: .line 151
      StackMap locals:
      StackMap stack:
            new org.graalvm.compiler.debug.GraalError
            dup
            new java.lang.StringBuilder
            dup
            ldc "unexpected barrier type: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* barrierType */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial org.graalvm.compiler.debug.GraalError.<init>:(Ljava/lang/String;)V
            athrow
        end local 3 // org.graalvm.compiler.nodes.memory.HeapAccess$BarrierType barrierType
        end local 2 // org.graalvm.compiler.nodes.ValueNode writtenValue
        end local 1 // org.graalvm.compiler.nodes.memory.FixedAccessNode node
        end local 0 // org.graalvm.compiler.nodes.gc.CardTableBarrierSet this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    6     0          this  Lorg/graalvm/compiler/nodes/gc/CardTableBarrierSet;
            0    6     1          node  Lorg/graalvm/compiler/nodes/memory/FixedAccessNode;
            0    6     2  writtenValue  Lorg/graalvm/compiler/nodes/ValueNode;
            2    6     3   barrierType  Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;
    MethodParameters:
              Name  Flags
      node          
      writtenValue  

  protected boolean writeRequiresBarrier(org.graalvm.compiler.nodes.memory.FixedAccessNode, org.graalvm.compiler.nodes.ValueNode);
    descriptor: (Lorg/graalvm/compiler/nodes/memory/FixedAccessNode;Lorg/graalvm/compiler/nodes/ValueNode;)Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=3, args_size=3
        start local 0 // org.graalvm.compiler.nodes.gc.CardTableBarrierSet this
        start local 1 // org.graalvm.compiler.nodes.memory.FixedAccessNode node
        start local 2 // org.graalvm.compiler.nodes.ValueNode writtenValue
         0: .line 158
            aload 2 /* writtenValue */
            invokestatic org.graalvm.compiler.nodes.gc.CardTableBarrierSet.isNonNullObjectValue:(Lorg/graalvm/compiler/nodes/ValueNode;)Z
            ireturn
        end local 2 // org.graalvm.compiler.nodes.ValueNode writtenValue
        end local 1 // org.graalvm.compiler.nodes.memory.FixedAccessNode node
        end local 0 // org.graalvm.compiler.nodes.gc.CardTableBarrierSet this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0          this  Lorg/graalvm/compiler/nodes/gc/CardTableBarrierSet;
            0    1     1          node  Lorg/graalvm/compiler/nodes/memory/FixedAccessNode;
            0    1     2  writtenValue  Lorg/graalvm/compiler/nodes/ValueNode;
    MethodParameters:
              Name  Flags
      node          
      writtenValue  

  public static boolean needsWriteBarrier(org.graalvm.compiler.nodes.extended.ArrayRangeWrite);
    descriptor: (Lorg/graalvm/compiler/nodes/extended/ArrayRangeWrite;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.nodes.extended.ArrayRangeWrite write
         0: .line 162
            aload 0 /* write */
            invokeinterface org.graalvm.compiler.nodes.extended.ArrayRangeWrite.writesObjectArray:()Z
            ireturn
        end local 0 // org.graalvm.compiler.nodes.extended.ArrayRangeWrite write
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  write  Lorg/graalvm/compiler/nodes/extended/ArrayRangeWrite;
    MethodParameters:
       Name  Flags
      write  

  private static boolean hasWriteBarrier(org.graalvm.compiler.nodes.memory.FixedAccessNode);
    descriptor: (Lorg/graalvm/compiler/nodes/memory/FixedAccessNode;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.nodes.memory.FixedAccessNode node
         0: .line 166
            aload 0 /* node */
            invokevirtual org.graalvm.compiler.nodes.memory.FixedAccessNode.next:()Lorg/graalvm/compiler/nodes/FixedNode;
            instanceof org.graalvm.compiler.nodes.gc.SerialWriteBarrier
            ifeq 1
            aload 0 /* node */
            aload 0 /* node */
            invokevirtual org.graalvm.compiler.nodes.memory.FixedAccessNode.next:()Lorg/graalvm/compiler/nodes/FixedNode;
            checkcast org.graalvm.compiler.nodes.gc.SerialWriteBarrier
            invokestatic org.graalvm.compiler.nodes.gc.CardTableBarrierSet.matches:(Lorg/graalvm/compiler/nodes/memory/FixedAccessNode;Lorg/graalvm/compiler/nodes/gc/SerialWriteBarrier;)Z
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // org.graalvm.compiler.nodes.memory.FixedAccessNode node
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  node  Lorg/graalvm/compiler/nodes/memory/FixedAccessNode;
    MethodParameters:
      Name  Flags
      node  

  private static boolean hasWriteBarrier(org.graalvm.compiler.nodes.extended.ArrayRangeWrite);
    descriptor: (Lorg/graalvm/compiler/nodes/extended/ArrayRangeWrite;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.graalvm.compiler.nodes.extended.ArrayRangeWrite write
         0: .line 170
            aload 0 /* write */
            invokeinterface org.graalvm.compiler.nodes.extended.ArrayRangeWrite.asNode:()Lorg/graalvm/compiler/nodes/memory/FixedAccessNode;
            astore 1 /* node */
        start local 1 // org.graalvm.compiler.nodes.memory.FixedAccessNode node
         1: .line 171
            aload 1 /* node */
            invokevirtual org.graalvm.compiler.nodes.memory.FixedAccessNode.next:()Lorg/graalvm/compiler/nodes/FixedNode;
            instanceof org.graalvm.compiler.nodes.gc.SerialArrayRangeWriteBarrier
            ifeq 2
            aload 0 /* write */
            aload 1 /* node */
            invokevirtual org.graalvm.compiler.nodes.memory.FixedAccessNode.next:()Lorg/graalvm/compiler/nodes/FixedNode;
            checkcast org.graalvm.compiler.nodes.gc.SerialArrayRangeWriteBarrier
            invokestatic org.graalvm.compiler.nodes.gc.CardTableBarrierSet.matches:(Lorg/graalvm/compiler/nodes/extended/ArrayRangeWrite;Lorg/graalvm/compiler/nodes/gc/SerialArrayRangeWriteBarrier;)Z
            ifeq 2
            iconst_1
            ireturn
      StackMap locals: org.graalvm.compiler.nodes.memory.FixedAccessNode
      StackMap stack:
         2: iconst_0
            ireturn
        end local 1 // org.graalvm.compiler.nodes.memory.FixedAccessNode node
        end local 0 // org.graalvm.compiler.nodes.extended.ArrayRangeWrite write
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0  write  Lorg/graalvm/compiler/nodes/extended/ArrayRangeWrite;
            1    3     1   node  Lorg/graalvm/compiler/nodes/memory/FixedAccessNode;
    MethodParameters:
       Name  Flags
      write  

  private static void addSerialPostWriteBarrier(org.graalvm.compiler.nodes.memory.FixedAccessNode, org.graalvm.compiler.nodes.memory.address.AddressNode, org.graalvm.compiler.nodes.StructuredGraph);
    descriptor: (Lorg/graalvm/compiler/nodes/memory/FixedAccessNode;Lorg/graalvm/compiler/nodes/memory/address/AddressNode;Lorg/graalvm/compiler/nodes/StructuredGraph;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=7, locals=4, args_size=3
        start local 0 // org.graalvm.compiler.nodes.memory.FixedAccessNode node
        start local 1 // org.graalvm.compiler.nodes.memory.address.AddressNode address
        start local 2 // org.graalvm.compiler.nodes.StructuredGraph graph
         0: .line 175
            aload 0 /* node */
            invokevirtual org.graalvm.compiler.nodes.memory.FixedAccessNode.getBarrierType:()Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;
            getstatic org.graalvm.compiler.nodes.memory.HeapAccess$BarrierType.FIELD:Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;
            if_acmpeq 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: istore 3 /* precise */
        start local 3 // boolean precise
         3: .line 176
            aload 2 /* graph */
            aload 0 /* node */
            aload 2 /* graph */
            new org.graalvm.compiler.nodes.gc.SerialWriteBarrier
            dup
            aload 1 /* address */
            iload 3 /* precise */
            invokespecial org.graalvm.compiler.nodes.gc.SerialWriteBarrier.<init>:(Lorg/graalvm/compiler/nodes/memory/address/AddressNode;Z)V
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.FixedNode
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.addAfterFixed:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;Lorg/graalvm/compiler/nodes/FixedNode;)V
         4: .line 177
            return
        end local 3 // boolean precise
        end local 2 // org.graalvm.compiler.nodes.StructuredGraph graph
        end local 1 // org.graalvm.compiler.nodes.memory.address.AddressNode address
        end local 0 // org.graalvm.compiler.nodes.memory.FixedAccessNode node
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     node  Lorg/graalvm/compiler/nodes/memory/FixedAccessNode;
            0    5     1  address  Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
            0    5     2    graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
            3    5     3  precise  Z
    MethodParameters:
         Name  Flags
      node     
      address  
      graph    

  private static boolean isNonNullObjectValue(org.graalvm.compiler.nodes.ValueNode);
    descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.nodes.ValueNode value
         0: .line 180
            aload 0 /* value */
            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;
            instanceof org.graalvm.compiler.core.common.type.AbstractObjectStamp
            ifeq 1
            aload 0 /* value */
            invokestatic org.graalvm.compiler.nodes.type.StampTool.isPointerAlwaysNull:(Lorg/graalvm/compiler/nodes/ValueNode;)Z
            ifne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // org.graalvm.compiler.nodes.ValueNode value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0  value  Lorg/graalvm/compiler/nodes/ValueNode;
    MethodParameters:
       Name  Flags
      value  

  private static boolean matches(org.graalvm.compiler.nodes.memory.FixedAccessNode, org.graalvm.compiler.nodes.gc.SerialWriteBarrier);
    descriptor: (Lorg/graalvm/compiler/nodes/memory/FixedAccessNode;Lorg/graalvm/compiler/nodes/gc/SerialWriteBarrier;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.nodes.memory.FixedAccessNode node
        start local 1 // org.graalvm.compiler.nodes.gc.SerialWriteBarrier barrier
         0: .line 184
            aload 1 /* barrier */
            invokevirtual org.graalvm.compiler.nodes.gc.SerialWriteBarrier.usePrecise:()Z
            ifne 4
         1: .line 185
            aload 1 /* barrier */
            invokevirtual org.graalvm.compiler.nodes.gc.SerialWriteBarrier.getAddress:()Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
            instanceof org.graalvm.compiler.nodes.memory.address.OffsetAddressNode
            ifeq 4
            aload 0 /* node */
            invokevirtual org.graalvm.compiler.nodes.memory.FixedAccessNode.getAddress:()Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
            instanceof org.graalvm.compiler.nodes.memory.address.OffsetAddressNode
            ifeq 4
         2: .line 186
            aload 1 /* barrier */
            invokevirtual org.graalvm.compiler.nodes.gc.SerialWriteBarrier.getAddress:()Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
            checkcast org.graalvm.compiler.nodes.memory.address.OffsetAddressNode
            invokevirtual org.graalvm.compiler.nodes.memory.address.OffsetAddressNode.getBase:()Lorg/graalvm/compiler/nodes/ValueNode;
            invokestatic org.graalvm.compiler.nodes.util.GraphUtil.unproxify:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            aload 0 /* node */
            invokevirtual org.graalvm.compiler.nodes.memory.FixedAccessNode.getAddress:()Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
            checkcast org.graalvm.compiler.nodes.memory.address.OffsetAddressNode
            invokevirtual org.graalvm.compiler.nodes.memory.address.OffsetAddressNode.getBase:()Lorg/graalvm/compiler/nodes/ValueNode;
            invokestatic org.graalvm.compiler.nodes.util.GraphUtil.unproxify:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            if_acmpne 3
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         3: iconst_0
            ireturn
         4: .line 189
      StackMap locals:
      StackMap stack:
            aload 1 /* barrier */
            invokevirtual org.graalvm.compiler.nodes.gc.SerialWriteBarrier.getAddress:()Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
            aload 0 /* node */
            invokevirtual org.graalvm.compiler.nodes.memory.FixedAccessNode.getAddress:()Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
            if_acmpne 5
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         5: iconst_0
            ireturn
        end local 1 // org.graalvm.compiler.nodes.gc.SerialWriteBarrier barrier
        end local 0 // org.graalvm.compiler.nodes.memory.FixedAccessNode node
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0     node  Lorg/graalvm/compiler/nodes/memory/FixedAccessNode;
            0    6     1  barrier  Lorg/graalvm/compiler/nodes/gc/SerialWriteBarrier;
    MethodParameters:
         Name  Flags
      node     
      barrier  

  private static boolean matches(org.graalvm.compiler.nodes.extended.ArrayRangeWrite, org.graalvm.compiler.nodes.gc.SerialArrayRangeWriteBarrier);
    descriptor: (Lorg/graalvm/compiler/nodes/extended/ArrayRangeWrite;Lorg/graalvm/compiler/nodes/gc/SerialArrayRangeWriteBarrier;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.nodes.extended.ArrayRangeWrite node
        start local 1 // org.graalvm.compiler.nodes.gc.SerialArrayRangeWriteBarrier barrier
         0: .line 193
            aload 1 /* barrier */
            invokevirtual org.graalvm.compiler.nodes.gc.SerialArrayRangeWriteBarrier.getAddress:()Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
            aload 0 /* node */
            invokeinterface org.graalvm.compiler.nodes.extended.ArrayRangeWrite.getAddress:()Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
            if_acmpne 1
            aload 0 /* node */
            invokeinterface org.graalvm.compiler.nodes.extended.ArrayRangeWrite.getLength:()Lorg/graalvm/compiler/nodes/ValueNode;
            aload 1 /* barrier */
            invokevirtual org.graalvm.compiler.nodes.gc.SerialArrayRangeWriteBarrier.getLength:()Lorg/graalvm/compiler/nodes/ValueNode;
            if_acmpne 1
            aload 0 /* node */
            invokeinterface org.graalvm.compiler.nodes.extended.ArrayRangeWrite.getElementStride:()I
            aload 1 /* barrier */
            invokevirtual org.graalvm.compiler.nodes.gc.SerialArrayRangeWriteBarrier.getElementStride:()I
            if_icmpne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 1 // org.graalvm.compiler.nodes.gc.SerialArrayRangeWriteBarrier barrier
        end local 0 // org.graalvm.compiler.nodes.extended.ArrayRangeWrite node
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     node  Lorg/graalvm/compiler/nodes/extended/ArrayRangeWrite;
            0    2     1  barrier  Lorg/graalvm/compiler/nodes/gc/SerialArrayRangeWriteBarrier;
    MethodParameters:
         Name  Flags
      node     
      barrier  

  static int[] $SWITCH_TABLE$org$graalvm$compiler$nodes$memory$HeapAccess$BarrierType();
    descriptor: ()[I
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 47
            getstatic org.graalvm.compiler.nodes.gc.CardTableBarrierSet.$SWITCH_TABLE$org$graalvm$compiler$nodes$memory$HeapAccess$BarrierType:[I
            dup
            ifnull 1
            areturn
      StackMap locals:
      StackMap stack: int[]
         1: pop
            invokestatic org.graalvm.compiler.nodes.memory.HeapAccess$BarrierType.values:()[Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;
            arraylength
            newarray 10
            astore 0
         2: aload 0
            getstatic org.graalvm.compiler.nodes.memory.HeapAccess$BarrierType.ARRAY:Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;
            invokevirtual org.graalvm.compiler.nodes.memory.HeapAccess$BarrierType.ordinal:()I
            iconst_2
            iastore
         3: goto 5
      StackMap locals: int[]
      StackMap stack: java.lang.NoSuchFieldError
         4: pop
      StackMap locals:
      StackMap stack:
         5: aload 0
            getstatic org.graalvm.compiler.nodes.memory.HeapAccess$BarrierType.FIELD:Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;
            invokevirtual org.graalvm.compiler.nodes.memory.HeapAccess$BarrierType.ordinal:()I
            iconst_3
            iastore
         6: goto 8
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
         7: pop
      StackMap locals:
      StackMap stack:
         8: aload 0
            getstatic org.graalvm.compiler.nodes.memory.HeapAccess$BarrierType.MAYBE_WEAK_FIELD:Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;
            invokevirtual org.graalvm.compiler.nodes.memory.HeapAccess$BarrierType.ordinal:()I
            bipush 6
            iastore
         9: goto 11
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        10: pop
      StackMap locals:
      StackMap stack:
        11: aload 0
            getstatic org.graalvm.compiler.nodes.memory.HeapAccess$BarrierType.NONE:Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;
            invokevirtual org.graalvm.compiler.nodes.memory.HeapAccess$BarrierType.ordinal:()I
            iconst_1
            iastore
        12: goto 14
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        13: pop
      StackMap locals:
      StackMap stack:
        14: aload 0
            getstatic org.graalvm.compiler.nodes.memory.HeapAccess$BarrierType.UNKNOWN:Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;
            invokevirtual org.graalvm.compiler.nodes.memory.HeapAccess$BarrierType.ordinal:()I
            iconst_4
            iastore
        15: goto 17
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        16: pop
      StackMap locals:
      StackMap stack:
        17: aload 0
            getstatic org.graalvm.compiler.nodes.memory.HeapAccess$BarrierType.WEAK_FIELD:Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;
            invokevirtual org.graalvm.compiler.nodes.memory.HeapAccess$BarrierType.ordinal:()I
            iconst_5
            iastore
        18: goto 20
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        19: pop
      StackMap locals:
      StackMap stack:
        20: aload 0
            dup
            putstatic org.graalvm.compiler.nodes.gc.CardTableBarrierSet.$SWITCH_TABLE$org$graalvm$compiler$nodes$memory$HeapAccess$BarrierType:[I
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.NoSuchFieldError
           5     6       7  Class java.lang.NoSuchFieldError
           8     9      10  Class java.lang.NoSuchFieldError
          11    12      13  Class java.lang.NoSuchFieldError
          14    15      16  Class java.lang.NoSuchFieldError
          17    18      19  Class java.lang.NoSuchFieldError
}
SourceFile: "CardTableBarrierSet.java"
InnerClasses:
  public final BarrierType = org.graalvm.compiler.nodes.memory.HeapAccess$BarrierType of org.graalvm.compiler.nodes.memory.HeapAccess