public class org.graalvm.compiler.core.aarch64.AArch64AddressLoweringByUse extends org.graalvm.compiler.phases.common.AddressLoweringByUsePhase$AddressLoweringByUse
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.graalvm.compiler.core.aarch64.AArch64AddressLoweringByUse
  super_class: org.graalvm.compiler.phases.common.AddressLoweringByUsePhase$AddressLoweringByUse
{
  private org.graalvm.compiler.core.aarch64.AArch64LIRKindTool kindtool;
    descriptor: Lorg/graalvm/compiler/core/aarch64/AArch64LIRKindTool;
    flags: (0x0002) ACC_PRIVATE

  private boolean supportsDerivedReference;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private static volatile int[] $SWITCH_TABLE$org$graalvm$compiler$asm$aarch64$AArch64Address$AddressingMode;
    descriptor: [I
    flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC

  public void <init>(org.graalvm.compiler.core.aarch64.AArch64LIRKindTool);
    descriptor: (Lorg/graalvm/compiler/core/aarch64/AArch64LIRKindTool;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.core.aarch64.AArch64AddressLoweringByUse this
        start local 1 // org.graalvm.compiler.core.aarch64.AArch64LIRKindTool kindtool
         0: .line 49
            aload 0 /* this */
            aload 1 /* kindtool */
            iconst_1
            invokespecial org.graalvm.compiler.core.aarch64.AArch64AddressLoweringByUse.<init>:(Lorg/graalvm/compiler/core/aarch64/AArch64LIRKindTool;Z)V
         1: .line 50
            return
        end local 1 // org.graalvm.compiler.core.aarch64.AArch64LIRKindTool kindtool
        end local 0 // org.graalvm.compiler.core.aarch64.AArch64AddressLoweringByUse this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lorg/graalvm/compiler/core/aarch64/AArch64AddressLoweringByUse;
            0    2     1  kindtool  Lorg/graalvm/compiler/core/aarch64/AArch64LIRKindTool;
    MethodParameters:
          Name  Flags
      kindtool  

  public void <init>(org.graalvm.compiler.core.aarch64.AArch64LIRKindTool, boolean);
    descriptor: (Lorg/graalvm/compiler/core/aarch64/AArch64LIRKindTool;Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.graalvm.compiler.core.aarch64.AArch64AddressLoweringByUse this
        start local 1 // org.graalvm.compiler.core.aarch64.AArch64LIRKindTool kindtool
        start local 2 // boolean supportsDerivedReference
         0: .line 52
            aload 0 /* this */
            invokespecial org.graalvm.compiler.phases.common.AddressLoweringByUsePhase$AddressLoweringByUse.<init>:()V
         1: .line 53
            aload 0 /* this */
            aload 1 /* kindtool */
            putfield org.graalvm.compiler.core.aarch64.AArch64AddressLoweringByUse.kindtool:Lorg/graalvm/compiler/core/aarch64/AArch64LIRKindTool;
         2: .line 54
            aload 0 /* this */
            iload 2 /* supportsDerivedReference */
            putfield org.graalvm.compiler.core.aarch64.AArch64AddressLoweringByUse.supportsDerivedReference:Z
         3: .line 55
            return
        end local 2 // boolean supportsDerivedReference
        end local 1 // org.graalvm.compiler.core.aarch64.AArch64LIRKindTool kindtool
        end local 0 // org.graalvm.compiler.core.aarch64.AArch64AddressLoweringByUse this
      LocalVariableTable:
        Start  End  Slot                      Name  Signature
            0    4     0                      this  Lorg/graalvm/compiler/core/aarch64/AArch64AddressLoweringByUse;
            0    4     1                  kindtool  Lorg/graalvm/compiler/core/aarch64/AArch64LIRKindTool;
            0    4     2  supportsDerivedReference  Z
    MethodParameters:
                          Name  Flags
      kindtool                  
      supportsDerivedReference  

  public org.graalvm.compiler.nodes.memory.address.AddressNode lower(org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.core.common.type.Stamp, org.graalvm.compiler.nodes.memory.address.AddressNode);
    descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/memory/address/AddressNode;)Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // org.graalvm.compiler.core.aarch64.AArch64AddressLoweringByUse this
        start local 1 // org.graalvm.compiler.nodes.ValueNode use
        start local 2 // org.graalvm.compiler.core.common.type.Stamp stamp
        start local 3 // org.graalvm.compiler.nodes.memory.address.AddressNode address
         0: .line 59
            aload 3 /* address */
            instanceof org.graalvm.compiler.nodes.memory.address.OffsetAddressNode
            ifeq 3
         1: .line 60
            aload 3 /* address */
            checkcast org.graalvm.compiler.nodes.memory.address.OffsetAddressNode
            astore 4 /* offsetAddress */
        start local 4 // org.graalvm.compiler.nodes.memory.address.OffsetAddressNode offsetAddress
         2: .line 61
            aload 0 /* this */
            aload 2 /* stamp */
            aload 4 /* offsetAddress */
            invokevirtual org.graalvm.compiler.nodes.memory.address.OffsetAddressNode.getBase:()Lorg/graalvm/compiler/nodes/ValueNode;
            aload 4 /* offsetAddress */
            invokevirtual org.graalvm.compiler.nodes.memory.address.OffsetAddressNode.getOffset:()Lorg/graalvm/compiler/nodes/ValueNode;
            invokevirtual org.graalvm.compiler.core.aarch64.AArch64AddressLoweringByUse.doLower:(Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
            areturn
        end local 4 // org.graalvm.compiler.nodes.memory.address.OffsetAddressNode offsetAddress
         3: .line 64
      StackMap locals:
      StackMap stack:
            aload 3 /* address */
            areturn
        end local 3 // org.graalvm.compiler.nodes.memory.address.AddressNode address
        end local 2 // org.graalvm.compiler.core.common.type.Stamp stamp
        end local 1 // org.graalvm.compiler.nodes.ValueNode use
        end local 0 // org.graalvm.compiler.core.aarch64.AArch64AddressLoweringByUse this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    4     0           this  Lorg/graalvm/compiler/core/aarch64/AArch64AddressLoweringByUse;
            0    4     1            use  Lorg/graalvm/compiler/nodes/ValueNode;
            0    4     2          stamp  Lorg/graalvm/compiler/core/common/type/Stamp;
            0    4     3        address  Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
            2    3     4  offsetAddress  Lorg/graalvm/compiler/nodes/memory/address/OffsetAddressNode;
    MethodParameters:
         Name  Flags
      use      
      stamp    
      address  

  public org.graalvm.compiler.nodes.memory.address.AddressNode lower(org.graalvm.compiler.nodes.memory.address.AddressNode);
    descriptor: (Lorg/graalvm/compiler/nodes/memory/address/AddressNode;)Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.core.aarch64.AArch64AddressLoweringByUse this
        start local 1 // org.graalvm.compiler.nodes.memory.address.AddressNode address
         0: .line 70
            aload 0 /* this */
            aconst_null
            aconst_null
            aload 1 /* address */
            invokevirtual org.graalvm.compiler.core.aarch64.AArch64AddressLoweringByUse.lower:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/memory/address/AddressNode;)Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
            areturn
        end local 1 // org.graalvm.compiler.nodes.memory.address.AddressNode address
        end local 0 // org.graalvm.compiler.core.aarch64.AArch64AddressLoweringByUse this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/graalvm/compiler/core/aarch64/AArch64AddressLoweringByUse;
            0    1     1  address  Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
    MethodParameters:
         Name  Flags
      address  

  private org.graalvm.compiler.nodes.memory.address.AddressNode doLower(org.graalvm.compiler.core.common.type.Stamp, org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.ValueNode);
    descriptor: (Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=7, args_size=4
        start local 0 // org.graalvm.compiler.core.aarch64.AArch64AddressLoweringByUse this
        start local 1 // org.graalvm.compiler.core.common.type.Stamp stamp
        start local 2 // org.graalvm.compiler.nodes.ValueNode base
        start local 3 // org.graalvm.compiler.nodes.ValueNode index
         0: .line 74
            new org.graalvm.compiler.core.aarch64.AArch64AddressNode
            dup
            aload 2 /* base */
            aload 3 /* index */
            invokespecial org.graalvm.compiler.core.aarch64.AArch64AddressNode.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)V
            astore 4 /* ret */
        start local 4 // org.graalvm.compiler.core.aarch64.AArch64AddressNode ret
         1: .line 75
            aload 1 /* stamp */
            ifnonnull 2
            aconst_null
            goto 3
      StackMap locals: org.graalvm.compiler.core.aarch64.AArch64AddressNode
      StackMap stack:
         2: aload 0 /* this */
            aload 1 /* stamp */
            invokevirtual org.graalvm.compiler.core.aarch64.AArch64AddressLoweringByUse.getAArch64Kind:(Lorg/graalvm/compiler/core/common/type/Stamp;)Ljdk/vm/ci/aarch64/AArch64Kind;
      StackMap locals:
      StackMap stack: jdk.vm.ci.aarch64.AArch64Kind
         3: astore 5 /* aarch64Kind */
        start local 5 // jdk.vm.ci.aarch64.AArch64Kind aarch64Kind
         4: .line 80
      StackMap locals: jdk.vm.ci.aarch64.AArch64Kind
      StackMap stack:
            aload 0 /* this */
            aload 5 /* aarch64Kind */
            aload 4 /* ret */
            invokevirtual org.graalvm.compiler.core.aarch64.AArch64AddressLoweringByUse.improve:(Ljdk/vm/ci/aarch64/AArch64Kind;Lorg/graalvm/compiler/core/aarch64/AArch64AddressNode;)Z
            istore 6 /* changed */
        start local 6 // boolean changed
         5: .line 81
            iload 6 /* changed */
            ifne 4
         6: .line 84
            aload 2 /* base */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
            aload 4 /* ret */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.unique:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.memory.address.AddressNode
            areturn
        end local 6 // boolean changed
        end local 5 // jdk.vm.ci.aarch64.AArch64Kind aarch64Kind
        end local 4 // org.graalvm.compiler.core.aarch64.AArch64AddressNode ret
        end local 3 // org.graalvm.compiler.nodes.ValueNode index
        end local 2 // org.graalvm.compiler.nodes.ValueNode base
        end local 1 // org.graalvm.compiler.core.common.type.Stamp stamp
        end local 0 // org.graalvm.compiler.core.aarch64.AArch64AddressLoweringByUse this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    7     0         this  Lorg/graalvm/compiler/core/aarch64/AArch64AddressLoweringByUse;
            0    7     1        stamp  Lorg/graalvm/compiler/core/common/type/Stamp;
            0    7     2         base  Lorg/graalvm/compiler/nodes/ValueNode;
            0    7     3        index  Lorg/graalvm/compiler/nodes/ValueNode;
            1    7     4          ret  Lorg/graalvm/compiler/core/aarch64/AArch64AddressNode;
            4    7     5  aarch64Kind  Ljdk/vm/ci/aarch64/AArch64Kind;
            5    7     6      changed  Z
    MethodParameters:
       Name  Flags
      stamp  
      base   
      index  

  private boolean improve(jdk.vm.ci.aarch64.AArch64Kind, org.graalvm.compiler.core.aarch64.AArch64AddressNode);
    descriptor: (Ljdk/vm/ci/aarch64/AArch64Kind;Lorg/graalvm/compiler/core/aarch64/AArch64AddressNode;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=15, args_size=3
        start local 0 // org.graalvm.compiler.core.aarch64.AArch64AddressLoweringByUse this
        start local 1 // jdk.vm.ci.aarch64.AArch64Kind kind
        start local 2 // org.graalvm.compiler.core.aarch64.AArch64AddressNode ret
         0: .line 88
            aload 2 /* ret */
            invokevirtual org.graalvm.compiler.core.aarch64.AArch64AddressNode.getAddressingMode:()Lorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;
            astore 3 /* mode */
        start local 3 // org.graalvm.compiler.asm.aarch64.AArch64Address$AddressingMode mode
         1: .line 90
            aload 3 /* mode */
            invokestatic org.graalvm.compiler.core.aarch64.AArch64AddressLoweringByUse.isDisplacementMode:(Lorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;)Z
            ifne 2
            aload 3 /* mode */
            invokestatic org.graalvm.compiler.core.aarch64.AArch64AddressLoweringByUse.isBaseOnlyMode:(Lorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;)Z
            ifeq 3
         2: .line 91
      StackMap locals: org.graalvm.compiler.asm.aarch64.AArch64Address$AddressingMode
      StackMap stack:
            iconst_0
            ireturn
         3: .line 93
      StackMap locals:
      StackMap stack:
            aload 2 /* ret */
            invokevirtual org.graalvm.compiler.core.aarch64.AArch64AddressNode.getBase:()Lorg/graalvm/compiler/nodes/ValueNode;
            astore 4 /* base */
        start local 4 // org.graalvm.compiler.nodes.ValueNode base
         4: .line 94
            aload 2 /* ret */
            invokevirtual org.graalvm.compiler.core.aarch64.AArch64AddressNode.getIndex:()Lorg/graalvm/compiler/nodes/ValueNode;
            astore 5 /* index */
        start local 5 // org.graalvm.compiler.nodes.ValueNode index
         5: .line 97
            aload 4 /* base */
            ifnonnull 9
         6: .line 98
            aload 2 /* ret */
            aload 5 /* index */
            invokevirtual org.graalvm.compiler.core.aarch64.AArch64AddressNode.setBase:(Lorg/graalvm/compiler/nodes/ValueNode;)V
         7: .line 99
            aload 2 /* ret */
            aload 4 /* base */
            invokevirtual org.graalvm.compiler.core.aarch64.AArch64AddressNode.setIndex:(Lorg/graalvm/compiler/nodes/ValueNode;)V
         8: .line 100
            iconst_1
            ireturn
         9: .line 106
      StackMap locals: org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.ValueNode
      StackMap stack:
            aload 4 /* base */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.isJavaConstant:()Z
            ifeq 14
            aload 4 /* base */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.asJavaConstant:()Ljdk/vm/ci/meta/JavaConstant;
            invokeinterface jdk.vm.ci.meta.JavaConstant.getJavaKind:()Ljdk/vm/ci/meta/JavaKind;
            invokevirtual jdk.vm.ci.meta.JavaKind.isNumericInteger:()Z
            ifeq 14
        10: .line 107
            aload 5 /* index */
            ifnull 14
            aload 5 /* index */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.isJavaConstant:()Z
            ifne 14
        11: .line 108
            aload 2 /* ret */
            aload 5 /* index */
            invokevirtual org.graalvm.compiler.core.aarch64.AArch64AddressNode.setBase:(Lorg/graalvm/compiler/nodes/ValueNode;)V
        12: .line 109
            aload 2 /* ret */
            aload 4 /* base */
            invokevirtual org.graalvm.compiler.core.aarch64.AArch64AddressNode.setIndex:(Lorg/graalvm/compiler/nodes/ValueNode;)V
        13: .line 110
            iconst_1
            ireturn
        14: .line 114
      StackMap locals:
      StackMap stack:
            aload 5 /* index */
            ifnonnull 19
            aload 4 /* base */
            instanceof org.graalvm.compiler.nodes.calc.AddNode
            ifeq 19
        15: .line 115
            aload 4 /* base */
            checkcast org.graalvm.compiler.nodes.calc.AddNode
            astore 6 /* add */
        start local 6 // org.graalvm.compiler.nodes.calc.AddNode add
        16: .line 116
            aload 2 /* ret */
            aload 6 /* add */
            invokevirtual org.graalvm.compiler.nodes.calc.AddNode.getX:()Lorg/graalvm/compiler/nodes/ValueNode;
            invokevirtual org.graalvm.compiler.core.aarch64.AArch64AddressNode.setBase:(Lorg/graalvm/compiler/nodes/ValueNode;)V
        17: .line 117
            aload 2 /* ret */
            aload 6 /* add */
            invokevirtual org.graalvm.compiler.nodes.calc.AddNode.getY:()Lorg/graalvm/compiler/nodes/ValueNode;
            invokevirtual org.graalvm.compiler.core.aarch64.AArch64AddressNode.setIndex:(Lorg/graalvm/compiler/nodes/ValueNode;)V
        18: .line 118
            iconst_1
            ireturn
        end local 6 // org.graalvm.compiler.nodes.calc.AddNode add
        19: .line 122
      StackMap locals:
      StackMap stack:
            aload 5 /* index */
            ifnull 60
            aload 5 /* index */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.isJavaConstant:()Z
            ifeq 60
        20: .line 123
            aload 5 /* index */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.asJavaConstant:()Ljdk/vm/ci/meta/JavaConstant;
            astore 6 /* javaConstant */
        start local 6 // jdk.vm.ci.meta.JavaConstant javaConstant
        21: .line 124
            aload 6 /* javaConstant */
            invokeinterface jdk.vm.ci.meta.JavaConstant.getJavaKind:()Ljdk/vm/ci/meta/JavaKind;
            invokevirtual jdk.vm.ci.meta.JavaKind.isNumericInteger:()Z
            ifeq 60
        22: .line 125
            aload 6 /* javaConstant */
            invokeinterface jdk.vm.ci.meta.JavaConstant.asLong:()J
            lstore 7 /* disp */
        start local 7 // long disp
        23: .line 126
            aload 1 /* kind */
            lload 7 /* disp */
            invokestatic org.graalvm.compiler.core.aarch64.AArch64AddressLoweringByUse.immediateMode:(Ljdk/vm/ci/aarch64/AArch64Kind;J)Lorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;
            astore 3 /* mode */
        24: .line 127
            aload 3 /* mode */
            invokestatic org.graalvm.compiler.core.aarch64.AArch64AddressLoweringByUse.isDisplacementMode:(Lorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;)Z
            ifeq 60
        25: .line 128
            aconst_null
            astore 5 /* index */
        26: .line 132
            aload 4 /* base */
            instanceof org.graalvm.compiler.nodes.calc.AddNode
            istore 9 /* tryNextBase */
        start local 9 // boolean tryNextBase
        27: .line 133
            goto 51
        28: .line 134
      StackMap locals: jdk.vm.ci.meta.JavaConstant long int
      StackMap stack:
            aload 4 /* base */
            checkcast org.graalvm.compiler.nodes.calc.AddNode
            astore 10 /* add */
        start local 10 // org.graalvm.compiler.nodes.calc.AddNode add
        29: .line 135
            iconst_0
            istore 9 /* tryNextBase */
        30: .line 136
            aload 10 /* add */
            invokevirtual org.graalvm.compiler.nodes.calc.AddNode.getX:()Lorg/graalvm/compiler/nodes/ValueNode;
            astore 11 /* child */
        start local 11 // org.graalvm.compiler.nodes.ValueNode child
        31: .line 137
            aload 11 /* child */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.isJavaConstant:()Z
            ifeq 41
            aload 11 /* child */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.asJavaConstant:()Ljdk/vm/ci/meta/JavaConstant;
            invokeinterface jdk.vm.ci.meta.JavaConstant.getJavaKind:()Ljdk/vm/ci/meta/JavaKind;
            invokevirtual jdk.vm.ci.meta.JavaKind.isNumericInteger:()Z
            ifeq 41
        32: .line 138
            lload 7 /* disp */
            aload 11 /* child */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.asJavaConstant:()Ljdk/vm/ci/meta/JavaConstant;
            invokeinterface jdk.vm.ci.meta.JavaConstant.asLong:()J
            ladd
            lstore 12 /* newDisp */
        start local 12 // long newDisp
        33: .line 139
            aload 1 /* kind */
            lload 12 /* newDisp */
            invokestatic org.graalvm.compiler.core.aarch64.AArch64AddressLoweringByUse.immediateMode:(Ljdk/vm/ci/aarch64/AArch64Kind;J)Lorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;
            astore 14 /* newMode */
        start local 14 // org.graalvm.compiler.asm.aarch64.AArch64Address$AddressingMode newMode
        34: .line 140
            aload 14 /* newMode */
            getstatic org.graalvm.compiler.asm.aarch64.AArch64Address$AddressingMode.REGISTER_OFFSET:Lorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;
            if_acmpeq 51
        35: .line 141
            lload 12 /* newDisp */
            lstore 7 /* disp */
        36: .line 142
            aload 14 /* newMode */
            astore 3 /* mode */
        37: .line 143
            aload 10 /* add */
            invokevirtual org.graalvm.compiler.nodes.calc.AddNode.getY:()Lorg/graalvm/compiler/nodes/ValueNode;
            astore 4 /* base */
        38: .line 144
            aload 2 /* ret */
            aload 4 /* base */
            invokevirtual org.graalvm.compiler.core.aarch64.AArch64AddressNode.setBase:(Lorg/graalvm/compiler/nodes/ValueNode;)V
        39: .line 145
            aload 4 /* base */
            instanceof org.graalvm.compiler.nodes.calc.AddNode
            istore 9 /* tryNextBase */
        end local 14 // org.graalvm.compiler.asm.aarch64.AArch64Address$AddressingMode newMode
        end local 12 // long newDisp
        40: .line 147
            goto 51
        41: .line 148
      StackMap locals: org.graalvm.compiler.nodes.calc.AddNode org.graalvm.compiler.nodes.ValueNode
      StackMap stack:
            aload 10 /* add */
            invokevirtual org.graalvm.compiler.nodes.calc.AddNode.getY:()Lorg/graalvm/compiler/nodes/ValueNode;
            astore 11 /* child */
        42: .line 149
            aload 11 /* child */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.isJavaConstant:()Z
            ifeq 51
            aload 11 /* child */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.asJavaConstant:()Ljdk/vm/ci/meta/JavaConstant;
            invokeinterface jdk.vm.ci.meta.JavaConstant.getJavaKind:()Ljdk/vm/ci/meta/JavaKind;
            invokevirtual jdk.vm.ci.meta.JavaKind.isNumericInteger:()Z
            ifeq 51
        43: .line 150
            lload 7 /* disp */
            aload 11 /* child */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.asJavaConstant:()Ljdk/vm/ci/meta/JavaConstant;
            invokeinterface jdk.vm.ci.meta.JavaConstant.asLong:()J
            ladd
            lstore 12 /* newDisp */
        start local 12 // long newDisp
        44: .line 151
            aload 1 /* kind */
            lload 12 /* newDisp */
            invokestatic org.graalvm.compiler.core.aarch64.AArch64AddressLoweringByUse.immediateMode:(Ljdk/vm/ci/aarch64/AArch64Kind;J)Lorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;
            astore 14 /* newMode */
        start local 14 // org.graalvm.compiler.asm.aarch64.AArch64Address$AddressingMode newMode
        45: .line 152
            aload 14 /* newMode */
            getstatic org.graalvm.compiler.asm.aarch64.AArch64Address$AddressingMode.REGISTER_OFFSET:Lorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;
            if_acmpeq 51
        46: .line 153
            lload 12 /* newDisp */
            lstore 7 /* disp */
        47: .line 154
            aload 14 /* newMode */
            astore 3 /* mode */
        48: .line 155
            aload 10 /* add */
            invokevirtual org.graalvm.compiler.nodes.calc.AddNode.getX:()Lorg/graalvm/compiler/nodes/ValueNode;
            astore 4 /* base */
        49: .line 156
            aload 2 /* ret */
            aload 4 /* base */
            invokevirtual org.graalvm.compiler.core.aarch64.AArch64AddressNode.setBase:(Lorg/graalvm/compiler/nodes/ValueNode;)V
        50: .line 157
            aload 4 /* base */
            instanceof org.graalvm.compiler.nodes.calc.AddNode
            istore 9 /* tryNextBase */
        end local 14 // org.graalvm.compiler.asm.aarch64.AArch64Address$AddressingMode newMode
        end local 12 // long newDisp
        end local 11 // org.graalvm.compiler.nodes.ValueNode child
        end local 10 // org.graalvm.compiler.nodes.calc.AddNode add
        51: .line 133
      StackMap locals:
      StackMap stack:
            iload 9 /* tryNextBase */
            ifne 28
        52: .line 162
            lload 7 /* disp */
            lconst_0
            lcmp
            ifeq 57
        53: .line 164
            aload 2 /* ret */
            aconst_null
            invokevirtual org.graalvm.compiler.core.aarch64.AArch64AddressNode.setIndex:(Lorg/graalvm/compiler/nodes/ValueNode;)V
        54: .line 165
            aload 1 /* kind */
            aload 3 /* mode */
            invokestatic org.graalvm.compiler.core.aarch64.AArch64AddressLoweringByUse.computeScaleFactor:(Ljdk/vm/ci/aarch64/AArch64Kind;Lorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;)I
            istore 10 /* scaleFactor */
        start local 10 // int scaleFactor
        55: .line 166
            aload 2 /* ret */
            lload 7 /* disp */
            iload 10 /* scaleFactor */
            aload 3 /* mode */
            invokevirtual org.graalvm.compiler.core.aarch64.AArch64AddressNode.setDisplacement:(JILorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;)V
        end local 10 // int scaleFactor
        56: .line 167
            goto 59
        57: .line 169
      StackMap locals:
      StackMap stack:
            aload 2 /* ret */
            aconst_null
            invokevirtual org.graalvm.compiler.core.aarch64.AArch64AddressNode.setIndex:(Lorg/graalvm/compiler/nodes/ValueNode;)V
        58: .line 170
            aload 2 /* ret */
            lconst_0
            iconst_1
            getstatic org.graalvm.compiler.asm.aarch64.AArch64Address$AddressingMode.BASE_REGISTER_ONLY:Lorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;
            invokevirtual org.graalvm.compiler.core.aarch64.AArch64AddressNode.setDisplacement:(JILorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;)V
        59: .line 172
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 9 // boolean tryNextBase
        end local 7 // long disp
        end local 6 // jdk.vm.ci.meta.JavaConstant javaConstant
        60: .line 179
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.core.aarch64.AArch64AddressLoweringByUse.supportsDerivedReference:Z
            ifeq 90
            aload 5 /* index */
            ifnull 90
            aload 5 /* index */
            instanceof org.graalvm.compiler.nodes.calc.AddNode
            ifeq 90
            aload 5 /* index */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.getStackKind:()Ljdk/vm/ci/meta/JavaKind;
            invokevirtual jdk.vm.ci.meta.JavaKind.isNumericInteger:()Z
            ifeq 90
        61: .line 180
            aload 5 /* index */
            checkcast org.graalvm.compiler.nodes.calc.AddNode
            invokevirtual org.graalvm.compiler.nodes.calc.AddNode.getX:()Lorg/graalvm/compiler/nodes/ValueNode;
            astore 6 /* x */
        start local 6 // org.graalvm.compiler.nodes.ValueNode x
        62: .line 181
            aload 5 /* index */
            checkcast org.graalvm.compiler.nodes.calc.AddNode
            invokevirtual org.graalvm.compiler.nodes.calc.AddNode.getY:()Lorg/graalvm/compiler/nodes/ValueNode;
            astore 7 /* y */
        start local 7 // org.graalvm.compiler.nodes.ValueNode y
        63: .line 182
            aconst_null
            astore 8 /* objHeadOffset */
        start local 8 // org.graalvm.compiler.nodes.ValueNode objHeadOffset
        64: .line 183
            aconst_null
            astore 9 /* scaledIndex */
        start local 9 // org.graalvm.compiler.nodes.ValueNode scaledIndex
        65: .line 184
            aload 6 /* x */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.isConstant:()Z
            ifeq 69
        66: .line 185
            aload 6 /* x */
            astore 8 /* objHeadOffset */
        67: .line 186
            aload 7 /* y */
            astore 9 /* scaledIndex */
        68: .line 187
            goto 72
      StackMap locals: org.graalvm.compiler.core.aarch64.AArch64AddressLoweringByUse jdk.vm.ci.aarch64.AArch64Kind org.graalvm.compiler.core.aarch64.AArch64AddressNode org.graalvm.compiler.asm.aarch64.AArch64Address$AddressingMode org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.ValueNode
      StackMap stack:
        69: aload 7 /* y */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.isConstant:()Z
            ifeq 72
        70: .line 188
            aload 7 /* y */
            astore 8 /* objHeadOffset */
        71: .line 189
            aload 6 /* x */
            astore 9 /* scaledIndex */
        72: .line 192
      StackMap locals:
      StackMap stack:
            aload 9 /* scaledIndex */
            ifnull 73
            aload 8 /* objHeadOffset */
            ifnonnull 74
        73: .line 193
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        74: .line 196
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 10 /* wordIndex */
        start local 10 // org.graalvm.compiler.nodes.calc.ZeroExtendNode wordIndex
        75: .line 197
            aload 9 /* scaledIndex */
            instanceof org.graalvm.compiler.nodes.calc.LeftShiftNode
            ifeq 83
        76: .line 198
            aload 9 /* scaledIndex */
            checkcast org.graalvm.compiler.nodes.calc.LeftShiftNode
            invokevirtual org.graalvm.compiler.nodes.calc.LeftShiftNode.getX:()Lorg/graalvm/compiler/nodes/ValueNode;
            astore 11 /* var */
        start local 11 // org.graalvm.compiler.nodes.ValueNode var
        77: .line 199
            aload 9 /* scaledIndex */
            checkcast org.graalvm.compiler.nodes.calc.LeftShiftNode
            invokevirtual org.graalvm.compiler.nodes.calc.LeftShiftNode.getY:()Lorg/graalvm/compiler/nodes/ValueNode;
            astore 12 /* amount */
        start local 12 // org.graalvm.compiler.nodes.ValueNode amount
        78: .line 200
            aload 12 /* amount */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.isConstant:()Z
            ifeq 85
            aload 11 /* var */
            instanceof org.graalvm.compiler.nodes.calc.ZeroExtendNode
            ifeq 85
        79: .line 201
            aload 12 /* amount */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.asJavaConstant:()Ljdk/vm/ci/meta/JavaConstant;
            invokeinterface jdk.vm.ci.meta.JavaConstant.asInt:()I
            istore 13 /* s */
        start local 13 // int s
        80: .line 202
            iload 13 /* s */
            iflt 85
            iload 13 /* s */
            iconst_4
            if_icmpgt 85
        81: .line 203
            aload 11 /* var */
            checkcast org.graalvm.compiler.nodes.calc.ZeroExtendNode
            astore 10 /* wordIndex */
        end local 13 // int s
        end local 12 // org.graalvm.compiler.nodes.ValueNode amount
        end local 11 // org.graalvm.compiler.nodes.ValueNode var
        82: .line 206
            goto 85
      StackMap locals: org.graalvm.compiler.nodes.calc.ZeroExtendNode
      StackMap stack:
        83: aload 9 /* scaledIndex */
            instanceof org.graalvm.compiler.nodes.calc.ZeroExtendNode
            ifeq 85
        84: .line 207
            aload 9 /* scaledIndex */
            checkcast org.graalvm.compiler.nodes.calc.ZeroExtendNode
            astore 10 /* wordIndex */
        85: .line 210
      StackMap locals:
      StackMap stack:
            aload 10 /* wordIndex */
            ifnull 90
        86: .line 211
            aload 4 /* base */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
            new org.graalvm.compiler.core.aarch64.AArch64PointerAddNode
            dup
            aload 4 /* base */
            aload 9 /* scaledIndex */
            invokespecial org.graalvm.compiler.core.aarch64.AArch64PointerAddNode.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)V
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.unique:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.core.aarch64.AArch64PointerAddNode
            astore 11 /* addP */
        start local 11 // org.graalvm.compiler.core.aarch64.AArch64PointerAddNode addP
        87: .line 212
            aload 2 /* ret */
            aload 11 /* addP */
            invokevirtual org.graalvm.compiler.core.aarch64.AArch64AddressNode.setBase:(Lorg/graalvm/compiler/nodes/ValueNode;)V
        88: .line 213
            aload 2 /* ret */
            aload 8 /* objHeadOffset */
            invokevirtual org.graalvm.compiler.core.aarch64.AArch64AddressNode.setIndex:(Lorg/graalvm/compiler/nodes/ValueNode;)V
        89: .line 214
            iconst_1
            ireturn
        end local 11 // org.graalvm.compiler.core.aarch64.AArch64PointerAddNode addP
        end local 10 // org.graalvm.compiler.nodes.calc.ZeroExtendNode wordIndex
        end local 9 // org.graalvm.compiler.nodes.ValueNode scaledIndex
        end local 8 // org.graalvm.compiler.nodes.ValueNode objHeadOffset
        end local 7 // org.graalvm.compiler.nodes.ValueNode y
        end local 6 // org.graalvm.compiler.nodes.ValueNode x
        90: .line 219
      StackMap locals: org.graalvm.compiler.core.aarch64.AArch64AddressLoweringByUse jdk.vm.ci.aarch64.AArch64Kind org.graalvm.compiler.core.aarch64.AArch64AddressNode org.graalvm.compiler.asm.aarch64.AArch64Address$AddressingMode org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.ValueNode
      StackMap stack:
            iconst_0
            ireturn
        end local 5 // org.graalvm.compiler.nodes.ValueNode index
        end local 4 // org.graalvm.compiler.nodes.ValueNode base
        end local 3 // org.graalvm.compiler.asm.aarch64.AArch64Address$AddressingMode mode
        end local 2 // org.graalvm.compiler.core.aarch64.AArch64AddressNode ret
        end local 1 // jdk.vm.ci.aarch64.AArch64Kind kind
        end local 0 // org.graalvm.compiler.core.aarch64.AArch64AddressLoweringByUse this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   91     0           this  Lorg/graalvm/compiler/core/aarch64/AArch64AddressLoweringByUse;
            0   91     1           kind  Ljdk/vm/ci/aarch64/AArch64Kind;
            0   91     2            ret  Lorg/graalvm/compiler/core/aarch64/AArch64AddressNode;
            1   91     3           mode  Lorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;
            4   91     4           base  Lorg/graalvm/compiler/nodes/ValueNode;
            5   91     5          index  Lorg/graalvm/compiler/nodes/ValueNode;
           16   19     6            add  Lorg/graalvm/compiler/nodes/calc/AddNode;
           21   60     6   javaConstant  Ljdk/vm/ci/meta/JavaConstant;
           23   60     7           disp  J
           27   60     9    tryNextBase  Z
           29   51    10            add  Lorg/graalvm/compiler/nodes/calc/AddNode;
           31   51    11          child  Lorg/graalvm/compiler/nodes/ValueNode;
           33   40    12        newDisp  J
           34   40    14        newMode  Lorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;
           44   51    12        newDisp  J
           45   51    14        newMode  Lorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;
           55   56    10    scaleFactor  I
           62   90     6              x  Lorg/graalvm/compiler/nodes/ValueNode;
           63   90     7              y  Lorg/graalvm/compiler/nodes/ValueNode;
           64   90     8  objHeadOffset  Lorg/graalvm/compiler/nodes/ValueNode;
           65   90     9    scaledIndex  Lorg/graalvm/compiler/nodes/ValueNode;
           75   90    10      wordIndex  Lorg/graalvm/compiler/nodes/calc/ZeroExtendNode;
           77   82    11            var  Lorg/graalvm/compiler/nodes/ValueNode;
           78   82    12         amount  Lorg/graalvm/compiler/nodes/ValueNode;
           80   82    13              s  I
           87   90    11           addP  Lorg/graalvm/compiler/core/aarch64/AArch64PointerAddNode;
    MethodParameters:
      Name  Flags
      kind  
      ret   

  private jdk.vm.ci.aarch64.AArch64Kind getAArch64Kind(org.graalvm.compiler.core.common.type.Stamp);
    descriptor: (Lorg/graalvm/compiler/core/common/type/Stamp;)Ljdk/vm/ci/aarch64/AArch64Kind;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.graalvm.compiler.core.aarch64.AArch64AddressLoweringByUse this
        start local 1 // org.graalvm.compiler.core.common.type.Stamp stamp
         0: .line 223
            aload 1 /* stamp */
            aload 0 /* this */
            getfield org.graalvm.compiler.core.aarch64.AArch64AddressLoweringByUse.kindtool:Lorg/graalvm/compiler/core/aarch64/AArch64LIRKindTool;
            invokevirtual org.graalvm.compiler.core.common.type.Stamp.getLIRKind:(Lorg/graalvm/compiler/core/common/spi/LIRKindTool;)Lorg/graalvm/compiler/core/common/LIRKind;
            astore 2 /* lirKind */
        start local 2 // org.graalvm.compiler.core.common.LIRKind lirKind
         1: .line 224
            aload 2 /* lirKind */
            invokevirtual org.graalvm.compiler.core.common.LIRKind.isValue:()Z
            ifne 4
         2: .line 225
            aload 2 /* lirKind */
            iconst_0
            invokevirtual org.graalvm.compiler.core.common.LIRKind.isReference:(I)Z
            ifeq 3
            aload 2 /* lirKind */
            invokevirtual org.graalvm.compiler.core.common.LIRKind.getReferenceCount:()I
            iconst_1
            if_icmpeq 4
         3: .line 226
      StackMap locals: org.graalvm.compiler.core.common.LIRKind
      StackMap stack:
            aconst_null
            areturn
         4: .line 230
      StackMap locals:
      StackMap stack:
            aload 2 /* lirKind */
            invokevirtual org.graalvm.compiler.core.common.LIRKind.getPlatformKind:()Ljdk/vm/ci/meta/PlatformKind;
            checkcast jdk.vm.ci.aarch64.AArch64Kind
            areturn
        end local 2 // org.graalvm.compiler.core.common.LIRKind lirKind
        end local 1 // org.graalvm.compiler.core.common.type.Stamp stamp
        end local 0 // org.graalvm.compiler.core.aarch64.AArch64AddressLoweringByUse this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     this  Lorg/graalvm/compiler/core/aarch64/AArch64AddressLoweringByUse;
            0    5     1    stamp  Lorg/graalvm/compiler/core/common/type/Stamp;
            1    5     2  lirKind  Lorg/graalvm/compiler/core/common/LIRKind;
    MethodParameters:
       Name  Flags
      stamp  

  private static org.graalvm.compiler.asm.aarch64.AArch64Address$AddressingMode immediateMode(jdk.vm.ci.aarch64.AArch64Kind, long);
    descriptor: (Ljdk/vm/ci/aarch64/AArch64Kind;J)Lorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=6, args_size=2
        start local 0 // jdk.vm.ci.aarch64.AArch64Kind kind
        start local 1 // long value
         0: .line 234
            aload 0 /* kind */
            ifnull 6
         1: .line 235
            aload 0 /* kind */
            invokevirtual jdk.vm.ci.aarch64.AArch64Kind.getSizeInBytes:()I
            istore 3 /* size */
        start local 3 // int size
         2: .line 237
            lload 1 /* value */
            iload 3 /* size */
            iconst_1
            isub
            i2l
            land
            lconst_0
            lcmp
            ifne 6
         3: .line 238
            lload 1 /* value */
            iload 3 /* size */
            i2l
            ldiv
            lstore 4 /* encodedValue */
        start local 4 // long encodedValue
         4: .line 241
            bipush 12
            lload 4 /* encodedValue */
            invokestatic org.graalvm.compiler.core.common.NumUtil.isUnsignedNbit:(IJ)Z
            ifeq 6
         5: .line 242
            getstatic org.graalvm.compiler.asm.aarch64.AArch64Address$AddressingMode.IMMEDIATE_UNSIGNED_SCALED:Lorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;
            areturn
        end local 4 // long encodedValue
        end local 3 // int size
         6: .line 248
      StackMap locals:
      StackMap stack:
            bipush 9
            lload 1 /* value */
            invokestatic org.graalvm.compiler.core.common.NumUtil.isSignedNbit:(IJ)Z
            ifeq 8
         7: .line 249
            getstatic org.graalvm.compiler.asm.aarch64.AArch64Address$AddressingMode.IMMEDIATE_SIGNED_UNSCALED:Lorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;
            areturn
         8: .line 253
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.asm.aarch64.AArch64Address$AddressingMode.REGISTER_OFFSET:Lorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;
            areturn
        end local 1 // long value
        end local 0 // jdk.vm.ci.aarch64.AArch64Kind kind
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    9     0          kind  Ljdk/vm/ci/aarch64/AArch64Kind;
            0    9     1         value  J
            2    6     3          size  I
            4    6     4  encodedValue  J
    MethodParameters:
       Name  Flags
      kind   
      value  

  private static int computeScaleFactor(jdk.vm.ci.aarch64.AArch64Kind, org.graalvm.compiler.asm.aarch64.AArch64Address$AddressingMode);
    descriptor: (Ljdk/vm/ci/aarch64/AArch64Kind;Lorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.vm.ci.aarch64.AArch64Kind kind
        start local 1 // org.graalvm.compiler.asm.aarch64.AArch64Address$AddressingMode mode
         0: .line 257
            aload 1 /* mode */
            getstatic org.graalvm.compiler.asm.aarch64.AArch64Address$AddressingMode.IMMEDIATE_UNSIGNED_SCALED:Lorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;
            if_acmpne 2
         1: .line 258
            aload 0 /* kind */
            invokevirtual jdk.vm.ci.aarch64.AArch64Kind.getSizeInBytes:()I
            ireturn
         2: .line 260
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 1 // org.graalvm.compiler.asm.aarch64.AArch64Address$AddressingMode mode
        end local 0 // jdk.vm.ci.aarch64.AArch64Kind kind
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  kind  Ljdk/vm/ci/aarch64/AArch64Kind;
            0    3     1  mode  Lorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;
    MethodParameters:
      Name  Flags
      kind  
      mode  

  private static boolean isBaseOnlyMode(org.graalvm.compiler.asm.aarch64.AArch64Address$AddressingMode);
    descriptor: (Lorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.asm.aarch64.AArch64Address$AddressingMode addressingMode
         0: .line 264
            aload 0 /* addressingMode */
            getstatic org.graalvm.compiler.asm.aarch64.AArch64Address$AddressingMode.BASE_REGISTER_ONLY:Lorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;
            if_acmpne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // org.graalvm.compiler.asm.aarch64.AArch64Address$AddressingMode addressingMode
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    2     0  addressingMode  Lorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;
    MethodParameters:
                Name  Flags
      addressingMode  

  private static boolean isDisplacementMode(org.graalvm.compiler.asm.aarch64.AArch64Address$AddressingMode);
    descriptor: (Lorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.asm.aarch64.AArch64Address$AddressingMode addressingMode
         0: .line 268
            invokestatic org.graalvm.compiler.core.aarch64.AArch64AddressLoweringByUse.$SWITCH_TABLE$org$graalvm$compiler$asm$aarch64$AArch64Address$AddressingMode:()[I
            aload 0 /* addressingMode */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64Address$AddressingMode.ordinal:()I
            iaload
            tableswitch { // 1 - 8
                    1: 1
                    2: 1
                    3: 2
                    4: 2
                    5: 2
                    6: 2
                    7: 1
                    8: 1
              default: 2
          }
         1: .line 273
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
         2: .line 275
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 0 // org.graalvm.compiler.asm.aarch64.AArch64Address$AddressingMode addressingMode
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    3     0  addressingMode  Lorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;
    MethodParameters:
                Name  Flags
      addressingMode  

  static int[] $SWITCH_TABLE$org$graalvm$compiler$asm$aarch64$AArch64Address$AddressingMode();
    descriptor: ()[I
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 44
            getstatic org.graalvm.compiler.core.aarch64.AArch64AddressLoweringByUse.$SWITCH_TABLE$org$graalvm$compiler$asm$aarch64$AArch64Address$AddressingMode:[I
            dup
            ifnull 1
            areturn
      StackMap locals:
      StackMap stack: int[]
         1: pop
            invokestatic org.graalvm.compiler.asm.aarch64.AArch64Address$AddressingMode.values:()[Lorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;
            arraylength
            newarray 10
            astore 0
         2: aload 0
            getstatic org.graalvm.compiler.asm.aarch64.AArch64Address$AddressingMode.BASE_REGISTER_ONLY:Lorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64Address$AddressingMode.ordinal:()I
            iconst_3
            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.asm.aarch64.AArch64Address$AddressingMode.EXTENDED_REGISTER_OFFSET:Lorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64Address$AddressingMode.ordinal:()I
            iconst_5
            iastore
         6: goto 8
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
         7: pop
      StackMap locals:
      StackMap stack:
         8: aload 0
            getstatic org.graalvm.compiler.asm.aarch64.AArch64Address$AddressingMode.IMMEDIATE_PAIR_POST_INDEXED:Lorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64Address$AddressingMode.ordinal:()I
            bipush 10
            iastore
         9: goto 11
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        10: pop
      StackMap locals:
      StackMap stack:
        11: aload 0
            getstatic org.graalvm.compiler.asm.aarch64.AArch64Address$AddressingMode.IMMEDIATE_PAIR_PRE_INDEXED:Lorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64Address$AddressingMode.ordinal:()I
            bipush 11
            iastore
        12: goto 14
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        13: pop
      StackMap locals:
      StackMap stack:
        14: aload 0
            getstatic org.graalvm.compiler.asm.aarch64.AArch64Address$AddressingMode.IMMEDIATE_PAIR_SIGNED_SCALED:Lorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64Address$AddressingMode.ordinal:()I
            bipush 9
            iastore
        15: goto 17
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        16: pop
      StackMap locals:
      StackMap stack:
        17: aload 0
            getstatic org.graalvm.compiler.asm.aarch64.AArch64Address$AddressingMode.IMMEDIATE_POST_INDEXED:Lorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64Address$AddressingMode.ordinal:()I
            bipush 7
            iastore
        18: goto 20
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        19: pop
      StackMap locals:
      StackMap stack:
        20: aload 0
            getstatic org.graalvm.compiler.asm.aarch64.AArch64Address$AddressingMode.IMMEDIATE_PRE_INDEXED:Lorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64Address$AddressingMode.ordinal:()I
            bipush 8
            iastore
        21: goto 23
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        22: pop
      StackMap locals:
      StackMap stack:
        23: aload 0
            getstatic org.graalvm.compiler.asm.aarch64.AArch64Address$AddressingMode.IMMEDIATE_SIGNED_UNSCALED:Lorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64Address$AddressingMode.ordinal:()I
            iconst_2
            iastore
        24: goto 26
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        25: pop
      StackMap locals:
      StackMap stack:
        26: aload 0
            getstatic org.graalvm.compiler.asm.aarch64.AArch64Address$AddressingMode.IMMEDIATE_UNSIGNED_SCALED:Lorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64Address$AddressingMode.ordinal:()I
            iconst_1
            iastore
        27: goto 29
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        28: pop
      StackMap locals:
      StackMap stack:
        29: aload 0
            getstatic org.graalvm.compiler.asm.aarch64.AArch64Address$AddressingMode.PC_LITERAL:Lorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64Address$AddressingMode.ordinal:()I
            bipush 6
            iastore
        30: goto 32
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        31: pop
      StackMap locals:
      StackMap stack:
        32: aload 0
            getstatic org.graalvm.compiler.asm.aarch64.AArch64Address$AddressingMode.REGISTER_OFFSET:Lorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64Address$AddressingMode.ordinal:()I
            iconst_4
            iastore
        33: goto 35
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        34: pop
      StackMap locals:
      StackMap stack:
        35: aload 0
            dup
            putstatic org.graalvm.compiler.core.aarch64.AArch64AddressLoweringByUse.$SWITCH_TABLE$org$graalvm$compiler$asm$aarch64$AArch64Address$AddressingMode:[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
          20    21      22  Class java.lang.NoSuchFieldError
          23    24      25  Class java.lang.NoSuchFieldError
          26    27      28  Class java.lang.NoSuchFieldError
          29    30      31  Class java.lang.NoSuchFieldError
          32    33      34  Class java.lang.NoSuchFieldError
}
SourceFile: "AArch64AddressLoweringByUse.java"
InnerClasses:
  public final AddressingMode = org.graalvm.compiler.asm.aarch64.AArch64Address$AddressingMode of org.graalvm.compiler.asm.aarch64.AArch64Address
  public abstract ValueNumberable = org.graalvm.compiler.graph.Node$ValueNumberable of org.graalvm.compiler.graph.Node
  public abstract AddressLoweringByUse = org.graalvm.compiler.phases.common.AddressLoweringByUsePhase$AddressLoweringByUse of org.graalvm.compiler.phases.common.AddressLoweringByUsePhase