public class org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler extends org.graalvm.compiler.asm.aarch64.AArch64Assembler
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler
  super_class: org.graalvm.compiler.asm.aarch64.AArch64Assembler
{
  private final org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$ScratchRegister[] scratchRegister;
    descriptor: [Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler$ScratchRegister;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private int nextFreeScratchRegister;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  static final boolean $assertionsDisabled;
    descriptor: Z
    flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC

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

  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

  private static volatile int[] $SWITCH_TABLE$org$graalvm$compiler$asm$aarch64$AArch64MacroAssembler$PatchLabelKind;
    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 49
            ldc Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
            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.asm.aarch64.AArch64MacroAssembler.$assertionsDisabled:Z
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(jdk.vm.ci.code.TargetDescription);
    descriptor: (Ljdk/vm/ci/code/TargetDescription;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
        start local 1 // jdk.vm.ci.code.TargetDescription target
         0: .line 57
            aload 0 /* this */
            aload 1 /* target */
            invokespecial org.graalvm.compiler.asm.aarch64.AArch64Assembler.<init>:(Ljdk/vm/ci/code/TargetDescription;)V
         1: .line 51
            aload 0 /* this */
            iconst_2
            anewarray org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$ScratchRegister
            dup
            iconst_0
            new org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$ScratchRegister
            dup
            aload 0 /* this */
            getstatic jdk.vm.ci.aarch64.AArch64.r8:Ljdk/vm/ci/code/Register;
            invokespecial org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$ScratchRegister.<init>:(Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;Ljdk/vm/ci/code/Register;)V
            aastore
            dup
            iconst_1
            new org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$ScratchRegister
            dup
            aload 0 /* this */
            getstatic jdk.vm.ci.aarch64.AArch64.r9:Ljdk/vm/ci/code/Register;
            invokespecial org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$ScratchRegister.<init>:(Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;Ljdk/vm/ci/code/Register;)V
            aastore
            putfield org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.scratchRegister:[Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler$ScratchRegister;
         2: .line 54
            aload 0 /* this */
            iconst_0
            putfield org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.nextFreeScratchRegister:I
         3: .line 58
            return
        end local 1 // jdk.vm.ci.code.TargetDescription target
        end local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
            0    4     1  target  Ljdk/vm/ci/code/TargetDescription;
    MethodParameters:
        Name  Flags
      target  

  public org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$ScratchRegister getScratchRegister();
    descriptor: ()Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler$ScratchRegister;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
         0: .line 79
            aload 0 /* this */
            getfield org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.scratchRegister:[Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler$ScratchRegister;
            aload 0 /* this */
            dup
            getfield org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.nextFreeScratchRegister:I
            dup_x1
            iconst_1
            iadd
            putfield org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.nextFreeScratchRegister:I
            aaload
            areturn
        end local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;

  public static org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$AddressGenerationPlan generateAddressPlan(long, boolean, int);
    descriptor: (JZI)Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler$AddressGenerationPlan;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=10, args_size=3
        start local 0 // long displacement
        start local 2 // boolean hasIndexRegister
        start local 3 // int transferSize
         0: .line 131
            getstatic org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.$assertionsDisabled:Z
            ifne 1
            iload 3 /* transferSize */
            ifeq 1
            iload 3 /* transferSize */
            iconst_1
            if_icmpeq 1
            iload 3 /* transferSize */
            iconst_2
            if_icmpeq 1
            iload 3 /* transferSize */
            iconst_4
            if_icmpeq 1
            iload 3 /* transferSize */
            bipush 8
            if_icmpeq 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 132
      StackMap locals:
      StackMap stack:
            iload 3 /* transferSize */
            ifeq 2
            iconst_1
            goto 3
      StackMap locals:
      StackMap stack:
         2: iconst_0
      StackMap locals:
      StackMap stack: int
         3: istore 4 /* indexScaled */
        start local 4 // boolean indexScaled
         4: .line 133
            iload 3 /* transferSize */
            invokestatic org.graalvm.compiler.asm.NumUtil.log2Ceil:(I)I
            istore 5 /* log2Scale */
        start local 5 // int log2Scale
         5: .line 134
            lload 0 /* displacement */
            iload 5 /* log2Scale */
            lshr
            lstore 6 /* scaledDisplacement */
        start local 6 // long scaledDisplacement
         6: .line 135
            iload 4 /* indexScaled */
            ifeq 7
            lload 0 /* displacement */
            iload 3 /* transferSize */
            iconst_1
            isub
            i2l
            land
            lconst_0
            lcmp
            ifne 7
            iconst_1
            goto 8
      StackMap locals: int int long
      StackMap stack:
         7: iconst_0
      StackMap locals:
      StackMap stack: int
         8: istore 8 /* displacementScalable */
        start local 8 // boolean displacementScalable
         9: .line 136
            lload 0 /* displacement */
            lconst_0
            lcmp
            ifne 11
        10: .line 138
            new org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$AddressGenerationPlan
            dup
            getstatic org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$AddressGenerationPlan$WorkPlan.NO_WORK:Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler$AddressGenerationPlan$WorkPlan;
            getstatic org.graalvm.compiler.asm.aarch64.AArch64Address$AddressingMode.REGISTER_OFFSET:Lorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;
            iconst_0
            invokespecial org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$AddressGenerationPlan.<init>:(Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler$AddressGenerationPlan$WorkPlan;Lorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;Z)V
            areturn
        11: .line 140
      StackMap locals: int
      StackMap stack:
            iload 2 /* hasIndexRegister */
            ifeq 21
        12: .line 141
            iload 8 /* displacementScalable */
            ifeq 17
        13: .line 142
            lload 6 /* scaledDisplacement */
            invokestatic org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.isArithmeticImmediate:(J)Z
            ifeq 14
            iconst_0
            goto 15
      StackMap locals:
      StackMap stack:
        14: iconst_1
      StackMap locals:
      StackMap stack: int
        15: istore 9 /* needsScratch */
        start local 9 // boolean needsScratch
        16: .line 143
            new org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$AddressGenerationPlan
            dup
            getstatic org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$AddressGenerationPlan$WorkPlan.ADD_TO_INDEX:Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler$AddressGenerationPlan$WorkPlan;
            getstatic org.graalvm.compiler.asm.aarch64.AArch64Address$AddressingMode.REGISTER_OFFSET:Lorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;
            iload 9 /* needsScratch */
            invokespecial org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$AddressGenerationPlan.<init>:(Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler$AddressGenerationPlan$WorkPlan;Lorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;Z)V
            areturn
        end local 9 // boolean needsScratch
        17: .line 145
      StackMap locals:
      StackMap stack:
            lload 0 /* displacement */
            invokestatic org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.isArithmeticImmediate:(J)Z
            ifeq 18
            iconst_0
            goto 19
      StackMap locals:
      StackMap stack:
        18: iconst_1
      StackMap locals:
      StackMap stack: int
        19: istore 9 /* needsScratch */
        start local 9 // boolean needsScratch
        20: .line 146
            new org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$AddressGenerationPlan
            dup
            getstatic org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$AddressGenerationPlan$WorkPlan.ADD_TO_BASE:Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler$AddressGenerationPlan$WorkPlan;
            getstatic org.graalvm.compiler.asm.aarch64.AArch64Address$AddressingMode.REGISTER_OFFSET:Lorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;
            iload 9 /* needsScratch */
            invokespecial org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$AddressGenerationPlan.<init>:(Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler$AddressGenerationPlan$WorkPlan;Lorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;Z)V
            areturn
        end local 9 // boolean needsScratch
        21: .line 149
      StackMap locals:
      StackMap stack:
            bipush 9
            lload 0 /* displacement */
            invokestatic org.graalvm.compiler.asm.NumUtil.isSignedNbit:(IJ)Z
            ifeq 23
        22: .line 150
            new org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$AddressGenerationPlan
            dup
            getstatic org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$AddressGenerationPlan$WorkPlan.NO_WORK:Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler$AddressGenerationPlan$WorkPlan;
            getstatic org.graalvm.compiler.asm.aarch64.AArch64Address$AddressingMode.IMMEDIATE_UNSCALED:Lorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;
            iconst_0
            invokespecial org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$AddressGenerationPlan.<init>:(Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler$AddressGenerationPlan$WorkPlan;Lorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;Z)V
            areturn
        23: .line 151
      StackMap locals:
      StackMap stack:
            iload 8 /* displacementScalable */
            ifeq 25
            bipush 12
            lload 6 /* scaledDisplacement */
            invokestatic org.graalvm.compiler.asm.NumUtil.isUnsignedNbit:(IJ)Z
            ifeq 25
        24: .line 152
            new org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$AddressGenerationPlan
            dup
            getstatic org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$AddressGenerationPlan$WorkPlan.NO_WORK:Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler$AddressGenerationPlan$WorkPlan;
            getstatic org.graalvm.compiler.asm.aarch64.AArch64Address$AddressingMode.IMMEDIATE_SCALED:Lorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;
            iconst_0
            invokespecial org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$AddressGenerationPlan.<init>:(Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler$AddressGenerationPlan$WorkPlan;Lorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;Z)V
            areturn
        25: .line 154
      StackMap locals:
      StackMap stack:
            lload 0 /* displacement */
            invokestatic org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.isArithmeticImmediate:(J)Z
            ifeq 26
            iconst_0
            goto 27
      StackMap locals:
      StackMap stack:
        26: iconst_1
      StackMap locals:
      StackMap stack: int
        27: istore 9 /* needsScratch */
        start local 9 // boolean needsScratch
        28: .line 155
            new org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$AddressGenerationPlan
            dup
            getstatic org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$AddressGenerationPlan$WorkPlan.ADD_TO_BASE:Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler$AddressGenerationPlan$WorkPlan;
            getstatic org.graalvm.compiler.asm.aarch64.AArch64Address$AddressingMode.REGISTER_OFFSET:Lorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;
            iload 9 /* needsScratch */
            invokespecial org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$AddressGenerationPlan.<init>:(Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler$AddressGenerationPlan$WorkPlan;Lorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;Z)V
            areturn
        end local 9 // boolean needsScratch
        end local 8 // boolean displacementScalable
        end local 6 // long scaledDisplacement
        end local 5 // int log2Scale
        end local 4 // boolean indexScaled
        end local 3 // int transferSize
        end local 2 // boolean hasIndexRegister
        end local 0 // long displacement
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   29     0          displacement  J
            0   29     2      hasIndexRegister  Z
            0   29     3          transferSize  I
            4   29     4           indexScaled  Z
            5   29     5             log2Scale  I
            6   29     6    scaledDisplacement  J
            9   29     8  displacementScalable  Z
           16   17     9          needsScratch  Z
           20   21     9          needsScratch  Z
           28   29     9          needsScratch  Z
    MethodParameters:
                  Name  Flags
      displacement      
      hasIndexRegister  
      transferSize      

  public org.graalvm.compiler.asm.aarch64.AArch64Address makeAddress(jdk.vm.ci.code.Register, long, jdk.vm.ci.code.Register, boolean, int, jdk.vm.ci.code.Register, boolean);
    descriptor: (Ljdk/vm/ci/code/Register;JLjdk/vm/ci/code/Register;ZILjdk/vm/ci/code/Register;Z)Lorg/graalvm/compiler/asm/aarch64/AArch64Address;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=18, args_size=8
        start local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
        start local 1 // jdk.vm.ci.code.Register base
        start local 2 // long displacement
        start local 4 // jdk.vm.ci.code.Register index
        start local 5 // boolean signExtendIndex
        start local 6 // int transferSize
        start local 7 // jdk.vm.ci.code.Register additionalReg
        start local 8 // boolean allowOverwrite
         0: .line 181
            lload 2 /* displacement */
            aload 4 /* index */
            getstatic jdk.vm.ci.aarch64.AArch64.zr:Ljdk/vm/ci/code/Register;
            invokevirtual jdk.vm.ci.code.Register.equals:(Ljava/lang/Object;)Z
            ifeq 1
            iconst_0
            goto 2
      StackMap locals:
      StackMap stack: long
         1: iconst_1
      StackMap locals: org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler jdk.vm.ci.code.Register long jdk.vm.ci.code.Register int int jdk.vm.ci.code.Register int
      StackMap stack: long int
         2: iload 6 /* transferSize */
            invokestatic org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.generateAddressPlan:(JZI)Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler$AddressGenerationPlan;
            astore 9 /* plan */
        start local 9 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$AddressGenerationPlan plan
         3: .line 182
            getstatic org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.$assertionsDisabled:Z
            ifne 4
            iload 8 /* allowOverwrite */
            ifne 4
            getstatic jdk.vm.ci.aarch64.AArch64.zr:Ljdk/vm/ci/code/Register;
            aload 7 /* additionalReg */
            invokevirtual jdk.vm.ci.code.Register.equals:(Ljava/lang/Object;)Z
            ifeq 4
            aload 9 /* plan */
            getfield org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$AddressGenerationPlan.workPlan:Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler$AddressGenerationPlan$WorkPlan;
            getstatic org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$AddressGenerationPlan$WorkPlan.NO_WORK:Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler$AddressGenerationPlan$WorkPlan;
            if_acmpeq 4
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         4: .line 183
      StackMap locals: org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$AddressGenerationPlan
      StackMap stack:
            getstatic org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.$assertionsDisabled:Z
            ifne 5
            aload 9 /* plan */
            getfield org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$AddressGenerationPlan.needsScratch:Z
            ifeq 5
            getstatic jdk.vm.ci.aarch64.AArch64.zr:Ljdk/vm/ci/code/Register;
            aload 7 /* additionalReg */
            invokevirtual jdk.vm.ci.code.Register.equals:(Ljava/lang/Object;)Z
            ifeq 5
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         5: .line 184
      StackMap locals:
      StackMap stack:
            iload 6 /* transferSize */
            invokestatic org.graalvm.compiler.asm.NumUtil.log2Ceil:(I)I
            istore 10 /* log2Scale */
        start local 10 // int log2Scale
         6: .line 185
            lload 2 /* displacement */
            iload 10 /* log2Scale */
            lshr
            lstore 11 /* scaledDisplacement */
        start local 11 // long scaledDisplacement
         7: .line 186
            aload 4 /* index */
            astore 13 /* newIndex */
        start local 13 // jdk.vm.ci.code.Register newIndex
         8: .line 187
            aload 1 /* base */
            astore 14 /* newBase */
        start local 14 // jdk.vm.ci.code.Register newBase
         9: .line 189
            invokestatic org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.$SWITCH_TABLE$org$graalvm$compiler$asm$aarch64$AArch64MacroAssembler$AddressGenerationPlan$WorkPlan:()[I
            aload 9 /* plan */
            getfield org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$AddressGenerationPlan.workPlan:Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler$AddressGenerationPlan$WorkPlan;
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$AddressGenerationPlan$WorkPlan.ordinal:()I
            iaload
            tableswitch { // 1 - 3
                    1: 10
                    2: 15
                    3: 29
              default: 39
          }
        10: .line 191
      StackMap locals: org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler jdk.vm.ci.code.Register long jdk.vm.ci.code.Register int int jdk.vm.ci.code.Register int org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$AddressGenerationPlan int long jdk.vm.ci.code.Register jdk.vm.ci.code.Register
      StackMap stack:
            aload 9 /* plan */
            getfield org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$AddressGenerationPlan.addressingMode:Lorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;
            getstatic org.graalvm.compiler.asm.aarch64.AArch64Address$AddressingMode.IMMEDIATE_SCALED:Lorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;
            if_acmpne 13
        11: .line 192
            lload 11 /* scaledDisplacement */
            l2i
            istore 15 /* immediate */
        start local 15 // int immediate
        12: .line 193
            goto 40
        end local 15 // int immediate
        13: .line 194
      StackMap locals:
      StackMap stack:
            lload 2 /* displacement */
            l2i
            istore 15 /* immediate */
        start local 15 // int immediate
        14: .line 196
            goto 40
        end local 15 // int immediate
        15: .line 198
      StackMap locals:
      StackMap stack:
            iload 8 /* allowOverwrite */
            ifeq 16
            aload 4 /* index */
            goto 17
      StackMap locals:
      StackMap stack:
        16: aload 7 /* additionalReg */
      StackMap locals:
      StackMap stack: jdk.vm.ci.code.Register
        17: astore 13 /* newIndex */
        18: .line 199
            aload 9 /* plan */
            getfield org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$AddressGenerationPlan.needsScratch:Z
            ifeq 24
        19: .line 200
            aload 0 /* this */
            aload 7 /* additionalReg */
            lload 11 /* scaledDisplacement */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.mov:(Ljdk/vm/ci/code/Register;J)V
        20: .line 201
            aload 0 /* this */
            iload 5 /* signExtendIndex */
            ifeq 21
            bipush 32
            goto 22
      StackMap locals:
      StackMap stack: org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler
        21: bipush 64
      StackMap locals: org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler jdk.vm.ci.code.Register long jdk.vm.ci.code.Register int int jdk.vm.ci.code.Register int org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$AddressGenerationPlan int long jdk.vm.ci.code.Register jdk.vm.ci.code.Register
      StackMap stack: org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler int
        22: aload 13 /* newIndex */
            aload 4 /* index */
            aload 7 /* additionalReg */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.add:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
        23: .line 202
            goto 27
        24: .line 203
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 5 /* signExtendIndex */
            ifeq 25
            bipush 32
            goto 26
      StackMap locals:
      StackMap stack: org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler
        25: bipush 64
      StackMap locals: org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler jdk.vm.ci.code.Register long jdk.vm.ci.code.Register int int jdk.vm.ci.code.Register int org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$AddressGenerationPlan int long jdk.vm.ci.code.Register jdk.vm.ci.code.Register
      StackMap stack: org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler int
        26: aload 13 /* newIndex */
            aload 4 /* index */
            lload 11 /* scaledDisplacement */
            l2i
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.add:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;I)V
        27: .line 205
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 15 /* immediate */
        start local 15 // int immediate
        28: .line 206
            goto 40
        end local 15 // int immediate
        29: .line 208
      StackMap locals:
      StackMap stack:
            iload 8 /* allowOverwrite */
            ifeq 30
            aload 1 /* base */
            goto 31
      StackMap locals:
      StackMap stack:
        30: aload 7 /* additionalReg */
      StackMap locals:
      StackMap stack: jdk.vm.ci.code.Register
        31: astore 14 /* newBase */
        32: .line 209
            aload 9 /* plan */
            getfield org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$AddressGenerationPlan.needsScratch:Z
            ifeq 36
        33: .line 210
            aload 0 /* this */
            aload 7 /* additionalReg */
            lload 2 /* displacement */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.mov:(Ljdk/vm/ci/code/Register;J)V
        34: .line 211
            aload 0 /* this */
            bipush 64
            aload 14 /* newBase */
            aload 1 /* base */
            aload 7 /* additionalReg */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.add:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
        35: .line 212
            goto 37
        36: .line 213
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            bipush 64
            aload 14 /* newBase */
            aload 1 /* base */
            lload 2 /* displacement */
            l2i
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.add:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;I)V
        37: .line 215
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 15 /* immediate */
        start local 15 // int immediate
        38: .line 216
            goto 40
        end local 15 // int immediate
        39: .line 218
      StackMap locals:
      StackMap stack:
            invokestatic org.graalvm.compiler.debug.GraalError.shouldNotReachHere:()Ljava/lang/RuntimeException;
            athrow
        start local 15 // int immediate
        40: .line 220
      StackMap locals: int
      StackMap stack:
            aload 9 /* plan */
            getfield org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$AddressGenerationPlan.addressingMode:Lorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;
            astore 16 /* addressingMode */
        start local 16 // org.graalvm.compiler.asm.aarch64.AArch64Address$AddressingMode addressingMode
        41: .line 221
            aconst_null
            astore 17 /* extendType */
        start local 17 // org.graalvm.compiler.asm.aarch64.AArch64Assembler$ExtendType extendType
        42: .line 222
            aload 16 /* addressingMode */
            getstatic org.graalvm.compiler.asm.aarch64.AArch64Address$AddressingMode.REGISTER_OFFSET:Lorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;
            if_acmpne 49
        43: .line 223
            aload 13 /* newIndex */
            getstatic jdk.vm.ci.aarch64.AArch64.zr:Ljdk/vm/ci/code/Register;
            invokevirtual jdk.vm.ci.code.Register.equals:(Ljava/lang/Object;)Z
            ifeq 46
        44: .line 224
            getstatic org.graalvm.compiler.asm.aarch64.AArch64Address$AddressingMode.BASE_REGISTER_ONLY:Lorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;
            astore 16 /* addressingMode */
        45: .line 225
            goto 49
      StackMap locals: org.graalvm.compiler.asm.aarch64.AArch64Address$AddressingMode org.graalvm.compiler.asm.aarch64.AArch64Assembler$ExtendType
      StackMap stack:
        46: iload 5 /* signExtendIndex */
            ifeq 49
        47: .line 226
            getstatic org.graalvm.compiler.asm.aarch64.AArch64Address$AddressingMode.EXTENDED_REGISTER_OFFSET:Lorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;
            astore 16 /* addressingMode */
        48: .line 227
            getstatic org.graalvm.compiler.asm.aarch64.AArch64Assembler$ExtendType.SXTW:Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ExtendType;
            astore 17 /* extendType */
        49: .line 230
      StackMap locals:
      StackMap stack:
            aload 16 /* addressingMode */
            aload 14 /* newBase */
            aload 13 /* newIndex */
            iload 15 /* immediate */
            iload 6 /* transferSize */
            ifeq 50
            iconst_1
            goto 51
      StackMap locals: org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler jdk.vm.ci.code.Register long jdk.vm.ci.code.Register int int jdk.vm.ci.code.Register int org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$AddressGenerationPlan int long jdk.vm.ci.code.Register jdk.vm.ci.code.Register int org.graalvm.compiler.asm.aarch64.AArch64Address$AddressingMode org.graalvm.compiler.asm.aarch64.AArch64Assembler$ExtendType
      StackMap stack: org.graalvm.compiler.asm.aarch64.AArch64Address$AddressingMode jdk.vm.ci.code.Register jdk.vm.ci.code.Register int
        50: iconst_0
      StackMap locals: org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler jdk.vm.ci.code.Register long jdk.vm.ci.code.Register int int jdk.vm.ci.code.Register int org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$AddressGenerationPlan int long jdk.vm.ci.code.Register jdk.vm.ci.code.Register int org.graalvm.compiler.asm.aarch64.AArch64Address$AddressingMode org.graalvm.compiler.asm.aarch64.AArch64Assembler$ExtendType
      StackMap stack: org.graalvm.compiler.asm.aarch64.AArch64Address$AddressingMode jdk.vm.ci.code.Register jdk.vm.ci.code.Register int int
        51: aload 17 /* extendType */
            invokestatic org.graalvm.compiler.asm.aarch64.AArch64Address.createAddress:(Lorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;IZLorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ExtendType;)Lorg/graalvm/compiler/asm/aarch64/AArch64Address;
            areturn
        end local 17 // org.graalvm.compiler.asm.aarch64.AArch64Assembler$ExtendType extendType
        end local 16 // org.graalvm.compiler.asm.aarch64.AArch64Address$AddressingMode addressingMode
        end local 15 // int immediate
        end local 14 // jdk.vm.ci.code.Register newBase
        end local 13 // jdk.vm.ci.code.Register newIndex
        end local 11 // long scaledDisplacement
        end local 10 // int log2Scale
        end local 9 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$AddressGenerationPlan plan
        end local 8 // boolean allowOverwrite
        end local 7 // jdk.vm.ci.code.Register additionalReg
        end local 6 // int transferSize
        end local 5 // boolean signExtendIndex
        end local 4 // jdk.vm.ci.code.Register index
        end local 2 // long displacement
        end local 1 // jdk.vm.ci.code.Register base
        end local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   52     0                this  Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
            0   52     1                base  Ljdk/vm/ci/code/Register;
            0   52     2        displacement  J
            0   52     4               index  Ljdk/vm/ci/code/Register;
            0   52     5     signExtendIndex  Z
            0   52     6        transferSize  I
            0   52     7       additionalReg  Ljdk/vm/ci/code/Register;
            0   52     8      allowOverwrite  Z
            3   52     9                plan  Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler$AddressGenerationPlan;
            6   52    10           log2Scale  I
            7   52    11  scaledDisplacement  J
            8   52    13            newIndex  Ljdk/vm/ci/code/Register;
            9   52    14             newBase  Ljdk/vm/ci/code/Register;
           12   13    15           immediate  I
           14   15    15           immediate  I
           28   29    15           immediate  I
           38   39    15           immediate  I
           40   52    15           immediate  I
           41   52    16      addressingMode  Lorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;
           42   52    17          extendType  Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ExtendType;
    MethodParameters:
                 Name  Flags
      base             
      displacement     
      index            
      signExtendIndex  
      transferSize     
      additionalReg    
      allowOverwrite   

  public org.graalvm.compiler.asm.aarch64.AArch64Address makeAddress(jdk.vm.ci.code.Register, long, jdk.vm.ci.code.Register, int, boolean);
    descriptor: (Ljdk/vm/ci/code/Register;JLjdk/vm/ci/code/Register;IZ)Lorg/graalvm/compiler/asm/aarch64/AArch64Address;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=7, args_size=6
        start local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
        start local 1 // jdk.vm.ci.code.Register base
        start local 2 // long displacement
        start local 4 // jdk.vm.ci.code.Register additionalReg
        start local 5 // int transferSize
        start local 6 // boolean allowOverwrite
         0: .line 248
            getstatic org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.$assertionsDisabled:Z
            ifne 1
            aload 4 /* additionalReg */
            invokevirtual jdk.vm.ci.code.Register.getRegisterCategory:()Ljdk/vm/ci/code/Register$RegisterCategory;
            getstatic jdk.vm.ci.aarch64.AArch64.CPU:Ljdk/vm/ci/code/Register$RegisterCategory;
            invokevirtual jdk.vm.ci.code.Register$RegisterCategory.equals:(Ljava/lang/Object;)Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 249
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* base */
            lload 2 /* displacement */
            getstatic jdk.vm.ci.aarch64.AArch64.zr:Ljdk/vm/ci/code/Register;
            iconst_0
            iload 5 /* transferSize */
            aload 4 /* additionalReg */
            iload 6 /* allowOverwrite */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.makeAddress:(Ljdk/vm/ci/code/Register;JLjdk/vm/ci/code/Register;ZILjdk/vm/ci/code/Register;Z)Lorg/graalvm/compiler/asm/aarch64/AArch64Address;
            areturn
        end local 6 // boolean allowOverwrite
        end local 5 // int transferSize
        end local 4 // jdk.vm.ci.code.Register additionalReg
        end local 2 // long displacement
        end local 1 // jdk.vm.ci.code.Register base
        end local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    2     0            this  Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
            0    2     1            base  Ljdk/vm/ci/code/Register;
            0    2     2    displacement  J
            0    2     4   additionalReg  Ljdk/vm/ci/code/Register;
            0    2     5    transferSize  I
            0    2     6  allowOverwrite  Z
    MethodParameters:
                Name  Flags
      base            
      displacement    
      additionalReg   
      transferSize    
      allowOverwrite  

  public org.graalvm.compiler.asm.aarch64.AArch64Address makeAddress(jdk.vm.ci.code.Register, long, int);
    descriptor: (Ljdk/vm/ci/code/Register;JI)Lorg/graalvm/compiler/asm/aarch64/AArch64Address;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=5, args_size=4
        start local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
        start local 1 // jdk.vm.ci.code.Register base
        start local 2 // long displacement
        start local 4 // int transferSize
         0: .line 263
            aload 0 /* this */
            aload 1 /* base */
            lload 2 /* displacement */
            getstatic jdk.vm.ci.aarch64.AArch64.zr:Ljdk/vm/ci/code/Register;
            iconst_0
            iload 4 /* transferSize */
            getstatic jdk.vm.ci.aarch64.AArch64.zr:Ljdk/vm/ci/code/Register;
            iconst_0
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.makeAddress:(Ljdk/vm/ci/code/Register;JLjdk/vm/ci/code/Register;ZILjdk/vm/ci/code/Register;Z)Lorg/graalvm/compiler/asm/aarch64/AArch64Address;
            areturn
        end local 4 // int transferSize
        end local 2 // long displacement
        end local 1 // jdk.vm.ci.code.Register base
        end local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0          this  Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
            0    1     1          base  Ljdk/vm/ci/code/Register;
            0    1     2  displacement  J
            0    1     4  transferSize  I
    MethodParameters:
              Name  Flags
      base          
      displacement  
      transferSize  

  public void loadAddress(jdk.vm.ci.code.Register, org.graalvm.compiler.asm.aarch64.AArch64Address, int);
    descriptor: (Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/aarch64/AArch64Address;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=10, args_size=4
        start local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
        start local 1 // jdk.vm.ci.code.Register dst
        start local 2 // org.graalvm.compiler.asm.aarch64.AArch64Address address
        start local 3 // int transferSize
         0: .line 279
            getstatic org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.$assertionsDisabled:Z
            ifne 1
            iload 3 /* transferSize */
            iconst_1
            if_icmpeq 1
            iload 3 /* transferSize */
            iconst_2
            if_icmpeq 1
            iload 3 /* transferSize */
            iconst_4
            if_icmpeq 1
            iload 3 /* transferSize */
            bipush 8
            if_icmpeq 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 280
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.$assertionsDisabled:Z
            ifne 2
            aload 1 /* dst */
            invokevirtual jdk.vm.ci.code.Register.getRegisterCategory:()Ljdk/vm/ci/code/Register$RegisterCategory;
            getstatic jdk.vm.ci.aarch64.AArch64.CPU:Ljdk/vm/ci/code/Register$RegisterCategory;
            invokevirtual jdk.vm.ci.code.Register$RegisterCategory.equals:(Ljava/lang/Object;)Z
            ifne 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 281
      StackMap locals:
      StackMap stack:
            iload 3 /* transferSize */
            invokestatic org.graalvm.compiler.asm.NumUtil.log2Ceil:(I)I
            istore 4 /* shiftAmt */
        start local 4 // int shiftAmt
         3: .line 282
            invokestatic org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.$SWITCH_TABLE$org$graalvm$compiler$asm$aarch64$AArch64Address$AddressingMode:()[I
            aload 2 /* address */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64Address.getAddressingMode:()Lorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64Address$AddressingMode.ordinal:()I
            iaload
            tableswitch { // 1 - 6
                    1: 4
                    2: 17
                    3: 30
                    4: 20
                    5: 24
                    6: 28
              default: 32
          }
         4: .line 284
      StackMap locals: int
      StackMap stack:
            aload 2 /* address */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64Address.getImmediateRaw:()I
            iload 4 /* shiftAmt */
            ishl
            istore 5 /* scaledImmediate */
        start local 5 // int scaledImmediate
         5: .line 285
            iload 5 /* scaledImmediate */
            bipush 12
            invokestatic org.graalvm.compiler.asm.NumUtil.getNbitNumberInt:(I)I
            iand
            istore 6 /* lowerBits */
        start local 6 // int lowerBits
         6: .line 286
            iload 5 /* scaledImmediate */
            bipush 12
            invokestatic org.graalvm.compiler.asm.NumUtil.getNbitNumberInt:(I)I
            iconst_m1
            ixor
            iand
            istore 7 /* higherBits */
        start local 7 // int higherBits
         7: .line 287
            iconst_1
            istore 8 /* firstAdd */
        start local 8 // boolean firstAdd
         8: .line 288
            iload 6 /* lowerBits */
            ifeq 11
         9: .line 289
            aload 0 /* this */
            bipush 64
            aload 1 /* dst */
            aload 2 /* address */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64Address.getBase:()Ljdk/vm/ci/code/Register;
            iload 6 /* lowerBits */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.add:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;I)V
        10: .line 290
            iconst_0
            istore 8 /* firstAdd */
        11: .line 292
      StackMap locals: org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler jdk.vm.ci.code.Register org.graalvm.compiler.asm.aarch64.AArch64Address int int int int int int
      StackMap stack:
            iload 7 /* higherBits */
            ifeq 33
        12: .line 293
            iload 8 /* firstAdd */
            ifeq 13
            aload 2 /* address */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64Address.getBase:()Ljdk/vm/ci/code/Register;
            goto 14
      StackMap locals:
      StackMap stack:
        13: aload 1 /* dst */
      StackMap locals:
      StackMap stack: jdk.vm.ci.code.Register
        14: astore 9 /* src */
        start local 9 // jdk.vm.ci.code.Register src
        15: .line 294
            aload 0 /* this */
            bipush 64
            aload 1 /* dst */
            aload 9 /* src */
            iload 7 /* higherBits */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.add:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;I)V
        end local 9 // jdk.vm.ci.code.Register src
        16: .line 296
            goto 33
        end local 8 // boolean firstAdd
        end local 7 // int higherBits
        end local 6 // int lowerBits
        end local 5 // int scaledImmediate
        17: .line 298
      StackMap locals: org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler jdk.vm.ci.code.Register org.graalvm.compiler.asm.aarch64.AArch64Address int int
      StackMap stack:
            aload 2 /* address */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64Address.getImmediateRaw:()I
            istore 9 /* immediate */
        start local 9 // int immediate
        18: .line 299
            aload 0 /* this */
            bipush 64
            aload 1 /* dst */
            aload 2 /* address */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64Address.getBase:()Ljdk/vm/ci/code/Register;
            iload 9 /* immediate */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.add:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;I)V
        19: .line 300
            goto 33
        end local 9 // int immediate
        20: .line 302
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            bipush 64
            aload 1 /* dst */
            aload 2 /* address */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64Address.getBase:()Ljdk/vm/ci/code/Register;
            aload 2 /* address */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64Address.getOffset:()Ljdk/vm/ci/code/Register;
            getstatic org.graalvm.compiler.asm.aarch64.AArch64Assembler$ShiftType.LSL:Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ShiftType;
            aload 2 /* address */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64Address.isScaled:()Z
            ifeq 21
            iload 4 /* shiftAmt */
            goto 22
      StackMap locals: org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler jdk.vm.ci.code.Register org.graalvm.compiler.asm.aarch64.AArch64Address int int
      StackMap stack: org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler int jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register org.graalvm.compiler.asm.aarch64.AArch64Assembler$ShiftType
        21: iconst_0
      StackMap locals: org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler jdk.vm.ci.code.Register org.graalvm.compiler.asm.aarch64.AArch64Address int int
      StackMap stack: org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler int jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register org.graalvm.compiler.asm.aarch64.AArch64Assembler$ShiftType int
        22: invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.add:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ShiftType;I)V
        23: .line 303
            goto 33
        24: .line 305
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            bipush 64
            aload 1 /* dst */
            aload 2 /* address */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64Address.getBase:()Ljdk/vm/ci/code/Register;
            aload 2 /* address */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64Address.getOffset:()Ljdk/vm/ci/code/Register;
            aload 2 /* address */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64Address.getExtendType:()Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ExtendType;
            aload 2 /* address */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64Address.isScaled:()Z
            ifeq 25
            iload 4 /* shiftAmt */
            goto 26
      StackMap locals: org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler jdk.vm.ci.code.Register org.graalvm.compiler.asm.aarch64.AArch64Address int int
      StackMap stack: org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler int jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register org.graalvm.compiler.asm.aarch64.AArch64Assembler$ExtendType
        25: iconst_0
      StackMap locals: org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler jdk.vm.ci.code.Register org.graalvm.compiler.asm.aarch64.AArch64Address int int
      StackMap stack: org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler int jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register org.graalvm.compiler.asm.aarch64.AArch64Assembler$ExtendType int
        26: invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.add:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ExtendType;I)V
        27: .line 306
            goto 33
        28: .line 308
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* dst */
            aload 2 /* address */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64Address.getImmediateRaw:()I
            invokespecial org.graalvm.compiler.asm.aarch64.AArch64Assembler.adr:(Ljdk/vm/ci/code/Register;I)V
        29: .line 309
            goto 33
        30: .line 311
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* dst */
            aload 2 /* address */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64Address.getBase:()Ljdk/vm/ci/code/Register;
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.movx:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
        31: .line 312
            goto 33
        32: .line 314
      StackMap locals:
      StackMap stack:
            invokestatic org.graalvm.compiler.debug.GraalError.shouldNotReachHere:()Ljava/lang/RuntimeException;
            athrow
        33: .line 316
      StackMap locals:
      StackMap stack:
            return
        end local 4 // int shiftAmt
        end local 3 // int transferSize
        end local 2 // org.graalvm.compiler.asm.aarch64.AArch64Address address
        end local 1 // jdk.vm.ci.code.Register dst
        end local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   34     0             this  Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
            0   34     1              dst  Ljdk/vm/ci/code/Register;
            0   34     2          address  Lorg/graalvm/compiler/asm/aarch64/AArch64Address;
            0   34     3     transferSize  I
            3   34     4         shiftAmt  I
            5   17     5  scaledImmediate  I
            6   17     6        lowerBits  I
            7   17     7       higherBits  I
            8   17     8         firstAdd  Z
           15   16     9              src  Ljdk/vm/ci/code/Register;
           18   20     9        immediate  I
    MethodParameters:
              Name  Flags
      dst           
      address       
      transferSize  

  public void movx(jdk.vm.ci.code.Register, jdk.vm.ci.code.Register);
    descriptor: (Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
        start local 1 // jdk.vm.ci.code.Register dst
        start local 2 // jdk.vm.ci.code.Register src
         0: .line 319
            aload 0 /* this */
            bipush 64
            aload 1 /* dst */
            aload 2 /* src */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.mov:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
         1: .line 320
            return
        end local 2 // jdk.vm.ci.code.Register src
        end local 1 // jdk.vm.ci.code.Register dst
        end local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
            0    2     1   dst  Ljdk/vm/ci/code/Register;
            0    2     2   src  Ljdk/vm/ci/code/Register;
    MethodParameters:
      Name  Flags
      dst   
      src   

  public void mov(int, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register);
    descriptor: (ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
        start local 1 // int size
        start local 2 // jdk.vm.ci.code.Register dst
        start local 3 // jdk.vm.ci.code.Register src
         0: .line 323
            aload 2 /* dst */
            getstatic jdk.vm.ci.aarch64.AArch64.sp:Ljdk/vm/ci/code/Register;
            invokevirtual jdk.vm.ci.code.Register.equals:(Ljava/lang/Object;)Z
            ifne 1
            aload 3 /* src */
            getstatic jdk.vm.ci.aarch64.AArch64.sp:Ljdk/vm/ci/code/Register;
            invokevirtual jdk.vm.ci.code.Register.equals:(Ljava/lang/Object;)Z
            ifeq 3
         1: .line 324
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* size */
            aload 2 /* dst */
            aload 3 /* src */
            iconst_0
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.add:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;I)V
         2: .line 325
            goto 4
         3: .line 326
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* size */
            aload 2 /* dst */
            getstatic jdk.vm.ci.aarch64.AArch64.zr:Ljdk/vm/ci/code/Register;
            aload 3 /* src */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.or:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
         4: .line 328
      StackMap locals:
      StackMap stack:
            return
        end local 3 // jdk.vm.ci.code.Register src
        end local 2 // jdk.vm.ci.code.Register dst
        end local 1 // int size
        end local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
            0    5     1  size  I
            0    5     2   dst  Ljdk/vm/ci/code/Register;
            0    5     3   src  Ljdk/vm/ci/code/Register;
    MethodParameters:
      Name  Flags
      size  
      dst   
      src   

  private void mov64(jdk.vm.ci.code.Register, long);
    descriptor: (Ljdk/vm/ci/code/Register;J)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=7, args_size=3
        start local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
        start local 1 // jdk.vm.ci.code.Register dst
        start local 2 // long imm
         0: .line 338
            iconst_1
            istore 4 /* firstMove */
        start local 4 // boolean firstMove
         1: .line 339
            iconst_0
            istore 5 /* offset */
        start local 5 // int offset
         2: goto 12
         3: .line 340
      StackMap locals: int int
      StackMap stack:
            lload 2 /* imm */
            iload 5 /* offset */
            lshr
            l2i
            bipush 16
            invokestatic org.graalvm.compiler.asm.NumUtil.getNbitNumberInt:(I)I
            iand
            istore 6 /* chunk */
        start local 6 // int chunk
         4: .line 341
            iload 6 /* chunk */
            ifne 6
         5: .line 342
            goto 11
         6: .line 344
      StackMap locals: int
      StackMap stack:
            iload 4 /* firstMove */
            ifeq 10
         7: .line 345
            aload 0 /* this */
            bipush 64
            aload 1 /* dst */
            iload 6 /* chunk */
            iload 5 /* offset */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.movz:(ILjdk/vm/ci/code/Register;II)V
         8: .line 346
            iconst_0
            istore 4 /* firstMove */
         9: .line 347
            goto 11
        10: .line 348
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            bipush 64
            aload 1 /* dst */
            iload 6 /* chunk */
            iload 5 /* offset */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.movk:(ILjdk/vm/ci/code/Register;II)V
        end local 6 // int chunk
        11: .line 339
      StackMap locals:
      StackMap stack:
            iinc 5 /* offset */ 16
      StackMap locals:
      StackMap stack:
        12: iload 5 /* offset */
            bipush 64
            if_icmplt 3
        end local 5 // int offset
        13: .line 351
            getstatic org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.$assertionsDisabled:Z
            ifne 14
            iload 4 /* firstMove */
            ifeq 14
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        14: .line 352
      StackMap locals:
      StackMap stack:
            return
        end local 4 // boolean firstMove
        end local 2 // long imm
        end local 1 // jdk.vm.ci.code.Register dst
        end local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   15     0       this  Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
            0   15     1        dst  Ljdk/vm/ci/code/Register;
            0   15     2        imm  J
            1   15     4  firstMove  Z
            2   13     5     offset  I
            4   11     6      chunk  I
    MethodParameters:
      Name  Flags
      dst   
      imm   

  public void mov(jdk.vm.ci.code.Register, long);
    descriptor: (Ljdk/vm/ci/code/Register;J)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=4, args_size=3
        start local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
        start local 1 // jdk.vm.ci.code.Register dst
        start local 2 // long imm
         0: .line 361
            getstatic org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.$assertionsDisabled:Z
            ifne 1
            aload 1 /* dst */
            invokevirtual jdk.vm.ci.code.Register.getRegisterCategory:()Ljdk/vm/ci/code/Register$RegisterCategory;
            getstatic jdk.vm.ci.aarch64.AArch64.CPU:Ljdk/vm/ci/code/Register$RegisterCategory;
            invokevirtual jdk.vm.ci.code.Register$RegisterCategory.equals:(Ljava/lang/Object;)Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 362
      StackMap locals:
      StackMap stack:
            lload 2 /* imm */
            lconst_0
            lcmp
            ifne 4
         2: .line 363
            aload 0 /* this */
            aload 1 /* dst */
            getstatic jdk.vm.ci.aarch64.AArch64.zr:Ljdk/vm/ci/code/Register;
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.movx:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
         3: .line 364
            goto 12
      StackMap locals:
      StackMap stack:
         4: iconst_1
            lload 2 /* imm */
            invokestatic org.graalvm.compiler.asm.aarch64.AArch64Assembler$LogicalImmediateTable.isRepresentable:(ZJ)Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$LogicalImmediateTable$Representable;
            getstatic org.graalvm.compiler.asm.aarch64.AArch64Assembler$LogicalImmediateTable$Representable.NO:Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$LogicalImmediateTable$Representable;
            if_acmpeq 7
         5: .line 365
            aload 0 /* this */
            bipush 64
            aload 1 /* dst */
            getstatic jdk.vm.ci.aarch64.AArch64.zr:Ljdk/vm/ci/code/Register;
            lload 2 /* imm */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.or:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;J)V
         6: .line 366
            goto 12
      StackMap locals:
      StackMap stack:
         7: lload 2 /* imm */
            bipush 32
            lshr
            ldc -1
            lcmp
            ifne 11
            lload 2 /* imm */
            l2i
            ifge 11
            lload 2 /* imm */
            l2i
            invokestatic org.graalvm.compiler.asm.aarch64.AArch64Assembler$LogicalImmediateTable.isRepresentable:(I)Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$LogicalImmediateTable$Representable;
            getstatic org.graalvm.compiler.asm.aarch64.AArch64Assembler$LogicalImmediateTable$Representable.NO:Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$LogicalImmediateTable$Representable;
            if_acmpeq 11
         8: .line 371
            aload 0 /* this */
            aload 1 /* dst */
            lload 2 /* imm */
            l2i
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.mov:(Ljdk/vm/ci/code/Register;I)V
         9: .line 372
            aload 0 /* this */
            bipush 64
            bipush 32
            aload 1 /* dst */
            aload 1 /* dst */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.sxt:(IILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
        10: .line 373
            goto 12
        11: .line 374
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* dst */
            lload 2 /* imm */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.mov64:(Ljdk/vm/ci/code/Register;J)V
        12: .line 376
      StackMap locals:
      StackMap stack:
            return
        end local 2 // long imm
        end local 1 // jdk.vm.ci.code.Register dst
        end local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   13     0  this  Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
            0   13     1   dst  Ljdk/vm/ci/code/Register;
            0   13     2   imm  J
    MethodParameters:
      Name  Flags
      dst   
      imm   

  public void mov(jdk.vm.ci.code.Register, int);
    descriptor: (Ljdk/vm/ci/code/Register;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=3, args_size=3
        start local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
        start local 1 // jdk.vm.ci.code.Register dst
        start local 2 // int imm
         0: .line 385
            aload 0 /* this */
            aload 1 /* dst */
            iload 2 /* imm */
            i2l
            ldc 4294967295
            land
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.mov:(Ljdk/vm/ci/code/Register;J)V
         1: .line 386
            return
        end local 2 // int imm
        end local 1 // jdk.vm.ci.code.Register dst
        end local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
            0    2     1   dst  Ljdk/vm/ci/code/Register;
            0    2     2   imm  I
    MethodParameters:
      Name  Flags
      dst   
      imm   

  public void movNativeAddress(jdk.vm.ci.code.Register, long);
    descriptor: (Ljdk/vm/ci/code/Register;J)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=7, args_size=3
        start local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
        start local 1 // jdk.vm.ci.code.Register dst
        start local 2 // long imm
         0: .line 399
            getstatic org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.$assertionsDisabled:Z
            ifne 1
            lload 2 /* imm */
            ldc -281474976710656
            land
            lconst_0
            lcmp
            ifeq 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 401
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 4 /* firstMove */
        start local 4 // boolean firstMove
         2: .line 402
            iconst_0
            istore 5 /* offset */
        start local 5 // int offset
         3: goto 11
         4: .line 403
      StackMap locals: int int
      StackMap stack:
            lload 2 /* imm */
            iload 5 /* offset */
            lshr
            l2i
            bipush 16
            invokestatic org.graalvm.compiler.asm.NumUtil.getNbitNumberInt:(I)I
            iand
            istore 6 /* chunk */
        start local 6 // int chunk
         5: .line 404
            iload 4 /* firstMove */
            ifeq 9
         6: .line 405
            aload 0 /* this */
            bipush 64
            aload 1 /* dst */
            iload 6 /* chunk */
            iload 5 /* offset */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.movz:(ILjdk/vm/ci/code/Register;II)V
         7: .line 406
            iconst_0
            istore 4 /* firstMove */
         8: .line 407
            goto 10
         9: .line 408
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            bipush 64
            aload 1 /* dst */
            iload 6 /* chunk */
            iload 5 /* offset */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.movk:(ILjdk/vm/ci/code/Register;II)V
        end local 6 // int chunk
        10: .line 402
      StackMap locals:
      StackMap stack:
            iinc 5 /* offset */ 16
      StackMap locals:
      StackMap stack:
        11: iload 5 /* offset */
            bipush 48
            if_icmplt 4
        end local 5 // int offset
        12: .line 411
            getstatic org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.$assertionsDisabled:Z
            ifne 13
            iload 4 /* firstMove */
            ifeq 13
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        13: .line 412
      StackMap locals:
      StackMap stack:
            return
        end local 4 // boolean firstMove
        end local 2 // long imm
        end local 1 // jdk.vm.ci.code.Register dst
        end local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   14     0       this  Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
            0   14     1        dst  Ljdk/vm/ci/code/Register;
            0   14     2        imm  J
            2   14     4  firstMove  Z
            3   12     5     offset  I
            5   10     6      chunk  I
    MethodParameters:
      Name  Flags
      dst   
      imm   

  public static int nrInstructionsToMoveImmediate(long);
    descriptor: (J)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=5, args_size=1
        start local 0 // long imm
         0: .line 418
            lload 0 /* imm */
            lconst_0
            lcmp
            ifeq 1
            iconst_1
            lload 0 /* imm */
            invokestatic org.graalvm.compiler.asm.aarch64.AArch64Assembler$LogicalImmediateTable.isRepresentable:(ZJ)Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$LogicalImmediateTable$Representable;
            getstatic org.graalvm.compiler.asm.aarch64.AArch64Assembler$LogicalImmediateTable$Representable.NO:Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$LogicalImmediateTable$Representable;
            if_acmpeq 2
         1: .line 419
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
         2: .line 421
      StackMap locals:
      StackMap stack:
            lload 0 /* imm */
            bipush 32
            lshr
            ldc -1
            lcmp
            ifne 4
            lload 0 /* imm */
            l2i
            ifge 4
            lload 0 /* imm */
            l2i
            invokestatic org.graalvm.compiler.asm.aarch64.AArch64Assembler$LogicalImmediateTable.isRepresentable:(I)Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$LogicalImmediateTable$Representable;
            getstatic org.graalvm.compiler.asm.aarch64.AArch64Assembler$LogicalImmediateTable$Representable.NO:Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$LogicalImmediateTable$Representable;
            if_acmpeq 4
         3: .line 426
            iconst_2
            ireturn
         4: .line 428
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 2 /* nrInstructions */
        start local 2 // int nrInstructions
         5: .line 429
            iconst_0
            istore 3 /* offset */
        start local 3 // int offset
         6: goto 11
         7: .line 430
      StackMap locals: int int
      StackMap stack:
            lload 0 /* imm */
            iload 3 /* offset */
            lshr
            l2i
            bipush 16
            invokestatic org.graalvm.compiler.asm.NumUtil.getNbitNumberInt:(I)I
            iand
            istore 4 /* part */
        start local 4 // int part
         8: .line 431
            iload 4 /* part */
            ifeq 10
         9: .line 432
            iinc 2 /* nrInstructions */ 1
        end local 4 // int part
        10: .line 429
      StackMap locals:
      StackMap stack:
            iinc 3 /* offset */ 16
      StackMap locals:
      StackMap stack:
        11: iload 3 /* offset */
            bipush 64
            if_icmplt 7
        end local 3 // int offset
        12: .line 435
            iload 2 /* nrInstructions */
            ireturn
        end local 2 // int nrInstructions
        end local 0 // long imm
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   13     0             imm  J
            5   13     2  nrInstructions  I
            6   12     3          offset  I
            8   10     4            part  I
    MethodParameters:
      Name  Flags
      imm   

  public void ldrs(int, int, jdk.vm.ci.code.Register, org.graalvm.compiler.asm.aarch64.AArch64Address);
    descriptor: (IILjdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/aarch64/AArch64Address;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=5
        start local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
        start local 1 // int targetSize
        start local 2 // int srcSize
        start local 3 // jdk.vm.ci.code.Register rt
        start local 4 // org.graalvm.compiler.asm.aarch64.AArch64Address address
         0: .line 449
            getstatic org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.$assertionsDisabled:Z
            ifne 1
            iload 1 /* targetSize */
            bipush 32
            if_icmpeq 1
            iload 1 /* targetSize */
            bipush 64
            if_icmpeq 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 450
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.$assertionsDisabled:Z
            ifne 2
            iload 2 /* srcSize */
            iload 1 /* targetSize */
            if_icmple 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 451
      StackMap locals:
      StackMap stack:
            iload 1 /* targetSize */
            iload 2 /* srcSize */
            if_icmpne 5
         3: .line 452
            aload 0 /* this */
            iload 2 /* srcSize */
            aload 3 /* rt */
            aload 4 /* address */
            invokespecial org.graalvm.compiler.asm.aarch64.AArch64Assembler.ldr:(ILjdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/aarch64/AArch64Address;)V
         4: .line 453
            goto 6
         5: .line 454
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* targetSize */
            iload 2 /* srcSize */
            aload 3 /* rt */
            aload 4 /* address */
            invokespecial org.graalvm.compiler.asm.aarch64.AArch64Assembler.ldrs:(IILjdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/aarch64/AArch64Address;)V
         6: .line 456
      StackMap locals:
      StackMap stack:
            return
        end local 4 // org.graalvm.compiler.asm.aarch64.AArch64Address address
        end local 3 // jdk.vm.ci.code.Register rt
        end local 2 // int srcSize
        end local 1 // int targetSize
        end local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    7     0        this  Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
            0    7     1  targetSize  I
            0    7     2     srcSize  I
            0    7     3          rt  Ljdk/vm/ci/code/Register;
            0    7     4     address  Lorg/graalvm/compiler/asm/aarch64/AArch64Address;
    MethodParameters:
            Name  Flags
      targetSize  
      srcSize     
      rt          
      address     

  public void cmov(int, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register, org.graalvm.compiler.asm.aarch64.AArch64Assembler$ConditionFlag);
    descriptor: (ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ConditionFlag;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=6, args_size=6
        start local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
        start local 1 // int size
        start local 2 // jdk.vm.ci.code.Register result
        start local 3 // jdk.vm.ci.code.Register trueValue
        start local 4 // jdk.vm.ci.code.Register falseValue
        start local 5 // org.graalvm.compiler.asm.aarch64.AArch64Assembler$ConditionFlag cond
         0: .line 468
            aload 0 /* this */
            iload 1 /* size */
            aload 2 /* result */
            aload 3 /* trueValue */
            aload 4 /* falseValue */
            aload 5 /* cond */
            invokespecial org.graalvm.compiler.asm.aarch64.AArch64Assembler.csel:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ConditionFlag;)V
         1: .line 469
            return
        end local 5 // org.graalvm.compiler.asm.aarch64.AArch64Assembler$ConditionFlag cond
        end local 4 // jdk.vm.ci.code.Register falseValue
        end local 3 // jdk.vm.ci.code.Register trueValue
        end local 2 // jdk.vm.ci.code.Register result
        end local 1 // int size
        end local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
            0    2     1        size  I
            0    2     2      result  Ljdk/vm/ci/code/Register;
            0    2     3   trueValue  Ljdk/vm/ci/code/Register;
            0    2     4  falseValue  Ljdk/vm/ci/code/Register;
            0    2     5        cond  Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ConditionFlag;
    MethodParameters:
            Name  Flags
      size        
      result      
      trueValue   
      falseValue  
      cond        

  public void cset(jdk.vm.ci.code.Register, org.graalvm.compiler.asm.aarch64.AArch64Assembler$ConditionFlag);
    descriptor: (Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ConditionFlag;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=3, args_size=3
        start local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
        start local 1 // jdk.vm.ci.code.Register dst
        start local 2 // org.graalvm.compiler.asm.aarch64.AArch64Assembler$ConditionFlag condition
         0: .line 478
            aload 0 /* this */
            bipush 32
            aload 1 /* dst */
            getstatic jdk.vm.ci.aarch64.AArch64.zr:Ljdk/vm/ci/code/Register;
            getstatic jdk.vm.ci.aarch64.AArch64.zr:Ljdk/vm/ci/code/Register;
            aload 2 /* condition */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64Assembler$ConditionFlag.negate:()Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ConditionFlag;
            invokespecial org.graalvm.compiler.asm.aarch64.AArch64Assembler.csinc:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ConditionFlag;)V
         1: .line 479
            return
        end local 2 // org.graalvm.compiler.asm.aarch64.AArch64Assembler$ConditionFlag condition
        end local 1 // jdk.vm.ci.code.Register dst
        end local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
            0    2     1        dst  Ljdk/vm/ci/code/Register;
            0    2     2  condition  Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ConditionFlag;
    MethodParameters:
           Name  Flags
      dst        
      condition  

  public void add(int, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register);
    descriptor: (ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=5, args_size=5
        start local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
        start local 1 // int size
        start local 2 // jdk.vm.ci.code.Register dst
        start local 3 // jdk.vm.ci.code.Register src1
        start local 4 // jdk.vm.ci.code.Register src2
         0: .line 490
            aload 0 /* this */
            iload 1 /* size */
            aload 2 /* dst */
            aload 3 /* src1 */
            aload 4 /* src2 */
            getstatic org.graalvm.compiler.asm.aarch64.AArch64Assembler$ShiftType.LSL:Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ShiftType;
            iconst_0
            invokespecial org.graalvm.compiler.asm.aarch64.AArch64Assembler.add:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ShiftType;I)V
         1: .line 491
            return
        end local 4 // jdk.vm.ci.code.Register src2
        end local 3 // jdk.vm.ci.code.Register src1
        end local 2 // jdk.vm.ci.code.Register dst
        end local 1 // int size
        end local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
            0    2     1  size  I
            0    2     2   dst  Ljdk/vm/ci/code/Register;
            0    2     3  src1  Ljdk/vm/ci/code/Register;
            0    2     4  src2  Ljdk/vm/ci/code/Register;
    MethodParameters:
      Name  Flags
      size  
      dst   
      src1  
      src2  

  public void adds(int, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register);
    descriptor: (ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=5, args_size=5
        start local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
        start local 1 // int size
        start local 2 // jdk.vm.ci.code.Register dst
        start local 3 // jdk.vm.ci.code.Register src1
        start local 4 // jdk.vm.ci.code.Register src2
         0: .line 502
            aload 0 /* this */
            iload 1 /* size */
            aload 2 /* dst */
            aload 3 /* src1 */
            aload 4 /* src2 */
            iload 1 /* size */
            invokestatic org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.getNopExtendType:(I)Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ExtendType;
            iconst_0
            invokespecial org.graalvm.compiler.asm.aarch64.AArch64Assembler.adds:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ExtendType;I)V
         1: .line 503
            return
        end local 4 // jdk.vm.ci.code.Register src2
        end local 3 // jdk.vm.ci.code.Register src1
        end local 2 // jdk.vm.ci.code.Register dst
        end local 1 // int size
        end local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
            0    2     1  size  I
            0    2     2   dst  Ljdk/vm/ci/code/Register;
            0    2     3  src1  Ljdk/vm/ci/code/Register;
            0    2     4  src2  Ljdk/vm/ci/code/Register;
    MethodParameters:
      Name  Flags
      size  
      dst   
      src1  
      src2  

  public void subs(int, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register);
    descriptor: (ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=5, args_size=5
        start local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
        start local 1 // int size
        start local 2 // jdk.vm.ci.code.Register dst
        start local 3 // jdk.vm.ci.code.Register src1
        start local 4 // jdk.vm.ci.code.Register src2
         0: .line 514
            aload 0 /* this */
            iload 1 /* size */
            aload 2 /* dst */
            aload 3 /* src1 */
            aload 4 /* src2 */
            iload 1 /* size */
            invokestatic org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.getNopExtendType:(I)Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ExtendType;
            iconst_0
            invokespecial org.graalvm.compiler.asm.aarch64.AArch64Assembler.subs:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ExtendType;I)V
         1: .line 515
            return
        end local 4 // jdk.vm.ci.code.Register src2
        end local 3 // jdk.vm.ci.code.Register src1
        end local 2 // jdk.vm.ci.code.Register dst
        end local 1 // int size
        end local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
            0    2     1  size  I
            0    2     2   dst  Ljdk/vm/ci/code/Register;
            0    2     3  src1  Ljdk/vm/ci/code/Register;
            0    2     4  src2  Ljdk/vm/ci/code/Register;
    MethodParameters:
      Name  Flags
      size  
      dst   
      src1  
      src2  

  private static org.graalvm.compiler.asm.aarch64.AArch64Assembler$ExtendType getNopExtendType(int);
    descriptor: (I)Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ExtendType;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // int size
         0: .line 525
            iload 0 /* size */
            bipush 64
            if_icmpne 2
         1: .line 526
            getstatic org.graalvm.compiler.asm.aarch64.AArch64Assembler$ExtendType.UXTX:Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ExtendType;
            areturn
         2: .line 527
      StackMap locals:
      StackMap stack:
            iload 0 /* size */
            bipush 32
            if_icmpne 4
         3: .line 528
            getstatic org.graalvm.compiler.asm.aarch64.AArch64Assembler$ExtendType.UXTW:Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ExtendType;
            areturn
         4: .line 530
      StackMap locals:
      StackMap stack:
            ldc "No-op "
            invokestatic org.graalvm.compiler.debug.GraalError.shouldNotReachHere:(Ljava/lang/String;)Ljava/lang/RuntimeException;
            athrow
        end local 0 // int size
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  size  I
    MethodParameters:
      Name  Flags
      size  

  public void sub(int, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register);
    descriptor: (ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=5, args_size=5
        start local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
        start local 1 // int size
        start local 2 // jdk.vm.ci.code.Register dst
        start local 3 // jdk.vm.ci.code.Register src1
        start local 4 // jdk.vm.ci.code.Register src2
         0: .line 543
            aload 0 /* this */
            iload 1 /* size */
            aload 2 /* dst */
            aload 3 /* src1 */
            aload 4 /* src2 */
            getstatic org.graalvm.compiler.asm.aarch64.AArch64Assembler$ShiftType.LSL:Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ShiftType;
            iconst_0
            invokespecial org.graalvm.compiler.asm.aarch64.AArch64Assembler.sub:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ShiftType;I)V
         1: .line 544
            return
        end local 4 // jdk.vm.ci.code.Register src2
        end local 3 // jdk.vm.ci.code.Register src1
        end local 2 // jdk.vm.ci.code.Register dst
        end local 1 // int size
        end local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
            0    2     1  size  I
            0    2     2   dst  Ljdk/vm/ci/code/Register;
            0    2     3  src1  Ljdk/vm/ci/code/Register;
            0    2     4  src2  Ljdk/vm/ci/code/Register;
    MethodParameters:
      Name  Flags
      size  
      dst   
      src1  
      src2  

  public void add(int, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register, org.graalvm.compiler.asm.aarch64.AArch64Assembler$ShiftType, int);
    descriptor: (ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ShiftType;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=8, args_size=7
        start local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
        start local 1 // int size
        start local 2 // jdk.vm.ci.code.Register dst
        start local 3 // jdk.vm.ci.code.Register src1
        start local 4 // jdk.vm.ci.code.Register src2
        start local 5 // org.graalvm.compiler.asm.aarch64.AArch64Assembler$ShiftType shiftType
        start local 6 // int shiftAmt
         0: .line 558
            iload 1 /* size */
            iload 6 /* shiftAmt */
            i2l
            invokestatic org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.clampShiftAmt:(IJ)I
            istore 7 /* shift */
        start local 7 // int shift
         1: .line 559
            aload 0 /* this */
            iload 1 /* size */
            aload 2 /* dst */
            aload 3 /* src1 */
            aload 4 /* src2 */
            aload 5 /* shiftType */
            iload 7 /* shift */
            invokespecial org.graalvm.compiler.asm.aarch64.AArch64Assembler.add:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ShiftType;I)V
         2: .line 560
            return
        end local 7 // int shift
        end local 6 // int shiftAmt
        end local 5 // org.graalvm.compiler.asm.aarch64.AArch64Assembler$ShiftType shiftType
        end local 4 // jdk.vm.ci.code.Register src2
        end local 3 // jdk.vm.ci.code.Register src1
        end local 2 // jdk.vm.ci.code.Register dst
        end local 1 // int size
        end local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       this  Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
            0    3     1       size  I
            0    3     2        dst  Ljdk/vm/ci/code/Register;
            0    3     3       src1  Ljdk/vm/ci/code/Register;
            0    3     4       src2  Ljdk/vm/ci/code/Register;
            0    3     5  shiftType  Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ShiftType;
            0    3     6   shiftAmt  I
            1    3     7      shift  I
    MethodParameters:
           Name  Flags
      size       
      dst        
      src1       
      src2       
      shiftType  
      shiftAmt   

  public void sub(int, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register, org.graalvm.compiler.asm.aarch64.AArch64Assembler$ShiftType, int);
    descriptor: (ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ShiftType;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=8, args_size=7
        start local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
        start local 1 // int size
        start local 2 // jdk.vm.ci.code.Register dst
        start local 3 // jdk.vm.ci.code.Register src1
        start local 4 // jdk.vm.ci.code.Register src2
        start local 5 // org.graalvm.compiler.asm.aarch64.AArch64Assembler$ShiftType shiftType
        start local 6 // int shiftAmt
         0: .line 574
            iload 1 /* size */
            iload 6 /* shiftAmt */
            i2l
            invokestatic org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.clampShiftAmt:(IJ)I
            istore 7 /* shift */
        start local 7 // int shift
         1: .line 575
            aload 0 /* this */
            iload 1 /* size */
            aload 2 /* dst */
            aload 3 /* src1 */
            aload 4 /* src2 */
            aload 5 /* shiftType */
            iload 7 /* shift */
            invokespecial org.graalvm.compiler.asm.aarch64.AArch64Assembler.sub:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ShiftType;I)V
         2: .line 576
            return
        end local 7 // int shift
        end local 6 // int shiftAmt
        end local 5 // org.graalvm.compiler.asm.aarch64.AArch64Assembler$ShiftType shiftType
        end local 4 // jdk.vm.ci.code.Register src2
        end local 3 // jdk.vm.ci.code.Register src1
        end local 2 // jdk.vm.ci.code.Register dst
        end local 1 // int size
        end local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       this  Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
            0    3     1       size  I
            0    3     2        dst  Ljdk/vm/ci/code/Register;
            0    3     3       src1  Ljdk/vm/ci/code/Register;
            0    3     4       src2  Ljdk/vm/ci/code/Register;
            0    3     5  shiftType  Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ShiftType;
            0    3     6   shiftAmt  I
            1    3     7      shift  I
    MethodParameters:
           Name  Flags
      size       
      dst        
      src1       
      src2       
      shiftType  
      shiftAmt   

  public void neg(int, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register);
    descriptor: (ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
        start local 1 // int size
        start local 2 // jdk.vm.ci.code.Register dst
        start local 3 // jdk.vm.ci.code.Register src
         0: .line 586
            aload 0 /* this */
            iload 1 /* size */
            aload 2 /* dst */
            getstatic jdk.vm.ci.aarch64.AArch64.zr:Ljdk/vm/ci/code/Register;
            aload 3 /* src */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.sub:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
         1: .line 587
            return
        end local 3 // jdk.vm.ci.code.Register src
        end local 2 // jdk.vm.ci.code.Register dst
        end local 1 // int size
        end local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
            0    2     1  size  I
            0    2     2   dst  Ljdk/vm/ci/code/Register;
            0    2     3   src  Ljdk/vm/ci/code/Register;
    MethodParameters:
      Name  Flags
      size  
      dst   
      src   

  public void add(int, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register, int);
    descriptor: (ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=5
        start local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
        start local 1 // int size
        start local 2 // jdk.vm.ci.code.Register dst
        start local 3 // jdk.vm.ci.code.Register src
        start local 4 // int immediate
         0: .line 599
            iload 4 /* immediate */
            ifge 3
         1: .line 600
            aload 0 /* this */
            iload 1 /* size */
            aload 2 /* dst */
            aload 3 /* src */
            iload 4 /* immediate */
            ineg
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.sub:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;I)V
         2: .line 601
            goto 5
      StackMap locals:
      StackMap stack:
         3: aload 2 /* dst */
            aload 3 /* src */
            invokevirtual jdk.vm.ci.code.Register.equals:(Ljava/lang/Object;)Z
            ifeq 4
            iload 4 /* immediate */
            ifeq 5
         4: .line 602
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* size */
            aload 2 /* dst */
            aload 3 /* src */
            iload 4 /* immediate */
            invokespecial org.graalvm.compiler.asm.aarch64.AArch64Assembler.add:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;I)V
         5: .line 604
      StackMap locals:
      StackMap stack:
            return
        end local 4 // int immediate
        end local 3 // jdk.vm.ci.code.Register src
        end local 2 // jdk.vm.ci.code.Register dst
        end local 1 // int size
        end local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    6     0       this  Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
            0    6     1       size  I
            0    6     2        dst  Ljdk/vm/ci/code/Register;
            0    6     3        src  Ljdk/vm/ci/code/Register;
            0    6     4  immediate  I
    MethodParameters:
           Name  Flags
      size       
      dst        
      src        
      immediate  

  public void adds(int, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register, int);
    descriptor: (ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=5
        start local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
        start local 1 // int size
        start local 2 // jdk.vm.ci.code.Register dst
        start local 3 // jdk.vm.ci.code.Register src
        start local 4 // int immediate
         0: .line 616
            iload 4 /* immediate */
            ifge 3
         1: .line 617
            aload 0 /* this */
            iload 1 /* size */
            aload 2 /* dst */
            aload 3 /* src */
            iload 4 /* immediate */
            ineg
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.subs:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;I)V
         2: .line 618
            goto 5
      StackMap locals:
      StackMap stack:
         3: aload 2 /* dst */
            aload 3 /* src */
            invokevirtual jdk.vm.ci.code.Register.equals:(Ljava/lang/Object;)Z
            ifeq 4
            iload 4 /* immediate */
            ifeq 5
         4: .line 619
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* size */
            aload 2 /* dst */
            aload 3 /* src */
            iload 4 /* immediate */
            invokespecial org.graalvm.compiler.asm.aarch64.AArch64Assembler.adds:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;I)V
         5: .line 621
      StackMap locals:
      StackMap stack:
            return
        end local 4 // int immediate
        end local 3 // jdk.vm.ci.code.Register src
        end local 2 // jdk.vm.ci.code.Register dst
        end local 1 // int size
        end local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    6     0       this  Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
            0    6     1       size  I
            0    6     2        dst  Ljdk/vm/ci/code/Register;
            0    6     3        src  Ljdk/vm/ci/code/Register;
            0    6     4  immediate  I
    MethodParameters:
           Name  Flags
      size       
      dst        
      src        
      immediate  

  public void sub(int, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register, int);
    descriptor: (ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=5
        start local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
        start local 1 // int size
        start local 2 // jdk.vm.ci.code.Register dst
        start local 3 // jdk.vm.ci.code.Register src
        start local 4 // int immediate
         0: .line 633
            iload 4 /* immediate */
            ifge 3
         1: .line 634
            aload 0 /* this */
            iload 1 /* size */
            aload 2 /* dst */
            aload 3 /* src */
            iload 4 /* immediate */
            ineg
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.add:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;I)V
         2: .line 635
            goto 5
      StackMap locals:
      StackMap stack:
         3: aload 2 /* dst */
            aload 3 /* src */
            invokevirtual jdk.vm.ci.code.Register.equals:(Ljava/lang/Object;)Z
            ifeq 4
            iload 4 /* immediate */
            ifeq 5
         4: .line 636
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* size */
            aload 2 /* dst */
            aload 3 /* src */
            iload 4 /* immediate */
            invokespecial org.graalvm.compiler.asm.aarch64.AArch64Assembler.sub:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;I)V
         5: .line 638
      StackMap locals:
      StackMap stack:
            return
        end local 4 // int immediate
        end local 3 // jdk.vm.ci.code.Register src
        end local 2 // jdk.vm.ci.code.Register dst
        end local 1 // int size
        end local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    6     0       this  Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
            0    6     1       size  I
            0    6     2        dst  Ljdk/vm/ci/code/Register;
            0    6     3        src  Ljdk/vm/ci/code/Register;
            0    6     4  immediate  I
    MethodParameters:
           Name  Flags
      size       
      dst        
      src        
      immediate  

  public void subs(int, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register, int);
    descriptor: (ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=5
        start local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
        start local 1 // int size
        start local 2 // jdk.vm.ci.code.Register dst
        start local 3 // jdk.vm.ci.code.Register src
        start local 4 // int immediate
         0: .line 650
            iload 4 /* immediate */
            ifge 3
         1: .line 651
            aload 0 /* this */
            iload 1 /* size */
            aload 2 /* dst */
            aload 3 /* src */
            iload 4 /* immediate */
            ineg
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.adds:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;I)V
         2: .line 652
            goto 5
      StackMap locals:
      StackMap stack:
         3: aload 2 /* dst */
            aload 3 /* src */
            invokevirtual jdk.vm.ci.code.Register.equals:(Ljava/lang/Object;)Z
            ifeq 4
            iload 4 /* immediate */
            ifeq 5
         4: .line 653
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* size */
            aload 2 /* dst */
            aload 3 /* src */
            iload 4 /* immediate */
            invokespecial org.graalvm.compiler.asm.aarch64.AArch64Assembler.sub:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;I)V
         5: .line 655
      StackMap locals:
      StackMap stack:
            return
        end local 4 // int immediate
        end local 3 // jdk.vm.ci.code.Register src
        end local 2 // jdk.vm.ci.code.Register dst
        end local 1 // int size
        end local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    6     0       this  Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
            0    6     1       size  I
            0    6     2        dst  Ljdk/vm/ci/code/Register;
            0    6     3        src  Ljdk/vm/ci/code/Register;
            0    6     4  immediate  I
    MethodParameters:
           Name  Flags
      size       
      dst        
      src        
      immediate  

  public void mul(int, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register);
    descriptor: (ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=5
        start local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
        start local 1 // int size
        start local 2 // jdk.vm.ci.code.Register dst
        start local 3 // jdk.vm.ci.code.Register src1
        start local 4 // jdk.vm.ci.code.Register src2
         0: .line 666
            aload 0 /* this */
            iload 1 /* size */
            aload 2 /* dst */
            aload 3 /* src1 */
            aload 4 /* src2 */
            getstatic jdk.vm.ci.aarch64.AArch64.zr:Ljdk/vm/ci/code/Register;
            invokespecial org.graalvm.compiler.asm.aarch64.AArch64Assembler.madd:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
         1: .line 667
            return
        end local 4 // jdk.vm.ci.code.Register src2
        end local 3 // jdk.vm.ci.code.Register src1
        end local 2 // jdk.vm.ci.code.Register dst
        end local 1 // int size
        end local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
            0    2     1  size  I
            0    2     2   dst  Ljdk/vm/ci/code/Register;
            0    2     3  src1  Ljdk/vm/ci/code/Register;
            0    2     4  src2  Ljdk/vm/ci/code/Register;
    MethodParameters:
      Name  Flags
      size  
      dst   
      src1  
      src2  

  public void umulh(int, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register);
    descriptor: (ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=5
        start local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
        start local 1 // int size
        start local 2 // jdk.vm.ci.code.Register dst
        start local 3 // jdk.vm.ci.code.Register src1
        start local 4 // jdk.vm.ci.code.Register src2
         0: .line 678
            getstatic org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.$assertionsDisabled:Z
            ifne 1
            iload 1 /* size */
            bipush 32
            if_icmpeq 1
            iload 1 /* size */
            bipush 64
            if_icmpeq 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 679
      StackMap locals:
      StackMap stack:
            iload 1 /* size */
            bipush 64
            if_icmpne 4
         2: .line 680
            aload 0 /* this */
            aload 2 /* dst */
            aload 3 /* src1 */
            aload 4 /* src2 */
            invokespecial org.graalvm.compiler.asm.aarch64.AArch64Assembler.umulh:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
         3: .line 681
            goto 6
         4: .line 683
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* dst */
            aload 3 /* src1 */
            aload 4 /* src2 */
            getstatic jdk.vm.ci.aarch64.AArch64.zr:Ljdk/vm/ci/code/Register;
            invokespecial org.graalvm.compiler.asm.aarch64.AArch64Assembler.umaddl:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
         5: .line 685
            aload 0 /* this */
            bipush 64
            aload 2 /* dst */
            aload 2 /* dst */
            ldc 32
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.lshr:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;J)V
         6: .line 687
      StackMap locals:
      StackMap stack:
            return
        end local 4 // jdk.vm.ci.code.Register src2
        end local 3 // jdk.vm.ci.code.Register src1
        end local 2 // jdk.vm.ci.code.Register dst
        end local 1 // int size
        end local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
            0    7     1  size  I
            0    7     2   dst  Ljdk/vm/ci/code/Register;
            0    7     3  src1  Ljdk/vm/ci/code/Register;
            0    7     4  src2  Ljdk/vm/ci/code/Register;
    MethodParameters:
      Name  Flags
      size  
      dst   
      src1  
      src2  

  public void smulh(int, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register);
    descriptor: (ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=5
        start local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
        start local 1 // int size
        start local 2 // jdk.vm.ci.code.Register dst
        start local 3 // jdk.vm.ci.code.Register src1
        start local 4 // jdk.vm.ci.code.Register src2
         0: .line 698
            getstatic org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.$assertionsDisabled:Z
            ifne 1
            iload 1 /* size */
            bipush 32
            if_icmpeq 1
            iload 1 /* size */
            bipush 64
            if_icmpeq 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 699
      StackMap locals:
      StackMap stack:
            iload 1 /* size */
            bipush 64
            if_icmpne 4
         2: .line 700
            aload 0 /* this */
            aload 2 /* dst */
            aload 3 /* src1 */
            aload 4 /* src2 */
            invokespecial org.graalvm.compiler.asm.aarch64.AArch64Assembler.smulh:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
         3: .line 701
            goto 6
         4: .line 703
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* dst */
            aload 3 /* src1 */
            aload 4 /* src2 */
            getstatic jdk.vm.ci.aarch64.AArch64.zr:Ljdk/vm/ci/code/Register;
            invokespecial org.graalvm.compiler.asm.aarch64.AArch64Assembler.smaddl:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
         5: .line 705
            aload 0 /* this */
            bipush 64
            aload 2 /* dst */
            aload 2 /* dst */
            ldc 32
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.lshr:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;J)V
         6: .line 707
      StackMap locals:
      StackMap stack:
            return
        end local 4 // jdk.vm.ci.code.Register src2
        end local 3 // jdk.vm.ci.code.Register src1
        end local 2 // jdk.vm.ci.code.Register dst
        end local 1 // int size
        end local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
            0    7     1  size  I
            0    7     2   dst  Ljdk/vm/ci/code/Register;
            0    7     3  src1  Ljdk/vm/ci/code/Register;
            0    7     4  src2  Ljdk/vm/ci/code/Register;
    MethodParameters:
      Name  Flags
      size  
      dst   
      src1  
      src2  

  public void rem(int, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register);
    descriptor: (ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=5
        start local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
        start local 1 // int size
        start local 2 // jdk.vm.ci.code.Register dst
        start local 3 // jdk.vm.ci.code.Register n
        start local 4 // jdk.vm.ci.code.Register d
         0: .line 722
            aload 0 /* this */
            iload 1 /* size */
            aload 2 /* dst */
            aload 3 /* n */
            aload 4 /* d */
            invokespecial org.graalvm.compiler.asm.aarch64.AArch64Assembler.sdiv:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
         1: .line 723
            aload 0 /* this */
            iload 1 /* size */
            aload 2 /* dst */
            aload 2 /* dst */
            aload 4 /* d */
            aload 3 /* n */
            invokespecial org.graalvm.compiler.asm.aarch64.AArch64Assembler.msub:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
         2: .line 724
            return
        end local 4 // jdk.vm.ci.code.Register d
        end local 3 // jdk.vm.ci.code.Register n
        end local 2 // jdk.vm.ci.code.Register dst
        end local 1 // int size
        end local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
            0    3     1  size  I
            0    3     2   dst  Ljdk/vm/ci/code/Register;
            0    3     3     n  Ljdk/vm/ci/code/Register;
            0    3     4     d  Ljdk/vm/ci/code/Register;
    MethodParameters:
      Name  Flags
      size  
      dst   
      n     
      d     

  public void urem(int, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register);
    descriptor: (ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=5
        start local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
        start local 1 // int size
        start local 2 // jdk.vm.ci.code.Register dst
        start local 3 // jdk.vm.ci.code.Register n
        start local 4 // jdk.vm.ci.code.Register d
         0: .line 738
            aload 0 /* this */
            iload 1 /* size */
            aload 2 /* dst */
            aload 3 /* n */
            aload 4 /* d */
            invokespecial org.graalvm.compiler.asm.aarch64.AArch64Assembler.udiv:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
         1: .line 739
            aload 0 /* this */
            iload 1 /* size */
            aload 2 /* dst */
            aload 2 /* dst */
            aload 4 /* d */
            aload 3 /* n */
            invokespecial org.graalvm.compiler.asm.aarch64.AArch64Assembler.msub:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
         2: .line 740
            return
        end local 4 // jdk.vm.ci.code.Register d
        end local 3 // jdk.vm.ci.code.Register n
        end local 2 // jdk.vm.ci.code.Register dst
        end local 1 // int size
        end local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
            0    3     1  size  I
            0    3     2   dst  Ljdk/vm/ci/code/Register;
            0    3     3     n  Ljdk/vm/ci/code/Register;
            0    3     4     d  Ljdk/vm/ci/code/Register;
    MethodParameters:
      Name  Flags
      size  
      dst   
      n     
      d     

  public static boolean isArithmeticImmediate(long);
    descriptor: (J)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // long imm
         0: .line 752
            lload 0 /* imm */
            invokestatic java.lang.Math.abs:(J)J
            invokestatic org.graalvm.compiler.asm.NumUtil.isInt:(J)Z
            ifeq 1
            lload 0 /* imm */
            invokestatic java.lang.Math.abs:(J)J
            l2i
            invokestatic org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.isAimm:(I)Z
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // long imm
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0   imm  J
    MethodParameters:
      Name  Flags
      imm   

  public static boolean isComparisonImmediate(long);
    descriptor: (J)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // long imm
         0: .line 762
            lload 0 /* imm */
            invokestatic org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.isArithmeticImmediate:(J)Z
            ireturn
        end local 0 // long imm
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0   imm  J
    MethodParameters:
      Name  Flags
      imm   

  public static boolean isMovableImmediate(long);
    descriptor: (J)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // long imm
         0: .line 790
            lload 0 /* imm */
            invokestatic java.lang.Math.abs:(J)J
            invokestatic org.graalvm.compiler.asm.NumUtil.isInt:(J)Z
            ifeq 1
            bipush 16
            lload 0 /* imm */
            invokestatic java.lang.Math.abs:(J)J
            l2i
            invokestatic org.graalvm.compiler.asm.NumUtil.isUnsignedNbit:(II)Z
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // long imm
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0   imm  J
    MethodParameters:
      Name  Flags
      imm   

  public void shl(int, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register, long);
    descriptor: (ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;J)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=7, args_size=5
        start local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
        start local 1 // int size
        start local 2 // jdk.vm.ci.code.Register dst
        start local 3 // jdk.vm.ci.code.Register src
        start local 4 // long shiftAmt
         0: .line 802
            iload 1 /* size */
            lload 4 /* shiftAmt */
            invokestatic org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.clampShiftAmt:(IJ)I
            istore 6 /* shift */
        start local 6 // int shift
         1: .line 803
            aload 0 /* this */
            iload 1 /* size */
            aload 2 /* dst */
            aload 3 /* src */
            iload 1 /* size */
            iload 6 /* shift */
            isub
            iload 1 /* size */
            iconst_1
            isub
            iand
            iload 1 /* size */
            iconst_1
            isub
            iload 6 /* shift */
            isub
            invokespecial org.graalvm.compiler.asm.aarch64.AArch64Assembler.ubfm:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;II)V
         2: .line 804
            return
        end local 6 // int shift
        end local 4 // long shiftAmt
        end local 3 // jdk.vm.ci.code.Register src
        end local 2 // jdk.vm.ci.code.Register dst
        end local 1 // int size
        end local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      this  Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
            0    3     1      size  I
            0    3     2       dst  Ljdk/vm/ci/code/Register;
            0    3     3       src  Ljdk/vm/ci/code/Register;
            0    3     4  shiftAmt  J
            1    3     6     shift  I
    MethodParameters:
          Name  Flags
      size      
      dst       
      src       
      shiftAmt  

  public void shl(int, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register);
    descriptor: (ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=5
        start local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
        start local 1 // int size
        start local 2 // jdk.vm.ci.code.Register dst
        start local 3 // jdk.vm.ci.code.Register src
        start local 4 // jdk.vm.ci.code.Register shift
         0: .line 815
            aload 0 /* this */
            iload 1 /* size */
            aload 2 /* dst */
            aload 3 /* src */
            aload 4 /* shift */
            invokespecial org.graalvm.compiler.asm.aarch64.AArch64Assembler.lsl:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
         1: .line 816
            return
        end local 4 // jdk.vm.ci.code.Register shift
        end local 3 // jdk.vm.ci.code.Register src
        end local 2 // jdk.vm.ci.code.Register dst
        end local 1 // int size
        end local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
            0    2     1   size  I
            0    2     2    dst  Ljdk/vm/ci/code/Register;
            0    2     3    src  Ljdk/vm/ci/code/Register;
            0    2     4  shift  Ljdk/vm/ci/code/Register;
    MethodParameters:
       Name  Flags
      size   
      dst    
      src    
      shift  

  public void lshr(int, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register, long);
    descriptor: (ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;J)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=7, args_size=5
        start local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
        start local 1 // int size
        start local 2 // jdk.vm.ci.code.Register dst
        start local 3 // jdk.vm.ci.code.Register src
        start local 4 // long shiftAmt
         0: .line 827
            iload 1 /* size */
            lload 4 /* shiftAmt */
            invokestatic org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.clampShiftAmt:(IJ)I
            istore 6 /* shift */
        start local 6 // int shift
         1: .line 828
            aload 0 /* this */
            iload 1 /* size */
            aload 2 /* dst */
            aload 3 /* src */
            iload 6 /* shift */
            iload 1 /* size */
            iconst_1
            isub
            invokespecial org.graalvm.compiler.asm.aarch64.AArch64Assembler.ubfm:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;II)V
         2: .line 829
            return
        end local 6 // int shift
        end local 4 // long shiftAmt
        end local 3 // jdk.vm.ci.code.Register src
        end local 2 // jdk.vm.ci.code.Register dst
        end local 1 // int size
        end local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      this  Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
            0    3     1      size  I
            0    3     2       dst  Ljdk/vm/ci/code/Register;
            0    3     3       src  Ljdk/vm/ci/code/Register;
            0    3     4  shiftAmt  J
            1    3     6     shift  I
    MethodParameters:
          Name  Flags
      size      
      dst       
      src       
      shiftAmt  

  public void lshr(int, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register);
    descriptor: (ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=5
        start local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
        start local 1 // int size
        start local 2 // jdk.vm.ci.code.Register dst
        start local 3 // jdk.vm.ci.code.Register src
        start local 4 // jdk.vm.ci.code.Register shift
         0: .line 840
            aload 0 /* this */
            iload 1 /* size */
            aload 2 /* dst */
            aload 3 /* src */
            aload 4 /* shift */
            invokespecial org.graalvm.compiler.asm.aarch64.AArch64Assembler.lsr:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
         1: .line 841
            return
        end local 4 // jdk.vm.ci.code.Register shift
        end local 3 // jdk.vm.ci.code.Register src
        end local 2 // jdk.vm.ci.code.Register dst
        end local 1 // int size
        end local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
            0    2     1   size  I
            0    2     2    dst  Ljdk/vm/ci/code/Register;
            0    2     3    src  Ljdk/vm/ci/code/Register;
            0    2     4  shift  Ljdk/vm/ci/code/Register;
    MethodParameters:
       Name  Flags
      size   
      dst    
      src    
      shift  

  public void ashr(int, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register, long);
    descriptor: (ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;J)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=7, args_size=5
        start local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
        start local 1 // int size
        start local 2 // jdk.vm.ci.code.Register dst
        start local 3 // jdk.vm.ci.code.Register src
        start local 4 // long shiftAmt
         0: .line 852
            iload 1 /* size */
            lload 4 /* shiftAmt */
            invokestatic org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.clampShiftAmt:(IJ)I
            istore 6 /* shift */
        start local 6 // int shift
         1: .line 853
            aload 0 /* this */
            iload 1 /* size */
            aload 2 /* dst */
            aload 3 /* src */
            iload 6 /* shift */
            iload 1 /* size */
            iconst_1
            isub
            invokespecial org.graalvm.compiler.asm.aarch64.AArch64Assembler.sbfm:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;II)V
         2: .line 854
            return
        end local 6 // int shift
        end local 4 // long shiftAmt
        end local 3 // jdk.vm.ci.code.Register src
        end local 2 // jdk.vm.ci.code.Register dst
        end local 1 // int size
        end local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      this  Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
            0    3     1      size  I
            0    3     2       dst  Ljdk/vm/ci/code/Register;
            0    3     3       src  Ljdk/vm/ci/code/Register;
            0    3     4  shiftAmt  J
            1    3     6     shift  I
    MethodParameters:
          Name  Flags
      size      
      dst       
      src       
      shiftAmt  

  public void ashr(int, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register);
    descriptor: (ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=5
        start local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
        start local 1 // int size
        start local 2 // jdk.vm.ci.code.Register dst
        start local 3 // jdk.vm.ci.code.Register src
        start local 4 // jdk.vm.ci.code.Register shift
         0: .line 865
            aload 0 /* this */
            iload 1 /* size */
            aload 2 /* dst */
            aload 3 /* src */
            aload 4 /* shift */
            invokespecial org.graalvm.compiler.asm.aarch64.AArch64Assembler.asr:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
         1: .line 866
            return
        end local 4 // jdk.vm.ci.code.Register shift
        end local 3 // jdk.vm.ci.code.Register src
        end local 2 // jdk.vm.ci.code.Register dst
        end local 1 // int size
        end local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
            0    2     1   size  I
            0    2     2    dst  Ljdk/vm/ci/code/Register;
            0    2     3    src  Ljdk/vm/ci/code/Register;
            0    2     4  shift  Ljdk/vm/ci/code/Register;
    MethodParameters:
       Name  Flags
      size   
      dst    
      src    
      shift  

  private static int clampShiftAmt(int, long);
    descriptor: (IJ)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // int size
        start local 1 // long shiftAmt
         0: .line 877
            lload 1 /* shiftAmt */
            iload 0 /* size */
            iconst_1
            isub
            i2l
            land
            l2i
            ireturn
        end local 1 // long shiftAmt
        end local 0 // int size
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      size  I
            0    1     1  shiftAmt  J
    MethodParameters:
          Name  Flags
      size      
      shiftAmt  

  public void and(int, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register);
    descriptor: (ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=5, args_size=5
        start local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
        start local 1 // int size
        start local 2 // jdk.vm.ci.code.Register dst
        start local 3 // jdk.vm.ci.code.Register src1
        start local 4 // jdk.vm.ci.code.Register src2
         0: .line 889
            aload 0 /* this */
            iload 1 /* size */
            aload 2 /* dst */
            aload 3 /* src1 */
            aload 4 /* src2 */
            getstatic org.graalvm.compiler.asm.aarch64.AArch64Assembler$ShiftType.LSL:Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ShiftType;
            iconst_0
            invokespecial org.graalvm.compiler.asm.aarch64.AArch64Assembler.and:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ShiftType;I)V
         1: .line 890
            return
        end local 4 // jdk.vm.ci.code.Register src2
        end local 3 // jdk.vm.ci.code.Register src1
        end local 2 // jdk.vm.ci.code.Register dst
        end local 1 // int size
        end local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
            0    2     1  size  I
            0    2     2   dst  Ljdk/vm/ci/code/Register;
            0    2     3  src1  Ljdk/vm/ci/code/Register;
            0    2     4  src2  Ljdk/vm/ci/code/Register;
    MethodParameters:
      Name  Flags
      size  
      dst   
      src1  
      src2  

  public void eor(int, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register);
    descriptor: (ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=5, args_size=5
        start local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
        start local 1 // int size
        start local 2 // jdk.vm.ci.code.Register dst
        start local 3 // jdk.vm.ci.code.Register src1
        start local 4 // jdk.vm.ci.code.Register src2
         0: .line 901
            aload 0 /* this */
            iload 1 /* size */
            aload 2 /* dst */
            aload 3 /* src1 */
            aload 4 /* src2 */
            getstatic org.graalvm.compiler.asm.aarch64.AArch64Assembler$ShiftType.LSL:Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ShiftType;
            iconst_0
            invokespecial org.graalvm.compiler.asm.aarch64.AArch64Assembler.eor:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ShiftType;I)V
         1: .line 902
            return
        end local 4 // jdk.vm.ci.code.Register src2
        end local 3 // jdk.vm.ci.code.Register src1
        end local 2 // jdk.vm.ci.code.Register dst
        end local 1 // int size
        end local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
            0    2     1  size  I
            0    2     2   dst  Ljdk/vm/ci/code/Register;
            0    2     3  src1  Ljdk/vm/ci/code/Register;
            0    2     4  src2  Ljdk/vm/ci/code/Register;
    MethodParameters:
      Name  Flags
      size  
      dst   
      src1  
      src2  

  public void or(int, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register);
    descriptor: (ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=5, args_size=5
        start local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
        start local 1 // int size
        start local 2 // jdk.vm.ci.code.Register dst
        start local 3 // jdk.vm.ci.code.Register src1
        start local 4 // jdk.vm.ci.code.Register src2
         0: .line 913
            aload 0 /* this */
            iload 1 /* size */
            aload 2 /* dst */
            aload 3 /* src1 */
            aload 4 /* src2 */
            getstatic org.graalvm.compiler.asm.aarch64.AArch64Assembler$ShiftType.LSL:Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ShiftType;
            iconst_0
            invokespecial org.graalvm.compiler.asm.aarch64.AArch64Assembler.orr:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ShiftType;I)V
         1: .line 914
            return
        end local 4 // jdk.vm.ci.code.Register src2
        end local 3 // jdk.vm.ci.code.Register src1
        end local 2 // jdk.vm.ci.code.Register dst
        end local 1 // int size
        end local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
            0    2     1  size  I
            0    2     2   dst  Ljdk/vm/ci/code/Register;
            0    2     3  src1  Ljdk/vm/ci/code/Register;
            0    2     4  src2  Ljdk/vm/ci/code/Register;
    MethodParameters:
      Name  Flags
      size  
      dst   
      src1  
      src2  

  public void or(int, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register, long);
    descriptor: (ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;J)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=6, args_size=5
        start local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
        start local 1 // int size
        start local 2 // jdk.vm.ci.code.Register dst
        start local 3 // jdk.vm.ci.code.Register src
        start local 4 // long bimm
         0: .line 926
            aload 0 /* this */
            iload 1 /* size */
            aload 2 /* dst */
            aload 3 /* src */
            lload 4 /* bimm */
            invokespecial org.graalvm.compiler.asm.aarch64.AArch64Assembler.orr:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;J)V
         1: .line 927
            return
        end local 4 // long bimm
        end local 3 // jdk.vm.ci.code.Register src
        end local 2 // jdk.vm.ci.code.Register dst
        end local 1 // int size
        end local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
            0    2     1  size  I
            0    2     2   dst  Ljdk/vm/ci/code/Register;
            0    2     3   src  Ljdk/vm/ci/code/Register;
            0    2     4  bimm  J
    MethodParameters:
      Name  Flags
      size  
      dst   
      src   
      bimm  

  public void not(int, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register);
    descriptor: (ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=4, args_size=4
        start local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
        start local 1 // int size
        start local 2 // jdk.vm.ci.code.Register dst
        start local 3 // jdk.vm.ci.code.Register src
         0: .line 937
            aload 0 /* this */
            iload 1 /* size */
            aload 2 /* dst */
            getstatic jdk.vm.ci.aarch64.AArch64.zr:Ljdk/vm/ci/code/Register;
            aload 3 /* src */
            getstatic org.graalvm.compiler.asm.aarch64.AArch64Assembler$ShiftType.LSL:Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ShiftType;
            iconst_0
            invokespecial org.graalvm.compiler.asm.aarch64.AArch64Assembler.orn:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ShiftType;I)V
         1: .line 938
            return
        end local 3 // jdk.vm.ci.code.Register src
        end local 2 // jdk.vm.ci.code.Register dst
        end local 1 // int size
        end local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
            0    2     1  size  I
            0    2     2   dst  Ljdk/vm/ci/code/Register;
            0    2     3   src  Ljdk/vm/ci/code/Register;
    MethodParameters:
      Name  Flags
      size  
      dst   
      src   

  public void sxt(int, int, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register);
    descriptor: (IILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=6, args_size=5
        start local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
        start local 1 // int destSize
        start local 2 // int srcSize
        start local 3 // jdk.vm.ci.code.Register dst
        start local 4 // jdk.vm.ci.code.Register src
         0: .line 949
            getstatic org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.$assertionsDisabled:Z
            ifne 3
            iload 1 /* destSize */
            bipush 32
            if_icmpeq 1
            iload 1 /* destSize */
            bipush 64
            if_icmpne 2
      StackMap locals:
      StackMap stack:
         1: iload 2 /* srcSize */
            iload 1 /* destSize */
            if_icmplt 3
      StackMap locals:
      StackMap stack:
         2: new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         3: .line 950
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.$assertionsDisabled:Z
            ifne 4
            iload 2 /* srcSize */
            bipush 8
            if_icmpeq 4
            iload 2 /* srcSize */
            bipush 16
            if_icmpeq 4
            iload 2 /* srcSize */
            bipush 32
            if_icmpeq 4
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         4: .line 951
      StackMap locals:
      StackMap stack:
            iconst_3
            newarray 10
            dup
            iconst_0
            bipush 7
            iastore
            dup
            iconst_1
            bipush 15
            iastore
            dup
            iconst_2
            bipush 31
            iastore
            astore 5 /* srcSizeValues */
        start local 5 // int[] srcSizeValues
         5: .line 952
            aload 0 /* this */
            iload 1 /* destSize */
            aload 3 /* dst */
            aload 4 /* src */
            iconst_0
            aload 5 /* srcSizeValues */
            iload 2 /* srcSize */
            bipush 8
            idiv
            invokestatic org.graalvm.compiler.asm.NumUtil.log2Ceil:(I)I
            iaload
            invokespecial org.graalvm.compiler.asm.aarch64.AArch64Assembler.sbfm:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;II)V
         6: .line 953
            return
        end local 5 // int[] srcSizeValues
        end local 4 // jdk.vm.ci.code.Register src
        end local 3 // jdk.vm.ci.code.Register dst
        end local 2 // int srcSize
        end local 1 // int destSize
        end local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    7     0           this  Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
            0    7     1       destSize  I
            0    7     2        srcSize  I
            0    7     3            dst  Ljdk/vm/ci/code/Register;
            0    7     4            src  Ljdk/vm/ci/code/Register;
            5    7     5  srcSizeValues  [I
    MethodParameters:
          Name  Flags
      destSize  
      srcSize   
      dst       
      src       

  public void csneg(int, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register, org.graalvm.compiler.asm.aarch64.AArch64Assembler$ConditionFlag);
    descriptor: (ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ConditionFlag;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=5
        start local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
        start local 1 // int size
        start local 2 // jdk.vm.ci.code.Register dst
        start local 3 // jdk.vm.ci.code.Register src
        start local 4 // org.graalvm.compiler.asm.aarch64.AArch64Assembler$ConditionFlag condition
         0: .line 964
            aload 0 /* this */
            iload 1 /* size */
            aload 2 /* dst */
            aload 3 /* src */
            aload 3 /* src */
            aload 4 /* condition */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64Assembler$ConditionFlag.negate:()Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ConditionFlag;
            invokespecial org.graalvm.compiler.asm.aarch64.AArch64Assembler.csneg:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ConditionFlag;)V
         1: .line 965
            return
        end local 4 // org.graalvm.compiler.asm.aarch64.AArch64Assembler$ConditionFlag condition
        end local 3 // jdk.vm.ci.code.Register src
        end local 2 // jdk.vm.ci.code.Register dst
        end local 1 // int size
        end local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
            0    2     1       size  I
            0    2     2        dst  Ljdk/vm/ci/code/Register;
            0    2     3        src  Ljdk/vm/ci/code/Register;
            0    2     4  condition  Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ConditionFlag;
    MethodParameters:
           Name  Flags
      size       
      dst        
      src        
      condition  

  public static boolean isLogicalImmediate(long);
    descriptor: (J)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // long imm
         0: .line 971
            iconst_1
            lload 0 /* imm */
            invokestatic org.graalvm.compiler.asm.aarch64.AArch64Assembler$LogicalImmediateTable.isRepresentable:(ZJ)Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$LogicalImmediateTable$Representable;
            getstatic org.graalvm.compiler.asm.aarch64.AArch64Assembler$LogicalImmediateTable$Representable.NO:Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$LogicalImmediateTable$Representable;
            if_acmpeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // long imm
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0   imm  J
    MethodParameters:
      Name  Flags
      imm   

  public static boolean isLogicalImmediate(int);
    descriptor: (I)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // int imm
         0: .line 978
            iload 0 /* imm */
            invokestatic org.graalvm.compiler.asm.aarch64.AArch64Assembler$LogicalImmediateTable.isRepresentable:(I)Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$LogicalImmediateTable$Representable;
            getstatic org.graalvm.compiler.asm.aarch64.AArch64Assembler$LogicalImmediateTable$Representable.YES:Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$LogicalImmediateTable$Representable;
            if_acmpne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // int imm
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0   imm  I
    MethodParameters:
      Name  Flags
      imm   

  public void fmov(int, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register);
    descriptor: (ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
        start local 1 // int size
        start local 2 // jdk.vm.ci.code.Register dst
        start local 3 // jdk.vm.ci.code.Register src
         0: .line 995
            getstatic org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.$assertionsDisabled:Z
            ifne 1
            aload 2 /* dst */
            invokevirtual jdk.vm.ci.code.Register.getRegisterCategory:()Ljdk/vm/ci/code/Register$RegisterCategory;
            getstatic jdk.vm.ci.aarch64.AArch64.CPU:Ljdk/vm/ci/code/Register$RegisterCategory;
            invokevirtual jdk.vm.ci.code.Register$RegisterCategory.equals:(Ljava/lang/Object;)Z
            ifeq 1
            aload 3 /* src */
            invokevirtual jdk.vm.ci.code.Register.getRegisterCategory:()Ljdk/vm/ci/code/Register$RegisterCategory;
            getstatic jdk.vm.ci.aarch64.AArch64.CPU:Ljdk/vm/ci/code/Register$RegisterCategory;
            invokevirtual jdk.vm.ci.code.Register$RegisterCategory.equals:(Ljava/lang/Object;)Z
            ifeq 1
            new java.lang.AssertionError
            dup
            ldc "src and dst cannot both be integer registers."
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         1: .line 996
      StackMap locals:
      StackMap stack:
            aload 2 /* dst */
            invokevirtual jdk.vm.ci.code.Register.getRegisterCategory:()Ljdk/vm/ci/code/Register$RegisterCategory;
            getstatic jdk.vm.ci.aarch64.AArch64.CPU:Ljdk/vm/ci/code/Register$RegisterCategory;
            invokevirtual jdk.vm.ci.code.Register$RegisterCategory.equals:(Ljava/lang/Object;)Z
            ifeq 4
         2: .line 997
            aload 0 /* this */
            iload 1 /* size */
            aload 2 /* dst */
            aload 3 /* src */
            invokespecial org.graalvm.compiler.asm.aarch64.AArch64Assembler.fmovFpu2Cpu:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
         3: .line 998
            goto 8
      StackMap locals:
      StackMap stack:
         4: aload 3 /* src */
            invokevirtual jdk.vm.ci.code.Register.getRegisterCategory:()Ljdk/vm/ci/code/Register$RegisterCategory;
            getstatic jdk.vm.ci.aarch64.AArch64.CPU:Ljdk/vm/ci/code/Register$RegisterCategory;
            invokevirtual jdk.vm.ci.code.Register$RegisterCategory.equals:(Ljava/lang/Object;)Z
            ifeq 7
         5: .line 999
            aload 0 /* this */
            iload 1 /* size */
            aload 2 /* dst */
            aload 3 /* src */
            invokespecial org.graalvm.compiler.asm.aarch64.AArch64Assembler.fmovCpu2Fpu:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
         6: .line 1000
            goto 8
         7: .line 1001
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* size */
            aload 2 /* dst */
            aload 3 /* src */
            invokespecial org.graalvm.compiler.asm.aarch64.AArch64Assembler.fmov:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
         8: .line 1003
      StackMap locals:
      StackMap stack:
            return
        end local 3 // jdk.vm.ci.code.Register src
        end local 2 // jdk.vm.ci.code.Register dst
        end local 1 // int size
        end local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
            0    9     1  size  I
            0    9     2   dst  Ljdk/vm/ci/code/Register;
            0    9     3   src  Ljdk/vm/ci/code/Register;
    MethodParameters:
      Name  Flags
      size  
      dst   
      src   

  public void fmov(int, jdk.vm.ci.code.Register, double);
    descriptor: (ILjdk/vm/ci/code/Register;D)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=4
        start local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
        start local 1 // int size
        start local 2 // jdk.vm.ci.code.Register dst
        start local 3 // double imm
         0: .line 1016
            dload 3 /* imm */
            dconst_0
            dcmpl
            ifne 4
         1: .line 1017
            getstatic org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.$assertionsDisabled:Z
            ifne 2
            dload 3 /* imm */
            invokestatic java.lang.Double.doubleToRawLongBits:(D)J
            lconst_0
            lcmp
            ifeq 2
            new java.lang.AssertionError
            dup
            ldc "-0.0 is no valid immediate."
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         2: .line 1018
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* size */
            aload 2 /* dst */
            getstatic jdk.vm.ci.aarch64.AArch64.zr:Ljdk/vm/ci/code/Register;
            invokespecial org.graalvm.compiler.asm.aarch64.AArch64Assembler.fmovCpu2Fpu:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
         3: .line 1019
            goto 5
         4: .line 1020
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* size */
            aload 2 /* dst */
            dload 3 /* imm */
            invokespecial org.graalvm.compiler.asm.aarch64.AArch64Assembler.fmov:(ILjdk/vm/ci/code/Register;D)V
         5: .line 1022
      StackMap locals:
      StackMap stack:
            return
        end local 3 // double imm
        end local 2 // jdk.vm.ci.code.Register dst
        end local 1 // int size
        end local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
            0    6     1  size  I
            0    6     2   dst  Ljdk/vm/ci/code/Register;
            0    6     3   imm  D
    MethodParameters:
      Name  Flags
      size  
      dst   
      imm   

  public static boolean isDoubleImmediate(double);
    descriptor: (D)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // double imm
         0: .line 1030
            dload 0 /* imm */
            invokestatic java.lang.Double.doubleToRawLongBits:(D)J
            lconst_0
            lcmp
            ifeq 1
            dload 0 /* imm */
            invokestatic org.graalvm.compiler.asm.aarch64.AArch64Assembler.isDoubleImmediate:(D)Z
            ifne 1
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
        end local 0 // double imm
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0   imm  D
    MethodParameters:
      Name  Flags
      imm   

  public static boolean isFloatImmediate(float);
    descriptor: (F)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // float imm
         0: .line 1039
            fload 0 /* imm */
            invokestatic java.lang.Float.floatToRawIntBits:(F)I
            ifeq 1
            fload 0 /* imm */
            invokestatic org.graalvm.compiler.asm.aarch64.AArch64Assembler.isFloatImmediate:(F)Z
            ifne 1
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
        end local 0 // float imm
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0   imm  F
    MethodParameters:
      Name  Flags
      imm   

  public void fcmov(int, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register, org.graalvm.compiler.asm.aarch64.AArch64Assembler$ConditionFlag);
    descriptor: (ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ConditionFlag;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=6, args_size=6
        start local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
        start local 1 // int size
        start local 2 // jdk.vm.ci.code.Register result
        start local 3 // jdk.vm.ci.code.Register trueValue
        start local 4 // jdk.vm.ci.code.Register falseValue
        start local 5 // org.graalvm.compiler.asm.aarch64.AArch64Assembler$ConditionFlag condition
         0: .line 1052
            aload 0 /* this */
            iload 1 /* size */
            aload 2 /* result */
            aload 3 /* trueValue */
            aload 4 /* falseValue */
            aload 5 /* condition */
            invokespecial org.graalvm.compiler.asm.aarch64.AArch64Assembler.fcsel:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ConditionFlag;)V
         1: .line 1053
            return
        end local 5 // org.graalvm.compiler.asm.aarch64.AArch64Assembler$ConditionFlag condition
        end local 4 // jdk.vm.ci.code.Register falseValue
        end local 3 // jdk.vm.ci.code.Register trueValue
        end local 2 // jdk.vm.ci.code.Register result
        end local 1 // int size
        end local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
            0    2     1        size  I
            0    2     2      result  Ljdk/vm/ci/code/Register;
            0    2     3   trueValue  Ljdk/vm/ci/code/Register;
            0    2     4  falseValue  Ljdk/vm/ci/code/Register;
            0    2     5   condition  Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ConditionFlag;
    MethodParameters:
            Name  Flags
      size        
      result      
      trueValue   
      falseValue  
      condition   

  public void frem(int, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register);
    descriptor: (ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=5
        start local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
        start local 1 // int size
        start local 2 // jdk.vm.ci.code.Register dst
        start local 3 // jdk.vm.ci.code.Register n
        start local 4 // jdk.vm.ci.code.Register d
         0: .line 1066
            aload 0 /* this */
            iload 1 /* size */
            aload 2 /* dst */
            aload 3 /* n */
            aload 4 /* d */
            invokespecial org.graalvm.compiler.asm.aarch64.AArch64Assembler.fdiv:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
         1: .line 1067
            aload 0 /* this */
            iload 1 /* size */
            aload 2 /* dst */
            aload 2 /* dst */
            invokespecial org.graalvm.compiler.asm.aarch64.AArch64Assembler.frintz:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
         2: .line 1068
            aload 0 /* this */
            iload 1 /* size */
            aload 2 /* dst */
            aload 2 /* dst */
            aload 4 /* d */
            aload 3 /* n */
            invokespecial org.graalvm.compiler.asm.aarch64.AArch64Assembler.fmsub:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
         3: .line 1069
            return
        end local 4 // jdk.vm.ci.code.Register d
        end local 3 // jdk.vm.ci.code.Register n
        end local 2 // jdk.vm.ci.code.Register dst
        end local 1 // int size
        end local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
            0    4     1  size  I
            0    4     2   dst  Ljdk/vm/ci/code/Register;
            0    4     3     n  Ljdk/vm/ci/code/Register;
            0    4     4     d  Ljdk/vm/ci/code/Register;
    MethodParameters:
      Name  Flags
      size  
      dst   
      n     
      d     

  public void cmp(int, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register);
    descriptor: (ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=4, args_size=4
        start local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
        start local 1 // int size
        start local 2 // jdk.vm.ci.code.Register x
        start local 3 // jdk.vm.ci.code.Register y
         0: .line 1081
            aload 0 /* this */
            iload 1 /* size */
            getstatic jdk.vm.ci.aarch64.AArch64.zr:Ljdk/vm/ci/code/Register;
            aload 2 /* x */
            aload 3 /* y */
            getstatic org.graalvm.compiler.asm.aarch64.AArch64Assembler$ShiftType.LSL:Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ShiftType;
            iconst_0
            invokespecial org.graalvm.compiler.asm.aarch64.AArch64Assembler.subs:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ShiftType;I)V
         1: .line 1082
            return
        end local 3 // jdk.vm.ci.code.Register y
        end local 2 // jdk.vm.ci.code.Register x
        end local 1 // int size
        end local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
            0    2     1  size  I
            0    2     2     x  Ljdk/vm/ci/code/Register;
            0    2     3     y  Ljdk/vm/ci/code/Register;
    MethodParameters:
      Name  Flags
      size  
      x     
      y     

  public void cmp(int, jdk.vm.ci.code.Register, int);
    descriptor: (ILjdk/vm/ci/code/Register;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
        start local 1 // int size
        start local 2 // jdk.vm.ci.code.Register x
        start local 3 // int y
         0: .line 1092
            iload 3 /* y */
            ifge 3
         1: .line 1093
            aload 0 /* this */
            iload 1 /* size */
            getstatic jdk.vm.ci.aarch64.AArch64.zr:Ljdk/vm/ci/code/Register;
            aload 2 /* x */
            iload 3 /* y */
            ineg
            invokespecial org.graalvm.compiler.asm.aarch64.AArch64Assembler.adds:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;I)V
         2: .line 1094
            goto 4
         3: .line 1095
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* size */
            getstatic jdk.vm.ci.aarch64.AArch64.zr:Ljdk/vm/ci/code/Register;
            aload 2 /* x */
            iload 3 /* y */
            invokespecial org.graalvm.compiler.asm.aarch64.AArch64Assembler.subs:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;I)V
         4: .line 1097
      StackMap locals:
      StackMap stack:
            return
        end local 3 // int y
        end local 2 // jdk.vm.ci.code.Register x
        end local 1 // int size
        end local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
            0    5     1  size  I
            0    5     2     x  Ljdk/vm/ci/code/Register;
            0    5     3     y  I
    MethodParameters:
      Name  Flags
      size  
      x     
      y     

  public void ands(int, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register);
    descriptor: (ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=5, args_size=5
        start local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
        start local 1 // int size
        start local 2 // jdk.vm.ci.code.Register dst
        start local 3 // jdk.vm.ci.code.Register x
        start local 4 // jdk.vm.ci.code.Register y
         0: .line 1108
            aload 0 /* this */
            iload 1 /* size */
            aload 2 /* dst */
            aload 3 /* x */
            aload 4 /* y */
            getstatic org.graalvm.compiler.asm.aarch64.AArch64Assembler$ShiftType.LSL:Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ShiftType;
            iconst_0
            invokespecial org.graalvm.compiler.asm.aarch64.AArch64Assembler.ands:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ShiftType;I)V
         1: .line 1109
            return
        end local 4 // jdk.vm.ci.code.Register y
        end local 3 // jdk.vm.ci.code.Register x
        end local 2 // jdk.vm.ci.code.Register dst
        end local 1 // int size
        end local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
            0    2     1  size  I
            0    2     2   dst  Ljdk/vm/ci/code/Register;
            0    2     3     x  Ljdk/vm/ci/code/Register;
            0    2     4     y  Ljdk/vm/ci/code/Register;
    MethodParameters:
      Name  Flags
      size  
      dst   
      x     
      y     

  public void adr(jdk.vm.ci.code.Register, org.graalvm.compiler.asm.Label);
    descriptor: (Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/Label;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
        start local 1 // jdk.vm.ci.code.Register dst
        start local 2 // org.graalvm.compiler.asm.Label label
         0: .line 1145
            aload 2 /* label */
            invokevirtual org.graalvm.compiler.asm.Label.isBound:()Z
            ifeq 4
         1: .line 1146
            aload 2 /* label */
            invokevirtual org.graalvm.compiler.asm.Label.position:()I
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.position:()I
            isub
            istore 3 /* offset */
        start local 3 // int offset
         2: .line 1147
            aload 0 /* this */
            aload 1 /* dst */
            iload 3 /* offset */
            invokespecial org.graalvm.compiler.asm.aarch64.AArch64Assembler.adr:(Ljdk/vm/ci/code/Register;I)V
        end local 3 // int offset
         3: .line 1148
            goto 6
         4: .line 1149
      StackMap locals:
      StackMap stack:
            aload 2 /* label */
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.position:()I
            invokevirtual org.graalvm.compiler.asm.Label.addPatchAt:(I)V
         5: .line 1151
            aload 0 /* this */
            getstatic org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$PatchLabelKind.ADR:Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler$PatchLabelKind;
            getfield org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$PatchLabelKind.encoding:I
            aload 1 /* dst */
            getfield jdk.vm.ci.code.Register.encoding:I
            iconst_5
            ishl
            ior
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.emitInt:(I)V
         6: .line 1153
      StackMap locals:
      StackMap stack:
            return
        end local 2 // org.graalvm.compiler.asm.Label label
        end local 1 // jdk.vm.ci.code.Register dst
        end local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0    this  Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
            0    7     1     dst  Ljdk/vm/ci/code/Register;
            0    7     2   label  Lorg/graalvm/compiler/asm/Label;
            2    3     3  offset  I
    MethodParameters:
       Name  Flags
      dst    
      label  

  public void cbnz(int, jdk.vm.ci.code.Register, org.graalvm.compiler.asm.Label);
    descriptor: (ILjdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/Label;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=4
        start local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
        start local 1 // int size
        start local 2 // jdk.vm.ci.code.Register cmp
        start local 3 // org.graalvm.compiler.asm.Label label
         0: .line 1164
            aload 3 /* label */
            invokevirtual org.graalvm.compiler.asm.Label.isBound:()Z
            ifeq 4
         1: .line 1165
            aload 3 /* label */
            invokevirtual org.graalvm.compiler.asm.Label.position:()I
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.position:()I
            isub
            istore 4 /* offset */
        start local 4 // int offset
         2: .line 1166
            aload 0 /* this */
            iload 1 /* size */
            aload 2 /* cmp */
            iload 4 /* offset */
            invokespecial org.graalvm.compiler.asm.aarch64.AArch64Assembler.cbnz:(ILjdk/vm/ci/code/Register;I)V
        end local 4 // int offset
         3: .line 1167
            goto 10
         4: .line 1168
      StackMap locals:
      StackMap stack:
            aload 3 /* label */
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.position:()I
            invokevirtual org.graalvm.compiler.asm.Label.addPatchAt:(I)V
         5: .line 1169
            aload 2 /* cmp */
            getfield jdk.vm.ci.code.Register.encoding:I
            bipush 6
            ishl
            istore 4 /* regEncoding */
        start local 4 // int regEncoding
         6: .line 1170
            iload 1 /* size */
            bipush 64
            if_icmpne 7
            iconst_1
            goto 8
      StackMap locals: int
      StackMap stack:
         7: iconst_0
      StackMap locals:
      StackMap stack: int
         8: iconst_5
            ishl
            istore 5 /* sizeEncoding */
        start local 5 // int sizeEncoding
         9: .line 1172
            aload 0 /* this */
            getstatic org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$PatchLabelKind.BRANCH_NONZERO:Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler$PatchLabelKind;
            getfield org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$PatchLabelKind.encoding:I
            iload 4 /* regEncoding */
            ior
            iload 5 /* sizeEncoding */
            ior
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.emitInt:(I)V
        end local 5 // int sizeEncoding
        end local 4 // int regEncoding
        10: .line 1174
      StackMap locals:
      StackMap stack:
            return
        end local 3 // org.graalvm.compiler.asm.Label label
        end local 2 // jdk.vm.ci.code.Register cmp
        end local 1 // int size
        end local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   11     0          this  Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
            0   11     1          size  I
            0   11     2           cmp  Ljdk/vm/ci/code/Register;
            0   11     3         label  Lorg/graalvm/compiler/asm/Label;
            2    3     4        offset  I
            6   10     4   regEncoding  I
            9   10     5  sizeEncoding  I
    MethodParameters:
       Name  Flags
      size   
      cmp    
      label  

  public void cbz(int, jdk.vm.ci.code.Register, org.graalvm.compiler.asm.Label);
    descriptor: (ILjdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/Label;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=4
        start local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
        start local 1 // int size
        start local 2 // jdk.vm.ci.code.Register cmp
        start local 3 // org.graalvm.compiler.asm.Label label
         0: .line 1185
            aload 3 /* label */
            invokevirtual org.graalvm.compiler.asm.Label.isBound:()Z
            ifeq 4
         1: .line 1186
            aload 3 /* label */
            invokevirtual org.graalvm.compiler.asm.Label.position:()I
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.position:()I
            isub
            istore 4 /* offset */
        start local 4 // int offset
         2: .line 1187
            aload 0 /* this */
            iload 1 /* size */
            aload 2 /* cmp */
            iload 4 /* offset */
            invokespecial org.graalvm.compiler.asm.aarch64.AArch64Assembler.cbz:(ILjdk/vm/ci/code/Register;I)V
        end local 4 // int offset
         3: .line 1188
            goto 10
         4: .line 1189
      StackMap locals:
      StackMap stack:
            aload 3 /* label */
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.position:()I
            invokevirtual org.graalvm.compiler.asm.Label.addPatchAt:(I)V
         5: .line 1190
            aload 2 /* cmp */
            getfield jdk.vm.ci.code.Register.encoding:I
            bipush 6
            ishl
            istore 4 /* regEncoding */
        start local 4 // int regEncoding
         6: .line 1191
            iload 1 /* size */
            bipush 64
            if_icmpne 7
            iconst_1
            goto 8
      StackMap locals: int
      StackMap stack:
         7: iconst_0
      StackMap locals:
      StackMap stack: int
         8: iconst_5
            ishl
            istore 5 /* sizeEncoding */
        start local 5 // int sizeEncoding
         9: .line 1193
            aload 0 /* this */
            getstatic org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$PatchLabelKind.BRANCH_ZERO:Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler$PatchLabelKind;
            getfield org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$PatchLabelKind.encoding:I
            iload 4 /* regEncoding */
            ior
            iload 5 /* sizeEncoding */
            ior
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.emitInt:(I)V
        end local 5 // int sizeEncoding
        end local 4 // int regEncoding
        10: .line 1195
      StackMap locals:
      StackMap stack:
            return
        end local 3 // org.graalvm.compiler.asm.Label label
        end local 2 // jdk.vm.ci.code.Register cmp
        end local 1 // int size
        end local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   11     0          this  Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
            0   11     1          size  I
            0   11     2           cmp  Ljdk/vm/ci/code/Register;
            0   11     3         label  Lorg/graalvm/compiler/asm/Label;
            2    3     4        offset  I
            6   10     4   regEncoding  I
            9   10     5  sizeEncoding  I
    MethodParameters:
       Name  Flags
      size   
      cmp    
      label  

  public void branchConditionally(org.graalvm.compiler.asm.aarch64.AArch64Assembler$ConditionFlag, org.graalvm.compiler.asm.Label);
    descriptor: (Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ConditionFlag;Lorg/graalvm/compiler/asm/Label;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
        start local 1 // org.graalvm.compiler.asm.aarch64.AArch64Assembler$ConditionFlag condition
        start local 2 // org.graalvm.compiler.asm.Label label
         0: .line 1205
            aload 2 /* label */
            invokevirtual org.graalvm.compiler.asm.Label.isBound:()Z
            ifeq 4
         1: .line 1206
            aload 2 /* label */
            invokevirtual org.graalvm.compiler.asm.Label.position:()I
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.position:()I
            isub
            istore 3 /* offset */
        start local 3 // int offset
         2: .line 1207
            aload 0 /* this */
            aload 1 /* condition */
            iload 3 /* offset */
            invokespecial org.graalvm.compiler.asm.aarch64.AArch64Assembler.b:(Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ConditionFlag;I)V
        end local 3 // int offset
         3: .line 1208
            goto 6
         4: .line 1209
      StackMap locals:
      StackMap stack:
            aload 2 /* label */
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.position:()I
            invokevirtual org.graalvm.compiler.asm.Label.addPatchAt:(I)V
         5: .line 1211
            aload 0 /* this */
            getstatic org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$PatchLabelKind.BRANCH_CONDITIONALLY:Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler$PatchLabelKind;
            getfield org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$PatchLabelKind.encoding:I
            aload 1 /* condition */
            getfield org.graalvm.compiler.asm.aarch64.AArch64Assembler$ConditionFlag.encoding:I
            iconst_5
            ishl
            ior
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.emitInt:(I)V
         6: .line 1213
      StackMap locals:
      StackMap stack:
            return
        end local 2 // org.graalvm.compiler.asm.Label label
        end local 1 // org.graalvm.compiler.asm.aarch64.AArch64Assembler$ConditionFlag condition
        end local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    7     0       this  Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
            0    7     1  condition  Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ConditionFlag;
            0    7     2      label  Lorg/graalvm/compiler/asm/Label;
            2    3     3     offset  I
    MethodParameters:
           Name  Flags
      condition  
      label      

  public void branchConditionally(org.graalvm.compiler.asm.aarch64.AArch64Assembler$ConditionFlag);
    descriptor: (Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ConditionFlag;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
        start local 1 // org.graalvm.compiler.asm.aarch64.AArch64Assembler$ConditionFlag condition
         0: .line 1222
            aload 0 /* this */
            aload 1 /* condition */
            iconst_0
            invokespecial org.graalvm.compiler.asm.aarch64.AArch64Assembler.b:(Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ConditionFlag;I)V
         1: .line 1223
            return
        end local 1 // org.graalvm.compiler.asm.aarch64.AArch64Assembler$ConditionFlag condition
        end local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
            0    2     1  condition  Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ConditionFlag;
    MethodParameters:
           Name  Flags
      condition  

  public void jmp(org.graalvm.compiler.asm.Label);
    descriptor: (Lorg/graalvm/compiler/asm/Label;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
        start local 1 // org.graalvm.compiler.asm.Label label
         0: .line 1233
            aload 1 /* label */
            invokevirtual org.graalvm.compiler.asm.Label.isBound:()Z
            ifeq 4
         1: .line 1234
            aload 1 /* label */
            invokevirtual org.graalvm.compiler.asm.Label.position:()I
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.position:()I
            isub
            istore 2 /* offset */
        start local 2 // int offset
         2: .line 1235
            aload 0 /* this */
            iload 2 /* offset */
            invokespecial org.graalvm.compiler.asm.aarch64.AArch64Assembler.b:(I)V
        end local 2 // int offset
         3: .line 1236
            goto 6
         4: .line 1237
      StackMap locals:
      StackMap stack:
            aload 1 /* label */
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.position:()I
            invokevirtual org.graalvm.compiler.asm.Label.addPatchAt:(I)V
         5: .line 1238
            aload 0 /* this */
            getstatic org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$PatchLabelKind.BRANCH_UNCONDITIONALLY:Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler$PatchLabelKind;
            getfield org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$PatchLabelKind.encoding:I
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.emitInt:(I)V
         6: .line 1240
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.graalvm.compiler.asm.Label label
        end local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0    this  Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
            0    7     1   label  Lorg/graalvm/compiler/asm/Label;
            2    3     2  offset  I
    MethodParameters:
       Name  Flags
      label  

  public void jmp(jdk.vm.ci.code.Register);
    descriptor: (Ljdk/vm/ci/code/Register;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
        start local 1 // jdk.vm.ci.code.Register dest
         0: .line 1248
            aload 0 /* this */
            aload 1 /* dest */
            invokespecial org.graalvm.compiler.asm.aarch64.AArch64Assembler.br:(Ljdk/vm/ci/code/Register;)V
         1: .line 1249
            return
        end local 1 // jdk.vm.ci.code.Register dest
        end local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
            0    2     1  dest  Ljdk/vm/ci/code/Register;
    MethodParameters:
      Name  Flags
      dest  

  public void jmp();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
         0: .line 1256
            aload 0 /* this */
            iconst_0
            invokespecial org.graalvm.compiler.asm.aarch64.AArch64Assembler.b:(I)V
         1: .line 1257
            return
        end local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;

  public static boolean isBranchImmediateOffset(long);
    descriptor: (J)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // long imm
         0: .line 1264
            bipush 28
            lload 0 /* imm */
            invokestatic org.graalvm.compiler.asm.NumUtil.isSignedNbit:(IJ)Z
            ireturn
        end local 0 // long imm
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0   imm  J
    MethodParameters:
      Name  Flags
      imm   

  public void hlt(org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$AArch64ExceptionCode);
    descriptor: (Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler$AArch64ExceptionCode;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
        start local 1 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$AArch64ExceptionCode exceptionCode
         0: .line 1290
            aload 0 /* this */
            aload 1 /* exceptionCode */
            getfield org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$AArch64ExceptionCode.encoding:I
            invokespecial org.graalvm.compiler.asm.aarch64.AArch64Assembler.hlt:(I)V
         1: .line 1291
            return
        end local 1 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$AArch64ExceptionCode exceptionCode
        end local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    2     0           this  Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
            0    2     1  exceptionCode  Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler$AArch64ExceptionCode;
    MethodParameters:
               Name  Flags
      exceptionCode  

  public void brk(org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$AArch64ExceptionCode);
    descriptor: (Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler$AArch64ExceptionCode;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
        start local 1 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$AArch64ExceptionCode exceptionCode
         0: .line 1300
            aload 0 /* this */
            aload 1 /* exceptionCode */
            getfield org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$AArch64ExceptionCode.encoding:I
            invokespecial org.graalvm.compiler.asm.aarch64.AArch64Assembler.brk:(I)V
         1: .line 1301
            return
        end local 1 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$AArch64ExceptionCode exceptionCode
        end local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    2     0           this  Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
            0    2     1  exceptionCode  Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler$AArch64ExceptionCode;
    MethodParameters:
               Name  Flags
      exceptionCode  

  public void pause();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
         0: .line 1304
            invokestatic org.graalvm.compiler.debug.GraalError.unimplemented:()Ljava/lang/RuntimeException;
            athrow
        end local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;

  public void nop();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
         0: .line 1311
            aload 0 /* this */
            getstatic org.graalvm.compiler.asm.aarch64.AArch64Assembler$SystemHint.NOP:Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$SystemHint;
            invokespecial org.graalvm.compiler.asm.aarch64.AArch64Assembler.hint:(Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$SystemHint;)V
         1: .line 1312
            return
        end local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;

  public void ensureUniquePC();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
         0: .line 1319
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.nop:()V
         1: .line 1320
            return
        end local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;

  public void align(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
        start local 1 // int modulus
         0: .line 1329
            getstatic org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.$assertionsDisabled:Z
            ifne 2
            iload 1 /* modulus */
            ifle 1
            iload 1 /* modulus */
            iconst_3
            iand
            ifeq 2
      StackMap locals:
      StackMap stack:
         1: new java.lang.AssertionError
            dup
            ldc "Modulus has to be a positive multiple of 4."
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         2: .line 1330
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.position:()I
            iload 1 /* modulus */
            irem
            ifne 4
         3: .line 1331
            return
         4: .line 1333
      StackMap locals:
      StackMap stack:
            iload 1 /* modulus */
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.position:()I
            iload 1 /* modulus */
            irem
            isub
            istore 2 /* offset */
        start local 2 // int offset
         5: .line 1334
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         6: goto 9
         7: .line 1335
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.nop:()V
         8: .line 1334
            iinc 3 /* i */ 4
      StackMap locals:
      StackMap stack:
         9: iload 3 /* i */
            iload 2 /* offset */
            if_icmplt 7
        end local 3 // int i
        10: .line 1337
            return
        end local 2 // int offset
        end local 1 // int modulus
        end local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   11     0     this  Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
            0   11     1  modulus  I
            5   11     2   offset  I
            6   10     3        i  I
    MethodParameters:
         Name  Flags
      modulus  

  protected void patchJumpTarget(int, int);
    descriptor: (II)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=12, args_size=3
        start local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
        start local 1 // int branch
        start local 2 // int jumpTarget
         0: .line 1344
            aload 0 /* this */
            iload 1 /* branch */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.getInt:(I)I
            istore 3 /* instruction */
        start local 3 // int instruction
         1: .line 1345
            iload 2 /* jumpTarget */
            iload 1 /* branch */
            isub
            istore 4 /* branchOffset */
        start local 4 // int branchOffset
         2: .line 1346
            iload 3 /* instruction */
            invokestatic org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$PatchLabelKind.fromEncoding:(I)Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler$PatchLabelKind;
            astore 5 /* type */
        start local 5 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$PatchLabelKind type
         3: .line 1347
            invokestatic org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.$SWITCH_TABLE$org$graalvm$compiler$asm$aarch64$AArch64MacroAssembler$PatchLabelKind:()[I
            aload 5 /* type */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$PatchLabelKind.ordinal:()I
            iaload
            tableswitch { // 1 - 6
                    1: 4
                    2: 7
                    3: 11
                    4: 11
                    5: 9
                    6: 21
              default: 26
          }
         4: .line 1349
      StackMap locals: int int org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$PatchLabelKind
      StackMap stack:
            iload 3 /* instruction */
            iconst_5
            iushr
            invokestatic org.graalvm.compiler.asm.aarch64.AArch64Assembler$ConditionFlag.fromEncoding:(I)Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ConditionFlag;
            astore 6 /* cf */
        start local 6 // org.graalvm.compiler.asm.aarch64.AArch64Assembler$ConditionFlag cf
         5: .line 1350
            aload 0 /* this */
            aload 6 /* cf */
            iload 4 /* branchOffset */
            iload 1 /* branch */
            invokespecial org.graalvm.compiler.asm.aarch64.AArch64Assembler.b:(Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ConditionFlag;II)V
         6: .line 1351
            goto 27
        end local 6 // org.graalvm.compiler.asm.aarch64.AArch64Assembler$ConditionFlag cf
         7: .line 1353
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 4 /* branchOffset */
            iload 1 /* branch */
            invokespecial org.graalvm.compiler.asm.aarch64.AArch64Assembler.b:(II)V
         8: .line 1354
            goto 27
         9: .line 1356
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 2 /* jumpTarget */
            iload 1 /* branch */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.emitInt:(II)V
        10: .line 1357
            goto 27
        11: .line 1360
      StackMap locals:
      StackMap stack:
            iload 3 /* instruction */
            iconst_5
            iushr
            istore 7 /* information */
        start local 7 // int information
        12: .line 1361
            iload 7 /* information */
            iconst_1
            iand
            istore 8 /* sizeEncoding */
        start local 8 // int sizeEncoding
        13: .line 1362
            iload 7 /* information */
            iconst_1
            iushr
            istore 9 /* regEncoding */
        start local 9 // int regEncoding
        14: .line 1363
            getstatic jdk.vm.ci.aarch64.AArch64.cpuRegisters:Ljdk/vm/ci/code/RegisterArray;
            iload 9 /* regEncoding */
            invokevirtual jdk.vm.ci.code.RegisterArray.get:(I)Ljdk/vm/ci/code/Register;
            astore 10 /* reg */
        start local 10 // jdk.vm.ci.code.Register reg
        15: .line 1365
            iload 8 /* sizeEncoding */
            bipush 32
            imul
            bipush 32
            iadd
            istore 11 /* size */
        start local 11 // int size
        16: .line 1366
            invokestatic org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.$SWITCH_TABLE$org$graalvm$compiler$asm$aarch64$AArch64MacroAssembler$PatchLabelKind:()[I
            aload 5 /* type */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$PatchLabelKind.ordinal:()I
            iaload
            tableswitch { // 3 - 4
                    3: 17
                    4: 19
              default: 20
          }
        17: .line 1368
      StackMap locals: org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler int int int int org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$PatchLabelKind top int int int jdk.vm.ci.code.Register int
      StackMap stack:
            aload 0 /* this */
            iload 11 /* size */
            aload 10 /* reg */
            iload 4 /* branchOffset */
            iload 1 /* branch */
            invokespecial org.graalvm.compiler.asm.aarch64.AArch64Assembler.cbnz:(ILjdk/vm/ci/code/Register;II)V
        18: .line 1369
            goto 27
        19: .line 1371
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 11 /* size */
            aload 10 /* reg */
            iload 4 /* branchOffset */
            iload 1 /* branch */
            invokespecial org.graalvm.compiler.asm.aarch64.AArch64Assembler.cbz:(ILjdk/vm/ci/code/Register;II)V
        20: .line 1374
      StackMap locals:
      StackMap stack:
            goto 27
        end local 11 // int size
        end local 10 // jdk.vm.ci.code.Register reg
        end local 9 // int regEncoding
        end local 8 // int sizeEncoding
        end local 7 // int information
        21: .line 1377
      StackMap locals: org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler int int int int org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$PatchLabelKind
      StackMap stack:
            iload 3 /* instruction */
            iconst_5
            iushr
            istore 7 /* information */
        start local 7 // int information
        22: .line 1378
            iload 7 /* information */
            istore 8 /* regEncoding */
        start local 8 // int regEncoding
        23: .line 1379
            getstatic jdk.vm.ci.aarch64.AArch64.cpuRegisters:Ljdk/vm/ci/code/RegisterArray;
            iload 8 /* regEncoding */
            invokevirtual jdk.vm.ci.code.RegisterArray.get:(I)Ljdk/vm/ci/code/Register;
            astore 9 /* reg */
        start local 9 // jdk.vm.ci.code.Register reg
        24: .line 1380
            aload 0 /* this */
            aload 9 /* reg */
            iload 4 /* branchOffset */
            iload 1 /* branch */
            invokespecial org.graalvm.compiler.asm.aarch64.AArch64Assembler.adr:(Ljdk/vm/ci/code/Register;II)V
        25: .line 1381
            goto 27
        end local 9 // jdk.vm.ci.code.Register reg
        end local 8 // int regEncoding
        end local 7 // int information
        26: .line 1384
      StackMap locals:
      StackMap stack:
            invokestatic org.graalvm.compiler.debug.GraalError.shouldNotReachHere:()Ljava/lang/RuntimeException;
            athrow
        27: .line 1386
      StackMap locals:
      StackMap stack:
            return
        end local 5 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$PatchLabelKind type
        end local 4 // int branchOffset
        end local 3 // int instruction
        end local 2 // int jumpTarget
        end local 1 // int branch
        end local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   28     0          this  Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
            0   28     1        branch  I
            0   28     2    jumpTarget  I
            1   28     3   instruction  I
            2   28     4  branchOffset  I
            3   28     5          type  Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler$PatchLabelKind;
            5    7     6            cf  Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ConditionFlag;
           12   21     7   information  I
           13   21     8  sizeEncoding  I
           14   21     9   regEncoding  I
           15   21    10           reg  Ljdk/vm/ci/code/Register;
           16   21    11          size  I
           22   26     7   information  I
           23   26     8   regEncoding  I
           24   26     9           reg  Ljdk/vm/ci/code/Register;
    MethodParameters:
            Name  Flags
      branch      
      jumpTarget  

  public org.graalvm.compiler.asm.aarch64.AArch64Address makeAddress(jdk.vm.ci.code.Register, int);
    descriptor: (Ljdk/vm/ci/code/Register;I)Lorg/graalvm/compiler/asm/aarch64/AArch64Address;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=3, args_size=3
        start local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
        start local 1 // jdk.vm.ci.code.Register base
        start local 2 // int displacement
         0: .line 1400
            aload 0 /* this */
            aload 1 /* base */
            iload 2 /* displacement */
            i2l
            getstatic jdk.vm.ci.aarch64.AArch64.zr:Ljdk/vm/ci/code/Register;
            iconst_0
            iconst_0
            getstatic jdk.vm.ci.aarch64.AArch64.zr:Ljdk/vm/ci/code/Register;
            iconst_0
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.makeAddress:(Ljdk/vm/ci/code/Register;JLjdk/vm/ci/code/Register;ZILjdk/vm/ci/code/Register;Z)Lorg/graalvm/compiler/asm/aarch64/AArch64Address;
            areturn
        end local 2 // int displacement
        end local 1 // jdk.vm.ci.code.Register base
        end local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0          this  Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
            0    1     1          base  Ljdk/vm/ci/code/Register;
            0    1     2  displacement  I
    MethodParameters:
              Name  Flags
      base          
      displacement  

  public org.graalvm.compiler.asm.AbstractAddress getPlaceholder(int);
    descriptor: (I)Lorg/graalvm/compiler/asm/AbstractAddress;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
        start local 1 // int instructionStartPosition
         0: .line 1405
            getstatic org.graalvm.compiler.asm.aarch64.AArch64Address.PLACEHOLDER:Lorg/graalvm/compiler/asm/aarch64/AArch64Address;
            areturn
        end local 1 // int instructionStartPosition
        end local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler this
      LocalVariableTable:
        Start  End  Slot                      Name  Signature
            0    1     0                      this  Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
            0    1     1  instructionStartPosition  I
    MethodParameters:
                          Name  Flags
      instructionStartPosition  

  public org.graalvm.compiler.asm.AbstractAddress makeAddress(jdk.vm.ci.code.Register, int);
    descriptor: (Ljdk/vm/ci/code/Register;I)Lorg/graalvm/compiler/asm/AbstractAddress;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=3
         0: .line 1
            aload 0
            aload 1
            iload 2
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.makeAddress:(Ljdk/vm/ci/code/Register;I)Lorg/graalvm/compiler/asm/aarch64/AArch64Address;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  static int[] $SWITCH_TABLE$org$graalvm$compiler$asm$aarch64$AArch64MacroAssembler$AddressGenerationPlan$WorkPlan();
    descriptor: ()[I
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 49
            getstatic org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.$SWITCH_TABLE$org$graalvm$compiler$asm$aarch64$AArch64MacroAssembler$AddressGenerationPlan$WorkPlan:[I
            dup
            ifnull 1
            areturn
      StackMap locals:
      StackMap stack: int[]
         1: pop
            invokestatic org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$AddressGenerationPlan$WorkPlan.values:()[Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler$AddressGenerationPlan$WorkPlan;
            arraylength
            newarray 10
            astore 0
         2: aload 0
            getstatic org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$AddressGenerationPlan$WorkPlan.ADD_TO_BASE:Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler$AddressGenerationPlan$WorkPlan;
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$AddressGenerationPlan$WorkPlan.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.AArch64MacroAssembler$AddressGenerationPlan$WorkPlan.ADD_TO_INDEX:Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler$AddressGenerationPlan$WorkPlan;
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$AddressGenerationPlan$WorkPlan.ordinal:()I
            iconst_2
            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.AArch64MacroAssembler$AddressGenerationPlan$WorkPlan.NO_WORK:Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler$AddressGenerationPlan$WorkPlan;
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$AddressGenerationPlan$WorkPlan.ordinal:()I
            iconst_1
            iastore
         9: goto 11
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        10: pop
      StackMap locals:
      StackMap stack:
        11: aload 0
            dup
            putstatic org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.$SWITCH_TABLE$org$graalvm$compiler$asm$aarch64$AArch64MacroAssembler$AddressGenerationPlan$WorkPlan:[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

  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 49
            getstatic org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.$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.AddressingMode:Lorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64Address$AddressingMode.ordinal:()I
            bipush 9
            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.BASE_REGISTER_ONLY:Lorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64Address$AddressingMode.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.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
         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_POST_INDEXED:Lorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64Address$AddressingMode.ordinal:()I
            bipush 7
            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_PRE_INDEXED:Lorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64Address$AddressingMode.ordinal:()I
            bipush 8
            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_SCALED:Lorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64Address$AddressingMode.ordinal:()I
            iconst_1
            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_UNSCALED:Lorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64Address$AddressingMode.ordinal:()I
            iconst_2
            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.PC_LITERAL:Lorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64Address$AddressingMode.ordinal:()I
            bipush 6
            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.REGISTER_OFFSET:Lorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64Address$AddressingMode.ordinal:()I
            iconst_4
            iastore
        27: goto 29
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        28: pop
      StackMap locals:
      StackMap stack:
        29: aload 0
            dup
            putstatic org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.$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

  static int[] $SWITCH_TABLE$org$graalvm$compiler$asm$aarch64$AArch64MacroAssembler$PatchLabelKind();
    descriptor: ()[I
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 49
            getstatic org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.$SWITCH_TABLE$org$graalvm$compiler$asm$aarch64$AArch64MacroAssembler$PatchLabelKind:[I
            dup
            ifnull 1
            areturn
      StackMap locals:
      StackMap stack: int[]
         1: pop
            invokestatic org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$PatchLabelKind.values:()[Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler$PatchLabelKind;
            arraylength
            newarray 10
            astore 0
         2: aload 0
            getstatic org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$PatchLabelKind.ADR:Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler$PatchLabelKind;
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$PatchLabelKind.ordinal:()I
            bipush 6
            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.AArch64MacroAssembler$PatchLabelKind.BRANCH_CONDITIONALLY:Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler$PatchLabelKind;
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$PatchLabelKind.ordinal:()I
            iconst_1
            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.AArch64MacroAssembler$PatchLabelKind.BRANCH_NONZERO:Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler$PatchLabelKind;
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$PatchLabelKind.ordinal:()I
            iconst_3
            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.AArch64MacroAssembler$PatchLabelKind.BRANCH_UNCONDITIONALLY:Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler$PatchLabelKind;
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$PatchLabelKind.ordinal:()I
            iconst_2
            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.AArch64MacroAssembler$PatchLabelKind.BRANCH_ZERO:Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler$PatchLabelKind;
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$PatchLabelKind.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.asm.aarch64.AArch64MacroAssembler$PatchLabelKind.JUMP_ADDRESS:Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler$PatchLabelKind;
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$PatchLabelKind.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.asm.aarch64.AArch64MacroAssembler.$SWITCH_TABLE$org$graalvm$compiler$asm$aarch64$AArch64MacroAssembler$PatchLabelKind:[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: "AArch64MacroAssembler.java"
NestMembers:
  org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$AArch64ExceptionCode  org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$AddressGenerationPlan  org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$AddressGenerationPlan$WorkPlan  org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$PatchLabelKind  org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$ScratchRegister
InnerClasses:
  public RegisterCategory = jdk.vm.ci.code.Register$RegisterCategory of jdk.vm.ci.code.Register
  public final AddressingMode = org.graalvm.compiler.asm.aarch64.AArch64Address$AddressingMode of org.graalvm.compiler.asm.aarch64.AArch64Address
  public final ConditionFlag = org.graalvm.compiler.asm.aarch64.AArch64Assembler$ConditionFlag of org.graalvm.compiler.asm.aarch64.AArch64Assembler
  public final ExtendType = org.graalvm.compiler.asm.aarch64.AArch64Assembler$ExtendType of org.graalvm.compiler.asm.aarch64.AArch64Assembler
  public LogicalImmediateTable = org.graalvm.compiler.asm.aarch64.AArch64Assembler$LogicalImmediateTable of org.graalvm.compiler.asm.aarch64.AArch64Assembler
  final Representable = org.graalvm.compiler.asm.aarch64.AArch64Assembler$LogicalImmediateTable$Representable of org.graalvm.compiler.asm.aarch64.AArch64Assembler$LogicalImmediateTable
  public final ShiftType = org.graalvm.compiler.asm.aarch64.AArch64Assembler$ShiftType of org.graalvm.compiler.asm.aarch64.AArch64Assembler
  public final SystemHint = org.graalvm.compiler.asm.aarch64.AArch64Assembler$SystemHint of org.graalvm.compiler.asm.aarch64.AArch64Assembler
  public final AArch64ExceptionCode = org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$AArch64ExceptionCode of org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler
  public AddressGenerationPlan = org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$AddressGenerationPlan of org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler
  public final WorkPlan = org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$AddressGenerationPlan$WorkPlan of org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$AddressGenerationPlan
  public final PatchLabelKind = org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$PatchLabelKind of org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler
  public ScratchRegister = org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$ScratchRegister of org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler