public class org.graalvm.compiler.replacements.aarch64.AArch64ReadNode extends org.graalvm.compiler.nodes.memory.ReadNode
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.graalvm.compiler.replacements.aarch64.AArch64ReadNode
  super_class: org.graalvm.compiler.nodes.memory.ReadNode
{
  public static final org.graalvm.compiler.graph.NodeClass<org.graalvm.compiler.replacements.aarch64.AArch64ReadNode> TYPE;
    descriptor: Lorg/graalvm/compiler/graph/NodeClass;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Signature: Lorg/graalvm/compiler/graph/NodeClass<Lorg/graalvm/compiler/replacements/aarch64/AArch64ReadNode;>;

  private final org.graalvm.compiler.core.common.type.IntegerStamp accessStamp;
    descriptor: Lorg/graalvm/compiler/core/common/type/IntegerStamp;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final boolean isSigned;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, 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: .line 53
            ldc Lorg/graalvm/compiler/replacements/aarch64/AArch64ReadNode;
            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.replacements.aarch64.AArch64ReadNode.$assertionsDisabled:Z
         3: .line 54
            ldc Lorg/graalvm/compiler/replacements/aarch64/AArch64ReadNode;
            invokestatic org.graalvm.compiler.graph.NodeClass.create:(Ljava/lang/Class;)Lorg/graalvm/compiler/graph/NodeClass;
            putstatic org.graalvm.compiler.replacements.aarch64.AArch64ReadNode.TYPE:Lorg/graalvm/compiler/graph/NodeClass;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(org.graalvm.compiler.nodes.memory.address.AddressNode, org.graalvm.word.LocationIdentity, org.graalvm.compiler.core.common.type.Stamp, org.graalvm.compiler.nodes.extended.GuardingNode, org.graalvm.compiler.nodes.memory.HeapAccess$BarrierType, boolean, org.graalvm.compiler.nodes.FrameState, org.graalvm.compiler.core.common.type.IntegerStamp, boolean);
    descriptor: (Lorg/graalvm/compiler/nodes/memory/address/AddressNode;Lorg/graalvm/word/LocationIdentity;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/extended/GuardingNode;Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;ZLorg/graalvm/compiler/nodes/FrameState;Lorg/graalvm/compiler/core/common/type/IntegerStamp;Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=10, args_size=10
        start local 0 // org.graalvm.compiler.replacements.aarch64.AArch64ReadNode this
        start local 1 // org.graalvm.compiler.nodes.memory.address.AddressNode address
        start local 2 // org.graalvm.word.LocationIdentity location
        start local 3 // org.graalvm.compiler.core.common.type.Stamp stamp
        start local 4 // org.graalvm.compiler.nodes.extended.GuardingNode guard
        start local 5 // org.graalvm.compiler.nodes.memory.HeapAccess$BarrierType barrierType
        start local 6 // boolean nullCheck
        start local 7 // org.graalvm.compiler.nodes.FrameState stateBefore
        start local 8 // org.graalvm.compiler.core.common.type.IntegerStamp accessStamp
        start local 9 // boolean isSigned
         0: .line 60
            aload 0 /* this */
            getstatic org.graalvm.compiler.replacements.aarch64.AArch64ReadNode.TYPE:Lorg/graalvm/compiler/graph/NodeClass;
            aload 1 /* address */
            aload 2 /* location */
            aload 3 /* stamp */
            aload 4 /* guard */
            aload 5 /* barrierType */
            iload 6 /* nullCheck */
            aload 7 /* stateBefore */
            invokespecial org.graalvm.compiler.nodes.memory.ReadNode.<init>:(Lorg/graalvm/compiler/graph/NodeClass;Lorg/graalvm/compiler/nodes/memory/address/AddressNode;Lorg/graalvm/word/LocationIdentity;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/extended/GuardingNode;Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;ZLorg/graalvm/compiler/nodes/FrameState;)V
         1: .line 61
            aload 0 /* this */
            aload 8 /* accessStamp */
            putfield org.graalvm.compiler.replacements.aarch64.AArch64ReadNode.accessStamp:Lorg/graalvm/compiler/core/common/type/IntegerStamp;
         2: .line 62
            aload 0 /* this */
            iload 9 /* isSigned */
            putfield org.graalvm.compiler.replacements.aarch64.AArch64ReadNode.isSigned:Z
         3: .line 63
            return
        end local 9 // boolean isSigned
        end local 8 // org.graalvm.compiler.core.common.type.IntegerStamp accessStamp
        end local 7 // org.graalvm.compiler.nodes.FrameState stateBefore
        end local 6 // boolean nullCheck
        end local 5 // org.graalvm.compiler.nodes.memory.HeapAccess$BarrierType barrierType
        end local 4 // org.graalvm.compiler.nodes.extended.GuardingNode guard
        end local 3 // org.graalvm.compiler.core.common.type.Stamp stamp
        end local 2 // org.graalvm.word.LocationIdentity location
        end local 1 // org.graalvm.compiler.nodes.memory.address.AddressNode address
        end local 0 // org.graalvm.compiler.replacements.aarch64.AArch64ReadNode this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    4     0         this  Lorg/graalvm/compiler/replacements/aarch64/AArch64ReadNode;
            0    4     1      address  Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
            0    4     2     location  Lorg/graalvm/word/LocationIdentity;
            0    4     3        stamp  Lorg/graalvm/compiler/core/common/type/Stamp;
            0    4     4        guard  Lorg/graalvm/compiler/nodes/extended/GuardingNode;
            0    4     5  barrierType  Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;
            0    4     6    nullCheck  Z
            0    4     7  stateBefore  Lorg/graalvm/compiler/nodes/FrameState;
            0    4     8  accessStamp  Lorg/graalvm/compiler/core/common/type/IntegerStamp;
            0    4     9     isSigned  Z
    MethodParameters:
             Name  Flags
      address      
      location     
      stamp        
      guard        
      barrierType  
      nullCheck    
      stateBefore  
      accessStamp  
      isSigned     

  public void generate(org.graalvm.compiler.nodes.spi.NodeLIRBuilderTool);
    descriptor: (Lorg/graalvm/compiler/nodes/spi/NodeLIRBuilderTool;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=6, args_size=2
        start local 0 // org.graalvm.compiler.replacements.aarch64.AArch64ReadNode this
        start local 1 // org.graalvm.compiler.nodes.spi.NodeLIRBuilderTool gen
         0: .line 67
            aload 1 /* gen */
            invokeinterface org.graalvm.compiler.nodes.spi.NodeLIRBuilderTool.getLIRGeneratorTool:()Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool;
            checkcast org.graalvm.compiler.core.aarch64.AArch64LIRGenerator
            astore 2 /* lirgen */
        start local 2 // org.graalvm.compiler.core.aarch64.AArch64LIRGenerator lirgen
         1: .line 68
            aload 2 /* lirgen */
            invokevirtual org.graalvm.compiler.core.aarch64.AArch64LIRGenerator.getArithmetic:()Lorg/graalvm/compiler/lir/gen/ArithmeticLIRGeneratorTool;
            checkcast org.graalvm.compiler.core.aarch64.AArch64ArithmeticLIRGenerator
            astore 3 /* arithgen */
        start local 3 // org.graalvm.compiler.core.aarch64.AArch64ArithmeticLIRGenerator arithgen
         2: .line 69
            aload 2 /* lirgen */
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.aarch64.AArch64ReadNode.accessStamp:Lorg/graalvm/compiler/core/common/type/IntegerStamp;
            invokevirtual org.graalvm.compiler.core.aarch64.AArch64LIRGenerator.getLIRKind:(Lorg/graalvm/compiler/core/common/type/Stamp;)Lorg/graalvm/compiler/core/common/LIRKind;
            invokevirtual org.graalvm.compiler.core.common.LIRKind.getPlatformKind:()Ljdk/vm/ci/meta/PlatformKind;
            checkcast jdk.vm.ci.aarch64.AArch64Kind
            astore 4 /* readKind */
        start local 4 // jdk.vm.ci.aarch64.AArch64Kind readKind
         3: .line 70
            aload 0 /* this */
            getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
            invokevirtual org.graalvm.compiler.replacements.aarch64.AArch64ReadNode.stamp:(Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/core/common/type/Stamp;
            checkcast org.graalvm.compiler.core.common.type.IntegerStamp
            invokevirtual org.graalvm.compiler.core.common.type.IntegerStamp.getBits:()I
            istore 5 /* resultBits */
        start local 5 // int resultBits
         4: .line 71
            aload 1 /* gen */
            aload 0 /* this */
            aload 3 /* arithgen */
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.aarch64.AArch64ReadNode.isSigned:Z
            aload 4 /* readKind */
            iload 5 /* resultBits */
            aload 1 /* gen */
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.replacements.aarch64.AArch64ReadNode.getAddress:()Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
            invokeinterface org.graalvm.compiler.nodes.spi.NodeLIRBuilderTool.operand:(Lorg/graalvm/compiler/graph/Node;)Ljdk/vm/ci/meta/Value;
            checkcast org.graalvm.compiler.lir.aarch64.AArch64AddressValue
            aload 1 /* gen */
            aload 0 /* this */
            invokeinterface org.graalvm.compiler.nodes.spi.NodeLIRBuilderTool.state:(Lorg/graalvm/compiler/nodes/DeoptimizingNode;)Lorg/graalvm/compiler/lir/LIRFrameState;
            invokevirtual org.graalvm.compiler.core.aarch64.AArch64ArithmeticLIRGenerator.emitExtendMemory:(ZLjdk/vm/ci/aarch64/AArch64Kind;ILorg/graalvm/compiler/lir/aarch64/AArch64AddressValue;Lorg/graalvm/compiler/lir/LIRFrameState;)Ljdk/vm/ci/meta/Value;
            invokeinterface org.graalvm.compiler.nodes.spi.NodeLIRBuilderTool.setResult:(Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/Value;
            pop
         5: .line 72
            return
        end local 5 // int resultBits
        end local 4 // jdk.vm.ci.aarch64.AArch64Kind readKind
        end local 3 // org.graalvm.compiler.core.aarch64.AArch64ArithmeticLIRGenerator arithgen
        end local 2 // org.graalvm.compiler.core.aarch64.AArch64LIRGenerator lirgen
        end local 1 // org.graalvm.compiler.nodes.spi.NodeLIRBuilderTool gen
        end local 0 // org.graalvm.compiler.replacements.aarch64.AArch64ReadNode this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    6     0        this  Lorg/graalvm/compiler/replacements/aarch64/AArch64ReadNode;
            0    6     1         gen  Lorg/graalvm/compiler/nodes/spi/NodeLIRBuilderTool;
            1    6     2      lirgen  Lorg/graalvm/compiler/core/aarch64/AArch64LIRGenerator;
            2    6     3    arithgen  Lorg/graalvm/compiler/core/aarch64/AArch64ArithmeticLIRGenerator;
            3    6     4    readKind  Ljdk/vm/ci/aarch64/AArch64Kind;
            4    6     5  resultBits  I
    MethodParameters:
      Name  Flags
      gen   

  public static void replace(org.graalvm.compiler.nodes.memory.ReadNode);
    descriptor: (Lorg/graalvm/compiler/nodes/memory/ReadNode;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=11, locals=13, args_size=1
        start local 0 // org.graalvm.compiler.nodes.memory.ReadNode readNode
         0: .line 81
            getstatic org.graalvm.compiler.replacements.aarch64.AArch64ReadNode.$assertionsDisabled:Z
            ifne 1
            aload 0 /* readNode */
            invokevirtual org.graalvm.compiler.nodes.memory.ReadNode.getUsageCount:()I
            iconst_1
            if_icmpeq 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 82
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.replacements.aarch64.AArch64ReadNode.$assertionsDisabled:Z
            ifne 2
            aload 0 /* readNode */
            iconst_0
            invokevirtual org.graalvm.compiler.nodes.memory.ReadNode.getUsageAt:(I)Lorg/graalvm/compiler/graph/Node;
            instanceof org.graalvm.compiler.nodes.calc.ZeroExtendNode
            ifne 2
            aload 0 /* readNode */
            iconst_0
            invokevirtual org.graalvm.compiler.nodes.memory.ReadNode.getUsageAt:(I)Lorg/graalvm/compiler/graph/Node;
            instanceof org.graalvm.compiler.nodes.calc.SignExtendNode
            ifne 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 84
      StackMap locals:
      StackMap stack:
            aload 0 /* readNode */
            iconst_0
            invokevirtual org.graalvm.compiler.nodes.memory.ReadNode.getUsageAt:(I)Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.ValueNode
            astore 1 /* usage */
        start local 1 // org.graalvm.compiler.nodes.ValueNode usage
         3: .line 85
            aload 1 /* usage */
            instanceof org.graalvm.compiler.nodes.calc.SignExtendNode
            istore 2 /* isSigned */
        start local 2 // boolean isSigned
         4: .line 86
            aload 0 /* readNode */
            invokevirtual org.graalvm.compiler.nodes.memory.ReadNode.getAccessStamp:()Lorg/graalvm/compiler/core/common/type/Stamp;
            checkcast org.graalvm.compiler.core.common.type.IntegerStamp
            astore 3 /* accessStamp */
        start local 3 // org.graalvm.compiler.core.common.type.IntegerStamp accessStamp
         5: .line 88
            aload 0 /* readNode */
            invokevirtual org.graalvm.compiler.nodes.memory.ReadNode.getAddress:()Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
            astore 4 /* address */
        start local 4 // org.graalvm.compiler.nodes.memory.address.AddressNode address
         6: .line 89
            aload 0 /* readNode */
            invokevirtual org.graalvm.compiler.nodes.memory.ReadNode.getLocationIdentity:()Lorg/graalvm/word/LocationIdentity;
            astore 5 /* location */
        start local 5 // org.graalvm.word.LocationIdentity location
         7: .line 90
            aload 1 /* usage */
            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;
            astore 6 /* stamp */
        start local 6 // org.graalvm.compiler.core.common.type.Stamp stamp
         8: .line 91
            aload 0 /* readNode */
            invokevirtual org.graalvm.compiler.nodes.memory.ReadNode.getGuard:()Lorg/graalvm/compiler/nodes/extended/GuardingNode;
            astore 7 /* guard */
        start local 7 // org.graalvm.compiler.nodes.extended.GuardingNode guard
         9: .line 92
            aload 0 /* readNode */
            invokevirtual org.graalvm.compiler.nodes.memory.ReadNode.getBarrierType:()Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;
            astore 8 /* barrierType */
        start local 8 // org.graalvm.compiler.nodes.memory.HeapAccess$BarrierType barrierType
        10: .line 93
            aload 0 /* readNode */
            invokevirtual org.graalvm.compiler.nodes.memory.ReadNode.getNullCheck:()Z
            istore 9 /* nullCheck */
        start local 9 // boolean nullCheck
        11: .line 94
            aload 0 /* readNode */
            invokevirtual org.graalvm.compiler.nodes.memory.ReadNode.stateBefore:()Lorg/graalvm/compiler/nodes/FrameState;
            astore 10 /* stateBefore */
        start local 10 // org.graalvm.compiler.nodes.FrameState stateBefore
        12: .line 95
            new org.graalvm.compiler.replacements.aarch64.AArch64ReadNode
            dup
            aload 4 /* address */
            aload 5 /* location */
            aload 6 /* stamp */
            aload 7 /* guard */
            aload 8 /* barrierType */
            iload 9 /* nullCheck */
            aload 10 /* stateBefore */
            aload 3 /* accessStamp */
            iload 2 /* isSigned */
            invokespecial org.graalvm.compiler.replacements.aarch64.AArch64ReadNode.<init>:(Lorg/graalvm/compiler/nodes/memory/address/AddressNode;Lorg/graalvm/word/LocationIdentity;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/extended/GuardingNode;Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;ZLorg/graalvm/compiler/nodes/FrameState;Lorg/graalvm/compiler/core/common/type/IntegerStamp;Z)V
            astore 11 /* clone */
        start local 11 // org.graalvm.compiler.replacements.aarch64.AArch64ReadNode clone
        13: .line 96
            aload 0 /* readNode */
            invokevirtual org.graalvm.compiler.nodes.memory.ReadNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
            astore 12 /* graph */
        start local 12 // org.graalvm.compiler.nodes.StructuredGraph graph
        14: .line 97
            aload 12 /* graph */
            aload 11 /* clone */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
            pop
        15: .line 99
            aload 1 /* usage */
            aload 0 /* readNode */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.replaceAtUsagesAndDelete:(Lorg/graalvm/compiler/graph/Node;)V
        16: .line 101
            aload 12 /* graph */
            aload 0 /* readNode */
            aload 11 /* clone */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.replaceFixedWithFixed:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;Lorg/graalvm/compiler/nodes/FixedWithNextNode;)V
        17: .line 102
            return
        end local 12 // org.graalvm.compiler.nodes.StructuredGraph graph
        end local 11 // org.graalvm.compiler.replacements.aarch64.AArch64ReadNode clone
        end local 10 // org.graalvm.compiler.nodes.FrameState stateBefore
        end local 9 // boolean nullCheck
        end local 8 // org.graalvm.compiler.nodes.memory.HeapAccess$BarrierType barrierType
        end local 7 // org.graalvm.compiler.nodes.extended.GuardingNode guard
        end local 6 // org.graalvm.compiler.core.common.type.Stamp stamp
        end local 5 // org.graalvm.word.LocationIdentity location
        end local 4 // org.graalvm.compiler.nodes.memory.address.AddressNode address
        end local 3 // org.graalvm.compiler.core.common.type.IntegerStamp accessStamp
        end local 2 // boolean isSigned
        end local 1 // org.graalvm.compiler.nodes.ValueNode usage
        end local 0 // org.graalvm.compiler.nodes.memory.ReadNode readNode
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   18     0     readNode  Lorg/graalvm/compiler/nodes/memory/ReadNode;
            3   18     1        usage  Lorg/graalvm/compiler/nodes/ValueNode;
            4   18     2     isSigned  Z
            5   18     3  accessStamp  Lorg/graalvm/compiler/core/common/type/IntegerStamp;
            6   18     4      address  Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
            7   18     5     location  Lorg/graalvm/word/LocationIdentity;
            8   18     6        stamp  Lorg/graalvm/compiler/core/common/type/Stamp;
            9   18     7        guard  Lorg/graalvm/compiler/nodes/extended/GuardingNode;
           10   18     8  barrierType  Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;
           11   18     9    nullCheck  Z
           12   18    10  stateBefore  Lorg/graalvm/compiler/nodes/FrameState;
           13   18    11        clone  Lorg/graalvm/compiler/replacements/aarch64/AArch64ReadNode;
           14   18    12        graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
    MethodParameters:
          Name  Flags
      readNode  
}
SourceFile: "AArch64ReadNode.java"
InnerClasses:
  public final BarrierType = org.graalvm.compiler.nodes.memory.HeapAccess$BarrierType of org.graalvm.compiler.nodes.memory.HeapAccess
    RuntimeVisibleAnnotations: 
      org.graalvm.compiler.nodeinfo.NodeInfo()