public class org.graalvm.compiler.lir.aarch64.AArch64Move
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.graalvm.compiler.lir.aarch64.AArch64Move
  super_class: java.lang.Object
{
  private static volatile int[] $SWITCH_TABLE$jdk$vm$ci$meta$JavaKind;
    descriptor: [I
    flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC

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

  private static void emitStore(org.graalvm.compiler.lir.asm.CompilationResultBuilder, org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler, jdk.vm.ci.aarch64.AArch64Kind, org.graalvm.compiler.asm.aarch64.AArch64Address, jdk.vm.ci.meta.Value);
    descriptor: (Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;Ljdk/vm/ci/aarch64/AArch64Kind;Lorg/graalvm/compiler/asm/aarch64/AArch64Address;Ljdk/vm/ci/meta/Value;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=6, args_size=5
        start local 0 // org.graalvm.compiler.lir.asm.CompilationResultBuilder crb
        start local 1 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler masm
        start local 2 // jdk.vm.ci.aarch64.AArch64Kind kind
        start local 3 // org.graalvm.compiler.asm.aarch64.AArch64Address dst
        start local 4 // jdk.vm.ci.meta.Value src
         0: .line 395
            aload 2 /* kind */
            invokevirtual jdk.vm.ci.aarch64.AArch64Kind.getSizeInBytes:()I
            bipush 8
            imul
            istore 5 /* destSize */
        start local 5 // int destSize
         1: .line 396
            aload 2 /* kind */
            invokevirtual jdk.vm.ci.aarch64.AArch64Kind.isInteger:()Z
            ifeq 4
         2: .line 397
            aload 1 /* masm */
            iload 5 /* destSize */
            aload 4 /* src */
            invokestatic jdk.vm.ci.code.ValueUtil.asRegister:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/code/Register;
            aload 3 /* dst */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.str:(ILjdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/aarch64/AArch64Address;)V
         3: .line 398
            goto 5
         4: .line 399
      StackMap locals: int
      StackMap stack:
            aload 1 /* masm */
            iload 5 /* destSize */
            aload 4 /* src */
            invokestatic jdk.vm.ci.code.ValueUtil.asRegister:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/code/Register;
            aload 3 /* dst */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.fstr:(ILjdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/aarch64/AArch64Address;)V
         5: .line 401
      StackMap locals:
      StackMap stack:
            return
        end local 5 // int destSize
        end local 4 // jdk.vm.ci.meta.Value src
        end local 3 // org.graalvm.compiler.asm.aarch64.AArch64Address dst
        end local 2 // jdk.vm.ci.aarch64.AArch64Kind kind
        end local 1 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler masm
        end local 0 // org.graalvm.compiler.lir.asm.CompilationResultBuilder crb
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    6     0       crb  Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;
            0    6     1      masm  Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
            0    6     2      kind  Ljdk/vm/ci/aarch64/AArch64Kind;
            0    6     3       dst  Lorg/graalvm/compiler/asm/aarch64/AArch64Address;
            0    6     4       src  Ljdk/vm/ci/meta/Value;
            1    6     5  destSize  I
    MethodParameters:
      Name  Flags
      crb   
      masm  
      kind  
      dst   
      src   

  public static void move(org.graalvm.compiler.lir.asm.CompilationResultBuilder, org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler, jdk.vm.ci.meta.AllocatableValue, jdk.vm.ci.meta.Value);
    descriptor: (Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/Value;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.graalvm.compiler.lir.asm.CompilationResultBuilder crb
        start local 1 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler masm
        start local 2 // jdk.vm.ci.meta.AllocatableValue result
        start local 3 // jdk.vm.ci.meta.Value input
         0: .line 404
            aload 3 /* input */
            invokestatic jdk.vm.ci.code.ValueUtil.isRegister:(Ljdk/vm/ci/meta/Value;)Z
            ifeq 8
         1: .line 405
            aload 2 /* result */
            invokestatic jdk.vm.ci.code.ValueUtil.isRegister:(Ljdk/vm/ci/meta/Value;)Z
            ifeq 4
         2: .line 406
            aload 0 /* crb */
            aload 1 /* masm */
            aload 2 /* result */
            aload 3 /* input */
            invokestatic jdk.vm.ci.code.ValueUtil.asAllocatableValue:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            invokestatic org.graalvm.compiler.lir.aarch64.AArch64Move.reg2reg:(Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/AllocatableValue;)V
         3: .line 407
            goto 19
      StackMap locals:
      StackMap stack:
         4: aload 2 /* result */
            invokestatic jdk.vm.ci.code.ValueUtil.isStackSlot:(Ljdk/vm/ci/meta/Value;)Z
            ifeq 7
         5: .line 408
            aload 0 /* crb */
            aload 1 /* masm */
            aload 2 /* result */
            aload 3 /* input */
            invokestatic jdk.vm.ci.code.ValueUtil.asAllocatableValue:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            invokestatic org.graalvm.compiler.lir.aarch64.AArch64Move.reg2stack:(Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/AllocatableValue;)V
         6: .line 409
            goto 19
         7: .line 410
      StackMap locals:
      StackMap stack:
            invokestatic org.graalvm.compiler.debug.GraalError.shouldNotReachHere:()Ljava/lang/RuntimeException;
            athrow
         8: .line 412
      StackMap locals:
      StackMap stack:
            aload 3 /* input */
            invokestatic jdk.vm.ci.code.ValueUtil.isStackSlot:(Ljdk/vm/ci/meta/Value;)Z
            ifeq 13
         9: .line 413
            aload 2 /* result */
            invokestatic jdk.vm.ci.code.ValueUtil.isRegister:(Ljdk/vm/ci/meta/Value;)Z
            ifeq 12
        10: .line 414
            aload 0 /* crb */
            aload 1 /* masm */
            aload 2 /* result */
            aload 3 /* input */
            invokestatic jdk.vm.ci.code.ValueUtil.asAllocatableValue:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            invokestatic org.graalvm.compiler.lir.aarch64.AArch64Move.stack2reg:(Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/AllocatableValue;)V
        11: .line 415
            goto 19
        12: .line 416
      StackMap locals:
      StackMap stack:
            invokestatic org.graalvm.compiler.debug.GraalError.shouldNotReachHere:()Ljava/lang/RuntimeException;
            athrow
        13: .line 418
      StackMap locals:
      StackMap stack:
            aload 3 /* input */
            invokestatic org.graalvm.compiler.lir.LIRValueUtil.isJavaConstant:(Ljdk/vm/ci/meta/Value;)Z
            ifeq 18
        14: .line 419
            aload 2 /* result */
            invokestatic jdk.vm.ci.code.ValueUtil.isRegister:(Ljdk/vm/ci/meta/Value;)Z
            ifeq 17
        15: .line 420
            aload 0 /* crb */
            aload 1 /* masm */
            aload 2 /* result */
            aload 3 /* input */
            invokestatic org.graalvm.compiler.lir.LIRValueUtil.asJavaConstant:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/JavaConstant;
            invokestatic org.graalvm.compiler.lir.aarch64.AArch64Move.const2reg:(Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/JavaConstant;)V
        16: .line 421
            goto 19
        17: .line 422
      StackMap locals:
      StackMap stack:
            invokestatic org.graalvm.compiler.debug.GraalError.shouldNotReachHere:()Ljava/lang/RuntimeException;
            athrow
        18: .line 425
      StackMap locals:
      StackMap stack:
            invokestatic org.graalvm.compiler.debug.GraalError.shouldNotReachHere:()Ljava/lang/RuntimeException;
            athrow
        19: .line 427
      StackMap locals:
      StackMap stack:
            return
        end local 3 // jdk.vm.ci.meta.Value input
        end local 2 // jdk.vm.ci.meta.AllocatableValue result
        end local 1 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler masm
        end local 0 // org.graalvm.compiler.lir.asm.CompilationResultBuilder crb
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   20     0     crb  Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;
            0   20     1    masm  Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
            0   20     2  result  Ljdk/vm/ci/meta/AllocatableValue;
            0   20     3   input  Ljdk/vm/ci/meta/Value;
    MethodParameters:
        Name  Flags
      crb     
      masm    
      result  
      input   

  private static void reg2reg(org.graalvm.compiler.lir.asm.CompilationResultBuilder, org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler, jdk.vm.ci.meta.AllocatableValue, jdk.vm.ci.meta.AllocatableValue);
    descriptor: (Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/AllocatableValue;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=8, args_size=4
        start local 0 // org.graalvm.compiler.lir.asm.CompilationResultBuilder crb
        start local 1 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler masm
        start local 2 // jdk.vm.ci.meta.AllocatableValue result
        start local 3 // jdk.vm.ci.meta.AllocatableValue input
         0: .line 430
            aload 2 /* result */
            invokestatic jdk.vm.ci.code.ValueUtil.asRegister:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/code/Register;
            astore 4 /* dst */
        start local 4 // jdk.vm.ci.code.Register dst
         1: .line 431
            aload 3 /* input */
            invokestatic jdk.vm.ci.code.ValueUtil.asRegister:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/code/Register;
            astore 5 /* src */
        start local 5 // jdk.vm.ci.code.Register src
         2: .line 432
            aload 5 /* src */
            aload 4 /* dst */
            invokevirtual jdk.vm.ci.code.Register.equals:(Ljava/lang/Object;)Z
            ifeq 4
         3: .line 433
            return
         4: .line 435
      StackMap locals: jdk.vm.ci.code.Register jdk.vm.ci.code.Register
      StackMap stack:
            aload 3 /* input */
            invokevirtual jdk.vm.ci.meta.AllocatableValue.getPlatformKind:()Ljdk/vm/ci/meta/PlatformKind;
            checkcast jdk.vm.ci.aarch64.AArch64Kind
            astore 6 /* kind */
        start local 6 // jdk.vm.ci.aarch64.AArch64Kind kind
         5: .line 436
            aload 6 /* kind */
            invokevirtual jdk.vm.ci.aarch64.AArch64Kind.getSizeInBytes:()I
            bipush 8
            imul
            istore 7 /* size */
        start local 7 // int size
         6: .line 437
            aload 6 /* kind */
            invokevirtual jdk.vm.ci.aarch64.AArch64Kind.isInteger:()Z
            ifeq 9
         7: .line 438
            aload 1 /* masm */
            iload 7 /* size */
            aload 4 /* dst */
            aload 5 /* src */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.mov:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
         8: .line 439
            goto 10
         9: .line 440
      StackMap locals: jdk.vm.ci.aarch64.AArch64Kind int
      StackMap stack:
            aload 1 /* masm */
            iload 7 /* size */
            aload 4 /* dst */
            aload 5 /* src */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.fmov:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
        10: .line 442
      StackMap locals:
      StackMap stack:
            return
        end local 7 // int size
        end local 6 // jdk.vm.ci.aarch64.AArch64Kind kind
        end local 5 // jdk.vm.ci.code.Register src
        end local 4 // jdk.vm.ci.code.Register dst
        end local 3 // jdk.vm.ci.meta.AllocatableValue input
        end local 2 // jdk.vm.ci.meta.AllocatableValue result
        end local 1 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler masm
        end local 0 // org.graalvm.compiler.lir.asm.CompilationResultBuilder crb
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   11     0     crb  Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;
            0   11     1    masm  Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
            0   11     2  result  Ljdk/vm/ci/meta/AllocatableValue;
            0   11     3   input  Ljdk/vm/ci/meta/AllocatableValue;
            1   11     4     dst  Ljdk/vm/ci/code/Register;
            2   11     5     src  Ljdk/vm/ci/code/Register;
            5   11     6    kind  Ljdk/vm/ci/aarch64/AArch64Kind;
            6   11     7    size  I
    MethodParameters:
        Name  Flags
      crb     
      masm    
      result  
      input   

  private static void reg2stack(org.graalvm.compiler.lir.asm.CompilationResultBuilder, org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler, jdk.vm.ci.meta.AllocatableValue, jdk.vm.ci.meta.AllocatableValue);
    descriptor: (Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/AllocatableValue;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=8, args_size=4
        start local 0 // org.graalvm.compiler.lir.asm.CompilationResultBuilder crb
        start local 1 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler masm
        start local 2 // jdk.vm.ci.meta.AllocatableValue result
        start local 3 // jdk.vm.ci.meta.AllocatableValue input
         0: .line 445
            aload 0 /* crb */
            aload 1 /* masm */
            aload 2 /* result */
            invokestatic jdk.vm.ci.code.ValueUtil.asStackSlot:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/code/StackSlot;
            getstatic jdk.vm.ci.meta.Value.ILLEGAL:Ljdk/vm/ci/meta/AllocatableValue;
            invokestatic org.graalvm.compiler.lir.aarch64.AArch64Move.loadStackSlotAddress:(Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;Ljdk/vm/ci/code/StackSlot;Ljdk/vm/ci/meta/AllocatableValue;)Lorg/graalvm/compiler/asm/aarch64/AArch64Address;
            astore 4 /* dest */
        start local 4 // org.graalvm.compiler.asm.aarch64.AArch64Address dest
         1: .line 446
            aload 3 /* input */
            invokestatic jdk.vm.ci.code.ValueUtil.asRegister:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/code/Register;
            astore 5 /* src */
        start local 5 // jdk.vm.ci.code.Register src
         2: .line 447
            aload 3 /* input */
            invokevirtual jdk.vm.ci.meta.AllocatableValue.getPlatformKind:()Ljdk/vm/ci/meta/PlatformKind;
            checkcast jdk.vm.ci.aarch64.AArch64Kind
            astore 6 /* kind */
        start local 6 // jdk.vm.ci.aarch64.AArch64Kind kind
         3: .line 448
            aload 6 /* kind */
            invokevirtual jdk.vm.ci.aarch64.AArch64Kind.getSizeInBytes:()I
            bipush 8
            imul
            istore 7 /* size */
        start local 7 // int size
         4: .line 449
            aload 6 /* kind */
            invokevirtual jdk.vm.ci.aarch64.AArch64Kind.isInteger:()Z
            ifeq 7
         5: .line 450
            aload 1 /* masm */
            iload 7 /* size */
            aload 5 /* src */
            aload 4 /* dest */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.str:(ILjdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/aarch64/AArch64Address;)V
         6: .line 451
            goto 8
         7: .line 452
      StackMap locals: org.graalvm.compiler.lir.asm.CompilationResultBuilder org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler jdk.vm.ci.meta.AllocatableValue jdk.vm.ci.meta.AllocatableValue org.graalvm.compiler.asm.aarch64.AArch64Address jdk.vm.ci.code.Register jdk.vm.ci.aarch64.AArch64Kind int
      StackMap stack:
            aload 1 /* masm */
            iload 7 /* size */
            aload 5 /* src */
            aload 4 /* dest */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.fstr:(ILjdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/aarch64/AArch64Address;)V
         8: .line 454
      StackMap locals:
      StackMap stack:
            return
        end local 7 // int size
        end local 6 // jdk.vm.ci.aarch64.AArch64Kind kind
        end local 5 // jdk.vm.ci.code.Register src
        end local 4 // org.graalvm.compiler.asm.aarch64.AArch64Address dest
        end local 3 // jdk.vm.ci.meta.AllocatableValue input
        end local 2 // jdk.vm.ci.meta.AllocatableValue result
        end local 1 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler masm
        end local 0 // org.graalvm.compiler.lir.asm.CompilationResultBuilder crb
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    9     0     crb  Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;
            0    9     1    masm  Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
            0    9     2  result  Ljdk/vm/ci/meta/AllocatableValue;
            0    9     3   input  Ljdk/vm/ci/meta/AllocatableValue;
            1    9     4    dest  Lorg/graalvm/compiler/asm/aarch64/AArch64Address;
            2    9     5     src  Ljdk/vm/ci/code/Register;
            3    9     6    kind  Ljdk/vm/ci/aarch64/AArch64Kind;
            4    9     7    size  I
    MethodParameters:
        Name  Flags
      crb     
      masm    
      result  
      input   

  private static void stack2reg(org.graalvm.compiler.lir.asm.CompilationResultBuilder, org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler, jdk.vm.ci.meta.AllocatableValue, jdk.vm.ci.meta.AllocatableValue);
    descriptor: (Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/AllocatableValue;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=11, args_size=4
        start local 0 // org.graalvm.compiler.lir.asm.CompilationResultBuilder crb
        start local 1 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler masm
        start local 2 // jdk.vm.ci.meta.AllocatableValue result
        start local 3 // jdk.vm.ci.meta.AllocatableValue input
         0: .line 457
            aload 3 /* input */
            invokevirtual jdk.vm.ci.meta.AllocatableValue.getPlatformKind:()Ljdk/vm/ci/meta/PlatformKind;
            checkcast jdk.vm.ci.aarch64.AArch64Kind
            astore 4 /* kind */
        start local 4 // jdk.vm.ci.aarch64.AArch64Kind kind
         1: .line 458
            aload 4 /* kind */
            invokevirtual jdk.vm.ci.aarch64.AArch64Kind.getSizeInBytes:()I
            bipush 8
            imul
            istore 5 /* size */
        start local 5 // int size
         2: .line 459
            aload 4 /* kind */
            invokevirtual jdk.vm.ci.aarch64.AArch64Kind.isInteger:()Z
            ifeq 6
         3: .line 460
            aload 0 /* crb */
            aload 1 /* masm */
            aload 3 /* input */
            invokestatic jdk.vm.ci.code.ValueUtil.asStackSlot:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/code/StackSlot;
            aload 2 /* result */
            invokestatic org.graalvm.compiler.lir.aarch64.AArch64Move.loadStackSlotAddress:(Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;Ljdk/vm/ci/code/StackSlot;Ljdk/vm/ci/meta/AllocatableValue;)Lorg/graalvm/compiler/asm/aarch64/AArch64Address;
            astore 6 /* src */
        start local 6 // org.graalvm.compiler.asm.aarch64.AArch64Address src
         4: .line 461
            aload 1 /* masm */
            iload 5 /* size */
            aload 2 /* result */
            invokestatic jdk.vm.ci.code.ValueUtil.asRegister:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/code/Register;
            aload 6 /* src */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.ldr:(ILjdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/aarch64/AArch64Address;)V
        end local 6 // org.graalvm.compiler.asm.aarch64.AArch64Address src
         5: .line 462
            goto 17
         6: .line 463
      StackMap locals: jdk.vm.ci.aarch64.AArch64Kind int
      StackMap stack:
            aconst_null
            astore 6
            aconst_null
            astore 7
         7: aload 1 /* masm */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.getScratchRegister:()Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler$ScratchRegister;
            astore 8 /* sc */
        start local 8 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$ScratchRegister sc
         8: .line 464
            aload 8 /* sc */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$ScratchRegister.getRegister:()Ljdk/vm/ci/code/Register;
            iconst_1
            anewarray jdk.vm.ci.meta.Value
            dup
            iconst_0
            aload 3 /* input */
            aastore
            invokestatic org.graalvm.compiler.core.common.LIRKind.combine:([Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/core/common/LIRKind;
            invokevirtual jdk.vm.ci.code.Register.asValue:(Ljdk/vm/ci/meta/ValueKind;)Ljdk/vm/ci/code/RegisterValue;
            astore 9 /* scratchRegisterValue */
        start local 9 // jdk.vm.ci.meta.AllocatableValue scratchRegisterValue
         9: .line 465
            aload 0 /* crb */
            aload 1 /* masm */
            aload 3 /* input */
            invokestatic jdk.vm.ci.code.ValueUtil.asStackSlot:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/code/StackSlot;
            aload 9 /* scratchRegisterValue */
            invokestatic org.graalvm.compiler.lir.aarch64.AArch64Move.loadStackSlotAddress:(Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;Ljdk/vm/ci/code/StackSlot;Ljdk/vm/ci/meta/AllocatableValue;)Lorg/graalvm/compiler/asm/aarch64/AArch64Address;
            astore 10 /* src */
        start local 10 // org.graalvm.compiler.asm.aarch64.AArch64Address src
        10: .line 466
            aload 1 /* masm */
            iload 5 /* size */
            aload 2 /* result */
            invokestatic jdk.vm.ci.code.ValueUtil.asRegister:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/code/Register;
            aload 10 /* src */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.fldr:(ILjdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/aarch64/AArch64Address;)V
        end local 10 // org.graalvm.compiler.asm.aarch64.AArch64Address src
        end local 9 // jdk.vm.ci.meta.AllocatableValue scratchRegisterValue
        11: .line 467
            aload 8 /* sc */
            ifnull 17
            aload 8 /* sc */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$ScratchRegister.close:()V
            goto 17
      StackMap locals: org.graalvm.compiler.lir.asm.CompilationResultBuilder org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler jdk.vm.ci.meta.AllocatableValue jdk.vm.ci.meta.AllocatableValue jdk.vm.ci.aarch64.AArch64Kind int java.lang.Throwable java.lang.Throwable org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$ScratchRegister
      StackMap stack: java.lang.Throwable
        12: astore 6
            aload 8 /* sc */
            ifnull 13
            aload 8 /* sc */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$ScratchRegister.close:()V
        end local 8 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$ScratchRegister sc
      StackMap locals:
      StackMap stack:
        13: aload 6
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        14: astore 7
            aload 6
            ifnonnull 15
            aload 7
            astore 6
            goto 16
      StackMap locals:
      StackMap stack:
        15: aload 6
            aload 7
            if_acmpeq 16
            aload 6
            aload 7
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        16: aload 6
            athrow
        17: .line 469
      StackMap locals:
      StackMap stack:
            return
        end local 5 // int size
        end local 4 // jdk.vm.ci.aarch64.AArch64Kind kind
        end local 3 // jdk.vm.ci.meta.AllocatableValue input
        end local 2 // jdk.vm.ci.meta.AllocatableValue result
        end local 1 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler masm
        end local 0 // org.graalvm.compiler.lir.asm.CompilationResultBuilder crb
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   18     0                   crb  Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;
            0   18     1                  masm  Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
            0   18     2                result  Ljdk/vm/ci/meta/AllocatableValue;
            0   18     3                 input  Ljdk/vm/ci/meta/AllocatableValue;
            1   18     4                  kind  Ljdk/vm/ci/aarch64/AArch64Kind;
            2   18     5                  size  I
            4    5     6                   src  Lorg/graalvm/compiler/asm/aarch64/AArch64Address;
            8   13     8                    sc  Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler$ScratchRegister;
            9   11     9  scratchRegisterValue  Ljdk/vm/ci/meta/AllocatableValue;
           10   11    10                   src  Lorg/graalvm/compiler/asm/aarch64/AArch64Address;
      Exception table:
        from    to  target  type
           8    11      12  any
           7    14      14  any
    MethodParameters:
        Name  Flags
      crb     
      masm    
      result  
      input   

  private static void const2reg(org.graalvm.compiler.lir.asm.CompilationResultBuilder, org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler, jdk.vm.ci.meta.Value, jdk.vm.ci.meta.JavaConstant);
    descriptor: (Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/JavaConstant;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=7, args_size=4
        start local 0 // org.graalvm.compiler.lir.asm.CompilationResultBuilder crb
        start local 1 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler masm
        start local 2 // jdk.vm.ci.meta.Value result
        start local 3 // jdk.vm.ci.meta.JavaConstant input
         0: .line 472
            aload 2 /* result */
            invokestatic jdk.vm.ci.code.ValueUtil.asRegister:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/code/Register;
            astore 4 /* dst */
        start local 4 // jdk.vm.ci.code.Register dst
         1: .line 473
            invokestatic org.graalvm.compiler.lir.aarch64.AArch64Move.$SWITCH_TABLE$jdk$vm$ci$meta$JavaKind:()[I
            aload 3 /* input */
            invokeinterface jdk.vm.ci.meta.JavaConstant.getJavaKind:()Ljdk/vm/ci/meta/JavaKind;
            invokevirtual jdk.vm.ci.meta.JavaKind.getStackKind:()Ljdk/vm/ci/meta/JavaKind;
            invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
            iaload
            tableswitch { // 5 - 9
                    5: 2
                    6: 15
                    7: 13
                    8: 20
                    9: 25
              default: 34
          }
         2: .line 475
      StackMap locals: jdk.vm.ci.code.Register
      StackMap stack:
            aload 3 /* input */
            invokeinterface jdk.vm.ci.meta.JavaConstant.asInt:()I
            istore 5 /* value */
        start local 5 // int value
         3: .line 477
            invokestatic org.graalvm.compiler.lir.aarch64.AArch64Move.$SWITCH_TABLE$jdk$vm$ci$meta$JavaKind:()[I
            aload 3 /* input */
            invokeinterface jdk.vm.ci.meta.JavaConstant.getJavaKind:()Ljdk/vm/ci/meta/JavaKind;
            invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
            iaload
            tableswitch { // 1 - 5
                    1: 4
                    2: 4
                    3: 6
                    4: 6
                    5: 8
              default: 10
          }
         4: .line 480
      StackMap locals: int
      StackMap stack:
            iload 5 /* value */
            sipush 255
            iand
            istore 6 /* maskedValue */
        start local 6 // int maskedValue
         5: .line 481
            goto 11
        end local 6 // int maskedValue
         6: .line 484
      StackMap locals:
      StackMap stack:
            iload 5 /* value */
            ldc 65535
            iand
            istore 6 /* maskedValue */
        start local 6 // int maskedValue
         7: .line 485
            goto 11
        end local 6 // int maskedValue
         8: .line 487
      StackMap locals:
      StackMap stack:
            iload 5 /* value */
            istore 6 /* maskedValue */
        start local 6 // int maskedValue
         9: .line 488
            goto 11
        end local 6 // int maskedValue
        10: .line 490
      StackMap locals:
      StackMap stack:
            invokestatic org.graalvm.compiler.debug.GraalError.shouldNotReachHere:()Ljava/lang/RuntimeException;
            athrow
        start local 6 // int maskedValue
        11: .line 492
      StackMap locals: int
      StackMap stack:
            aload 1 /* masm */
            aload 4 /* dst */
            iload 6 /* maskedValue */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.mov:(Ljdk/vm/ci/code/Register;I)V
        12: .line 493
            goto 35
        end local 6 // int maskedValue
        end local 5 // int value
        13: .line 495
      StackMap locals:
      StackMap stack:
            aload 1 /* masm */
            aload 4 /* dst */
            aload 3 /* input */
            invokeinterface jdk.vm.ci.meta.JavaConstant.asLong:()J
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.mov:(Ljdk/vm/ci/code/Register;J)V
        14: .line 496
            goto 35
        15: .line 498
      StackMap locals:
      StackMap stack:
            aload 3 /* input */
            invokeinterface jdk.vm.ci.meta.JavaConstant.asFloat:()F
            invokestatic org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.isFloatImmediate:(F)Z
            ifeq 18
        16: .line 499
            aload 1 /* masm */
            bipush 32
            aload 4 /* dst */
            aload 3 /* input */
            invokeinterface jdk.vm.ci.meta.JavaConstant.asFloat:()F
            f2d
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.fmov:(ILjdk/vm/ci/code/Register;D)V
        17: .line 500
            goto 35
        18: .line 501
      StackMap locals:
      StackMap stack:
            aload 1 /* masm */
            bipush 32
            aload 4 /* dst */
            aload 0 /* crb */
            aload 3 /* input */
            invokevirtual org.graalvm.compiler.lir.asm.CompilationResultBuilder.asFloatConstRef:(Ljdk/vm/ci/meta/JavaConstant;)Lorg/graalvm/compiler/asm/AbstractAddress;
            checkcast org.graalvm.compiler.asm.aarch64.AArch64Address
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.fldr:(ILjdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/aarch64/AArch64Address;)V
        19: .line 503
            goto 35
        20: .line 505
      StackMap locals:
      StackMap stack:
            aload 3 /* input */
            invokeinterface jdk.vm.ci.meta.JavaConstant.asDouble:()D
            invokestatic org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.isDoubleImmediate:(D)Z
            ifeq 23
        21: .line 506
            aload 1 /* masm */
            bipush 64
            aload 4 /* dst */
            aload 3 /* input */
            invokeinterface jdk.vm.ci.meta.JavaConstant.asDouble:()D
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.fmov:(ILjdk/vm/ci/code/Register;D)V
        22: .line 507
            goto 35
        23: .line 508
      StackMap locals:
      StackMap stack:
            aload 1 /* masm */
            bipush 64
            aload 4 /* dst */
            aload 0 /* crb */
            aload 3 /* input */
            invokevirtual org.graalvm.compiler.lir.asm.CompilationResultBuilder.asDoubleConstRef:(Ljdk/vm/ci/meta/JavaConstant;)Lorg/graalvm/compiler/asm/AbstractAddress;
            checkcast org.graalvm.compiler.asm.aarch64.AArch64Address
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.fldr:(ILjdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/aarch64/AArch64Address;)V
        24: .line 510
            goto 35
        25: .line 512
      StackMap locals:
      StackMap stack:
            aload 3 /* input */
            invokeinterface jdk.vm.ci.meta.JavaConstant.isNull:()Z
            ifeq 28
        26: .line 513
            aload 1 /* masm */
            aload 4 /* dst */
            iconst_0
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.mov:(Ljdk/vm/ci/code/Register;I)V
        27: .line 514
            goto 35
      StackMap locals:
      StackMap stack:
        28: aload 0 /* crb */
            getfield org.graalvm.compiler.lir.asm.CompilationResultBuilder.target:Ljdk/vm/ci/code/TargetDescription;
            getfield jdk.vm.ci.code.TargetDescription.inlineObjects:Z
            ifeq 32
        29: .line 515
            aload 0 /* crb */
            aload 3 /* input */
            invokevirtual org.graalvm.compiler.lir.asm.CompilationResultBuilder.recordInlineDataInCode:(Ljdk/vm/ci/meta/Constant;)V
        30: .line 516
            aload 1 /* masm */
            aload 4 /* dst */
            ldc -2401018187971961171
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.movNativeAddress:(Ljdk/vm/ci/code/Register;J)V
        31: .line 517
            goto 35
        32: .line 518
      StackMap locals:
      StackMap stack:
            aload 1 /* masm */
            bipush 64
            aload 4 /* dst */
            aload 0 /* crb */
            aload 3 /* input */
            bipush 8
            invokevirtual org.graalvm.compiler.lir.asm.CompilationResultBuilder.recordDataReferenceInCode:(Ljdk/vm/ci/meta/Constant;I)Lorg/graalvm/compiler/asm/AbstractAddress;
            checkcast org.graalvm.compiler.asm.aarch64.AArch64Address
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.ldr:(ILjdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/aarch64/AArch64Address;)V
        33: .line 520
            goto 35
        34: .line 522
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "kind="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* input */
            invokeinterface jdk.vm.ci.meta.JavaConstant.getJavaKind:()Ljdk/vm/ci/meta/JavaKind;
            invokevirtual jdk.vm.ci.meta.JavaKind.getStackKind:()Ljdk/vm/ci/meta/JavaKind;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.graalvm.compiler.debug.GraalError.shouldNotReachHere:(Ljava/lang/String;)Ljava/lang/RuntimeException;
            athrow
        35: .line 524
      StackMap locals:
      StackMap stack:
            return
        end local 4 // jdk.vm.ci.code.Register dst
        end local 3 // jdk.vm.ci.meta.JavaConstant input
        end local 2 // jdk.vm.ci.meta.Value result
        end local 1 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler masm
        end local 0 // org.graalvm.compiler.lir.asm.CompilationResultBuilder crb
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   36     0          crb  Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;
            0   36     1         masm  Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
            0   36     2       result  Ljdk/vm/ci/meta/Value;
            0   36     3        input  Ljdk/vm/ci/meta/JavaConstant;
            1   36     4          dst  Ljdk/vm/ci/code/Register;
            3   13     5        value  I
            5    6     6  maskedValue  I
            7    8     6  maskedValue  I
            9   10     6  maskedValue  I
           11   13     6  maskedValue  I
    MethodParameters:
        Name  Flags
      crb     
      masm    
      result  
      input   

  private static void const2stack(org.graalvm.compiler.lir.asm.CompilationResultBuilder, org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler, jdk.vm.ci.meta.Value, jdk.vm.ci.meta.JavaConstant);
    descriptor: (Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/JavaConstant;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=9, locals=9, args_size=4
        start local 0 // org.graalvm.compiler.lir.asm.CompilationResultBuilder crb
        start local 1 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler masm
        start local 2 // jdk.vm.ci.meta.Value result
        start local 3 // jdk.vm.ci.meta.JavaConstant constant
         0: .line 527
            aload 3 /* constant */
            invokeinterface jdk.vm.ci.meta.JavaConstant.isDefaultForKind:()Z
            ifne 1
            aload 3 /* constant */
            invokeinterface jdk.vm.ci.meta.JavaConstant.isNull:()Z
            ifeq 4
         1: .line 528
      StackMap locals:
      StackMap stack:
            aload 0 /* crb */
            aload 2 /* result */
            invokevirtual org.graalvm.compiler.lir.asm.CompilationResultBuilder.asAddress:(Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/asm/AbstractAddress;
            checkcast org.graalvm.compiler.asm.aarch64.AArch64Address
            astore 4 /* resultAddress */
        start local 4 // org.graalvm.compiler.asm.aarch64.AArch64Address resultAddress
         2: .line 529
            aload 0 /* crb */
            aload 1 /* masm */
            aload 2 /* result */
            invokevirtual jdk.vm.ci.meta.Value.getPlatformKind:()Ljdk/vm/ci/meta/PlatformKind;
            checkcast jdk.vm.ci.aarch64.AArch64Kind
            aload 4 /* resultAddress */
            getstatic jdk.vm.ci.aarch64.AArch64.zr:Ljdk/vm/ci/code/Register;
            iconst_1
            anewarray jdk.vm.ci.meta.Value
            dup
            iconst_0
            aload 2 /* result */
            aastore
            invokestatic org.graalvm.compiler.core.common.LIRKind.combine:([Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/core/common/LIRKind;
            invokevirtual jdk.vm.ci.code.Register.asValue:(Ljdk/vm/ci/meta/ValueKind;)Ljdk/vm/ci/code/RegisterValue;
            invokestatic org.graalvm.compiler.lir.aarch64.AArch64Move.emitStore:(Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;Ljdk/vm/ci/aarch64/AArch64Kind;Lorg/graalvm/compiler/asm/aarch64/AArch64Address;Ljdk/vm/ci/meta/Value;)V
        end local 4 // org.graalvm.compiler.asm.aarch64.AArch64Address resultAddress
         3: .line 530
            goto 16
         4: .line 531
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 4
            aconst_null
            astore 5
         5: aload 1 /* masm */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.getScratchRegister:()Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler$ScratchRegister;
            astore 6 /* sc */
        start local 6 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$ScratchRegister sc
         6: .line 532
            aload 6 /* sc */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$ScratchRegister.getRegister:()Ljdk/vm/ci/code/Register;
            iconst_1
            anewarray jdk.vm.ci.meta.Value
            dup
            iconst_0
            aload 2 /* result */
            aastore
            invokestatic org.graalvm.compiler.core.common.LIRKind.combine:([Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/core/common/LIRKind;
            invokevirtual jdk.vm.ci.code.Register.asValue:(Ljdk/vm/ci/meta/ValueKind;)Ljdk/vm/ci/code/RegisterValue;
            astore 7 /* scratchRegisterValue */
        start local 7 // jdk.vm.ci.meta.Value scratchRegisterValue
         7: .line 533
            aload 0 /* crb */
            aload 1 /* masm */
            aload 7 /* scratchRegisterValue */
            aload 3 /* constant */
            invokestatic org.graalvm.compiler.lir.aarch64.AArch64Move.const2reg:(Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/JavaConstant;)V
         8: .line 534
            aload 0 /* crb */
            aload 2 /* result */
            invokevirtual org.graalvm.compiler.lir.asm.CompilationResultBuilder.asAddress:(Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/asm/AbstractAddress;
            checkcast org.graalvm.compiler.asm.aarch64.AArch64Address
            astore 8 /* resultAddress */
        start local 8 // org.graalvm.compiler.asm.aarch64.AArch64Address resultAddress
         9: .line 535
            aload 0 /* crb */
            aload 1 /* masm */
            aload 2 /* result */
            invokevirtual jdk.vm.ci.meta.Value.getPlatformKind:()Ljdk/vm/ci/meta/PlatformKind;
            checkcast jdk.vm.ci.aarch64.AArch64Kind
            aload 8 /* resultAddress */
            aload 7 /* scratchRegisterValue */
            invokestatic org.graalvm.compiler.lir.aarch64.AArch64Move.emitStore:(Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;Ljdk/vm/ci/aarch64/AArch64Kind;Lorg/graalvm/compiler/asm/aarch64/AArch64Address;Ljdk/vm/ci/meta/Value;)V
        end local 8 // org.graalvm.compiler.asm.aarch64.AArch64Address resultAddress
        end local 7 // jdk.vm.ci.meta.Value scratchRegisterValue
        10: .line 536
            aload 6 /* sc */
            ifnull 16
            aload 6 /* sc */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$ScratchRegister.close:()V
            goto 16
      StackMap locals: org.graalvm.compiler.lir.asm.CompilationResultBuilder org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler jdk.vm.ci.meta.Value jdk.vm.ci.meta.JavaConstant java.lang.Throwable java.lang.Throwable org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$ScratchRegister
      StackMap stack: java.lang.Throwable
        11: astore 4
            aload 6 /* sc */
            ifnull 12
            aload 6 /* sc */
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$ScratchRegister.close:()V
        end local 6 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$ScratchRegister sc
      StackMap locals:
      StackMap stack:
        12: aload 4
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        13: astore 5
            aload 4
            ifnonnull 14
            aload 5
            astore 4
            goto 15
      StackMap locals:
      StackMap stack:
        14: aload 4
            aload 5
            if_acmpeq 15
            aload 4
            aload 5
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        15: aload 4
            athrow
        16: .line 538
      StackMap locals:
      StackMap stack:
            return
        end local 3 // jdk.vm.ci.meta.JavaConstant constant
        end local 2 // jdk.vm.ci.meta.Value result
        end local 1 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler masm
        end local 0 // org.graalvm.compiler.lir.asm.CompilationResultBuilder crb
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   17     0                   crb  Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;
            0   17     1                  masm  Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
            0   17     2                result  Ljdk/vm/ci/meta/Value;
            0   17     3              constant  Ljdk/vm/ci/meta/JavaConstant;
            2    3     4         resultAddress  Lorg/graalvm/compiler/asm/aarch64/AArch64Address;
            6   12     6                    sc  Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler$ScratchRegister;
            7   10     7  scratchRegisterValue  Ljdk/vm/ci/meta/Value;
            9   10     8         resultAddress  Lorg/graalvm/compiler/asm/aarch64/AArch64Address;
      Exception table:
        from    to  target  type
           6    10      11  any
           5    13      13  any
    MethodParameters:
          Name  Flags
      crb       
      masm      
      result    
      constant  

  private static org.graalvm.compiler.asm.aarch64.AArch64Address loadStackSlotAddress(org.graalvm.compiler.lir.asm.CompilationResultBuilder, org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler, jdk.vm.ci.code.StackSlot, jdk.vm.ci.meta.AllocatableValue);
    descriptor: (Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;Ljdk/vm/ci/code/StackSlot;Ljdk/vm/ci/meta/AllocatableValue;)Lorg/graalvm/compiler/asm/aarch64/AArch64Address;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=7, locals=7, args_size=4
        start local 0 // org.graalvm.compiler.lir.asm.CompilationResultBuilder crb
        start local 1 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler masm
        start local 2 // jdk.vm.ci.code.StackSlot slot
        start local 3 // jdk.vm.ci.meta.AllocatableValue scratch
         0: .line 555
            aload 0 /* crb */
            getfield org.graalvm.compiler.lir.asm.CompilationResultBuilder.frameMap:Lorg/graalvm/compiler/lir/framemap/FrameMap;
            aload 2 /* slot */
            invokevirtual org.graalvm.compiler.lir.framemap.FrameMap.offsetForStackSlot:(Ljdk/vm/ci/code/StackSlot;)I
            istore 4 /* displacement */
        start local 4 // int displacement
         1: .line 556
            aload 2 /* slot */
            invokevirtual jdk.vm.ci.code.StackSlot.getPlatformKind:()Ljdk/vm/ci/meta/PlatformKind;
            invokeinterface jdk.vm.ci.meta.PlatformKind.getSizeInBytes:()I
            istore 5 /* transferSize */
        start local 5 // int transferSize
         2: .line 557
            getstatic jdk.vm.ci.meta.Value.ILLEGAL:Ljdk/vm/ci/meta/AllocatableValue;
            aload 3 /* scratch */
            invokevirtual jdk.vm.ci.meta.AllocatableValue.equals:(Ljava/lang/Object;)Z
            ifeq 3
            getstatic jdk.vm.ci.aarch64.AArch64.zr:Ljdk/vm/ci/code/Register;
            goto 4
      StackMap locals: int int
      StackMap stack:
         3: aload 3 /* scratch */
            invokestatic jdk.vm.ci.code.ValueUtil.asRegister:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/code/Register;
      StackMap locals:
      StackMap stack: jdk.vm.ci.code.Register
         4: astore 6 /* scratchReg */
        start local 6 // jdk.vm.ci.code.Register scratchReg
         5: .line 558
            aload 1 /* masm */
            getstatic jdk.vm.ci.aarch64.AArch64.sp:Ljdk/vm/ci/code/Register;
            iload 4 /* displacement */
            i2l
            aload 6 /* scratchReg */
            iload 5 /* transferSize */
            iconst_0
            invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.makeAddress:(Ljdk/vm/ci/code/Register;JLjdk/vm/ci/code/Register;IZ)Lorg/graalvm/compiler/asm/aarch64/AArch64Address;
            areturn
        end local 6 // jdk.vm.ci.code.Register scratchReg
        end local 5 // int transferSize
        end local 4 // int displacement
        end local 3 // jdk.vm.ci.meta.AllocatableValue scratch
        end local 2 // jdk.vm.ci.code.StackSlot slot
        end local 1 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler masm
        end local 0 // org.graalvm.compiler.lir.asm.CompilationResultBuilder crb
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    6     0           crb  Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;
            0    6     1          masm  Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
            0    6     2          slot  Ljdk/vm/ci/code/StackSlot;
            0    6     3       scratch  Ljdk/vm/ci/meta/AllocatableValue;
            1    6     4  displacement  I
            2    6     5  transferSize  I
            5    6     6    scratchReg  Ljdk/vm/ci/code/Register;
    MethodParameters:
         Name  Flags
      crb      
      masm     
      slot     
      scratch  

  static int[] $SWITCH_TABLE$jdk$vm$ci$meta$JavaKind();
    descriptor: ()[I
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 67
            getstatic org.graalvm.compiler.lir.aarch64.AArch64Move.$SWITCH_TABLE$jdk$vm$ci$meta$JavaKind:[I
            dup
            ifnull 1
            areturn
      StackMap locals:
      StackMap stack: int[]
         1: pop
            invokestatic jdk.vm.ci.meta.JavaKind.values:()[Ljdk/vm/ci/meta/JavaKind;
            arraylength
            newarray 10
            astore 0
         2: aload 0
            getstatic jdk.vm.ci.meta.JavaKind.Boolean:Ljdk/vm/ci/meta/JavaKind;
            invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
            iconst_1
            iastore
         3: goto 5
      StackMap locals: int[]
      StackMap stack: java.lang.NoSuchFieldError
         4: pop
      StackMap locals:
      StackMap stack:
         5: aload 0
            getstatic jdk.vm.ci.meta.JavaKind.Byte:Ljdk/vm/ci/meta/JavaKind;
            invokevirtual jdk.vm.ci.meta.JavaKind.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 jdk.vm.ci.meta.JavaKind.Char:Ljdk/vm/ci/meta/JavaKind;
            invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
            iconst_4
            iastore
         9: goto 11
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        10: pop
      StackMap locals:
      StackMap stack:
        11: aload 0
            getstatic jdk.vm.ci.meta.JavaKind.Double:Ljdk/vm/ci/meta/JavaKind;
            invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
            bipush 8
            iastore
        12: goto 14
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        13: pop
      StackMap locals:
      StackMap stack:
        14: aload 0
            getstatic jdk.vm.ci.meta.JavaKind.Float:Ljdk/vm/ci/meta/JavaKind;
            invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
            bipush 6
            iastore
        15: goto 17
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        16: pop
      StackMap locals:
      StackMap stack:
        17: aload 0
            getstatic jdk.vm.ci.meta.JavaKind.Illegal:Ljdk/vm/ci/meta/JavaKind;
            invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
            bipush 11
            iastore
        18: goto 20
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        19: pop
      StackMap locals:
      StackMap stack:
        20: aload 0
            getstatic jdk.vm.ci.meta.JavaKind.Int:Ljdk/vm/ci/meta/JavaKind;
            invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
            iconst_5
            iastore
        21: goto 23
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        22: pop
      StackMap locals:
      StackMap stack:
        23: aload 0
            getstatic jdk.vm.ci.meta.JavaKind.Long:Ljdk/vm/ci/meta/JavaKind;
            invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
            bipush 7
            iastore
        24: goto 26
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        25: pop
      StackMap locals:
      StackMap stack:
        26: aload 0
            getstatic jdk.vm.ci.meta.JavaKind.Object:Ljdk/vm/ci/meta/JavaKind;
            invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
            bipush 9
            iastore
        27: goto 29
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        28: pop
      StackMap locals:
      StackMap stack:
        29: aload 0
            getstatic jdk.vm.ci.meta.JavaKind.Short:Ljdk/vm/ci/meta/JavaKind;
            invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
            iconst_3
            iastore
        30: goto 32
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        31: pop
      StackMap locals:
      StackMap stack:
        32: aload 0
            getstatic jdk.vm.ci.meta.JavaKind.Void:Ljdk/vm/ci/meta/JavaKind;
            invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
            bipush 10
            iastore
        33: goto 35
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        34: pop
      StackMap locals:
      StackMap stack:
        35: aload 0
            dup
            putstatic org.graalvm.compiler.lir.aarch64.AArch64Move.$SWITCH_TABLE$jdk$vm$ci$meta$JavaKind:[I
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.NoSuchFieldError
           5     6       7  Class java.lang.NoSuchFieldError
           8     9      10  Class java.lang.NoSuchFieldError
          11    12      13  Class java.lang.NoSuchFieldError
          14    15      16  Class java.lang.NoSuchFieldError
          17    18      19  Class java.lang.NoSuchFieldError
          20    21      22  Class java.lang.NoSuchFieldError
          23    24      25  Class java.lang.NoSuchFieldError
          26    27      28  Class java.lang.NoSuchFieldError
          29    30      31  Class java.lang.NoSuchFieldError
          32    33      34  Class java.lang.NoSuchFieldError
}
SourceFile: "AArch64Move.java"
NestMembers:
  org.graalvm.compiler.lir.aarch64.AArch64Move$CompareAndSwapOp  org.graalvm.compiler.lir.aarch64.AArch64Move$LoadAddressOp  org.graalvm.compiler.lir.aarch64.AArch64Move$LoadDataOp  org.graalvm.compiler.lir.aarch64.AArch64Move$LoadInlineConstant  org.graalvm.compiler.lir.aarch64.AArch64Move$LoadOp  org.graalvm.compiler.lir.aarch64.AArch64Move$MemOp  org.graalvm.compiler.lir.aarch64.AArch64Move$MembarOp  org.graalvm.compiler.lir.aarch64.AArch64Move$Move  org.graalvm.compiler.lir.aarch64.AArch64Move$NullCheckOp  org.graalvm.compiler.lir.aarch64.AArch64Move$StackLoadAddressOp  org.graalvm.compiler.lir.aarch64.AArch64Move$StoreConstantOp  org.graalvm.compiler.lir.aarch64.AArch64Move$StoreOp
InnerClasses:
  public ScratchRegister = org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$ScratchRegister of org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler
  public CompareAndSwapOp = org.graalvm.compiler.lir.aarch64.AArch64Move$CompareAndSwapOp of org.graalvm.compiler.lir.aarch64.AArch64Move
  public LoadAddressOp = org.graalvm.compiler.lir.aarch64.AArch64Move$LoadAddressOp of org.graalvm.compiler.lir.aarch64.AArch64Move
  public LoadDataOp = org.graalvm.compiler.lir.aarch64.AArch64Move$LoadDataOp of org.graalvm.compiler.lir.aarch64.AArch64Move
  public LoadInlineConstant = org.graalvm.compiler.lir.aarch64.AArch64Move$LoadInlineConstant of org.graalvm.compiler.lir.aarch64.AArch64Move
  public final LoadOp = org.graalvm.compiler.lir.aarch64.AArch64Move$LoadOp of org.graalvm.compiler.lir.aarch64.AArch64Move
  abstract MemOp = org.graalvm.compiler.lir.aarch64.AArch64Move$MemOp of org.graalvm.compiler.lir.aarch64.AArch64Move
  public MembarOp = org.graalvm.compiler.lir.aarch64.AArch64Move$MembarOp of org.graalvm.compiler.lir.aarch64.AArch64Move
  public Move = org.graalvm.compiler.lir.aarch64.AArch64Move$Move of org.graalvm.compiler.lir.aarch64.AArch64Move
  public final NullCheckOp = org.graalvm.compiler.lir.aarch64.AArch64Move$NullCheckOp of org.graalvm.compiler.lir.aarch64.AArch64Move
  public StackLoadAddressOp = org.graalvm.compiler.lir.aarch64.AArch64Move$StackLoadAddressOp of org.graalvm.compiler.lir.aarch64.AArch64Move
  public final StoreConstantOp = org.graalvm.compiler.lir.aarch64.AArch64Move$StoreConstantOp of org.graalvm.compiler.lir.aarch64.AArch64Move
  public StoreOp = org.graalvm.compiler.lir.aarch64.AArch64Move$StoreOp of org.graalvm.compiler.lir.aarch64.AArch64Move