public class org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$AdrpLdrMacroInstruction extends org.graalvm.compiler.asm.aarch64.AArch64Assembler$PatchableCodeAnnotation
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$AdrpLdrMacroInstruction
  super_class: org.graalvm.compiler.asm.aarch64.AArch64Assembler$PatchableCodeAnnotation
{
  public final int srcSize;
    descriptor: I
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL

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

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 2313
            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$AdrpLdrMacroInstruction.$assertionsDisabled:Z
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(int, int);
    descriptor: (II)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$AdrpLdrMacroInstruction this
        start local 1 // int position
        start local 2 // int srcSize
         0: .line 2317
            aload 0 /* this */
            iload 1 /* position */
            invokespecial org.graalvm.compiler.asm.aarch64.AArch64Assembler$PatchableCodeAnnotation.<init>:(I)V
         1: .line 2318
            aload 0 /* this */
            iload 2 /* srcSize */
            putfield org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$AdrpLdrMacroInstruction.srcSize:I
         2: .line 2319
            return
        end local 2 // int srcSize
        end local 1 // int position
        end local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$AdrpLdrMacroInstruction this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      this  Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler$AdrpLdrMacroInstruction;
            0    3     1  position  I
            0    3     2   srcSize  I
    MethodParameters:
          Name  Flags
      position  
      srcSize   

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$AdrpLdrMacroInstruction this
         0: .line 2323
            ldc "ADRP_LDR"
            areturn
        end local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$AdrpLdrMacroInstruction this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler$AdrpLdrMacroInstruction;

  public void patch(int, int, byte[]);
    descriptor: (II[B)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=15, args_size=4
        start local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$AdrpLdrMacroInstruction this
        start local 1 // int codePos
        start local 2 // int relative
        start local 3 // byte[] code
         0: .line 2328
            iconst_0
            istore 4 /* shiftSize */
        start local 4 // int shiftSize
         1: .line 2329
            aload 0 /* this */
            getfield org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$AdrpLdrMacroInstruction.srcSize:I
            lookupswitch { // 4
                    8: 8
                   16: 6
                   32: 4
                   64: 2
              default: 10
          }
         2: .line 2331
      StackMap locals: int
      StackMap stack:
            iconst_3
            istore 4 /* shiftSize */
         3: .line 2332
            goto 11
         4: .line 2334
      StackMap locals:
      StackMap stack:
            iconst_2
            istore 4 /* shiftSize */
         5: .line 2335
            goto 11
         6: .line 2337
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 4 /* shiftSize */
         7: .line 2338
            goto 11
         8: .line 2340
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 4 /* shiftSize */
         9: .line 2341
            goto 11
        10: .line 2343
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$AdrpLdrMacroInstruction.$assertionsDisabled:Z
            ifne 11
            new java.lang.AssertionError
            dup
            ldc "srcSize must be either 8, 16, 32, or 64"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        11: .line 2346
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$AdrpLdrMacroInstruction.instructionPosition:I
            istore 5 /* pos */
        start local 5 // int pos
        12: .line 2348
            iload 5 /* pos */
            iload 2 /* relative */
            iadd
            istore 6 /* targetAddress */
        start local 6 // int targetAddress
        13: .line 2349
            getstatic org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$AdrpLdrMacroInstruction.$assertionsDisabled:Z
            ifne 14
            iload 4 /* shiftSize */
            ifeq 14
            iload 6 /* targetAddress */
            iconst_1
            iload 4 /* shiftSize */
            ishl
            iconst_1
            isub
            iand
            ifeq 14
            new java.lang.AssertionError
            dup
            ldc "shift bits must be zero"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        14: .line 2351
      StackMap locals: int int
      StackMap stack:
            iload 6 /* targetAddress */
            iload 5 /* pos */
            sipush 4096
            invokestatic org.graalvm.compiler.asm.aarch64.AArch64Assembler$PatcherUtil.computeRelativePageDifference:(III)I
            istore 7 /* relativePageDifference */
        start local 7 // int relativePageDifference
        15: .line 2354
            iload 7 /* relativePageDifference */
            iconst_2
            ishr
            ldc 524287
            iand
            istore 8 /* curValue */
        start local 8 // int curValue
        16: .line 2355
            iconst_3
            newarray 10
            dup
            iconst_0
            iconst_3
            iastore
            dup
            iconst_1
            bipush 8
            iastore
            dup
            iconst_2
            bipush 8
            iastore
            astore 9 /* adrHiBits */
        start local 9 // int[] adrHiBits
        17: .line 2356
            iconst_3
            newarray 10
            dup
            iconst_0
            iconst_5
            iastore
            astore 10 /* adrHiOffsets */
        start local 10 // int[] adrHiOffsets
        18: .line 2357
            aload 3 /* code */
            iload 5 /* pos */
            iload 8 /* curValue */
            aload 9 /* adrHiBits */
            aload 10 /* adrHiOffsets */
            invokestatic org.graalvm.compiler.asm.aarch64.AArch64Assembler$PatcherUtil.writeBitSequence:([BII[I[I)V
        19: .line 2359
            iload 7 /* relativePageDifference */
            iconst_3
            iand
            istore 8 /* curValue */
        20: .line 2360
            iconst_1
            newarray 10
            dup
            iconst_0
            iconst_2
            iastore
            astore 11 /* adrLoBits */
        start local 11 // int[] adrLoBits
        21: .line 2361
            iconst_1
            newarray 10
            dup
            iconst_0
            iconst_5
            iastore
            astore 12 /* adrLoOffsets */
        start local 12 // int[] adrLoOffsets
        22: .line 2362
            aload 3 /* code */
            iload 5 /* pos */
            iconst_3
            iadd
            iload 8 /* curValue */
            aload 11 /* adrLoBits */
            aload 12 /* adrLoOffsets */
            invokestatic org.graalvm.compiler.asm.aarch64.AArch64Assembler$PatcherUtil.writeBitSequence:([BII[I[I)V
        23: .line 2364
            iload 6 /* targetAddress */
            iload 4 /* shiftSize */
            ishr
            sipush 511
            iand
            istore 8 /* curValue */
        24: .line 2365
            iconst_2
            newarray 10
            dup
            iconst_0
            bipush 6
            iastore
            dup
            iconst_1
            bipush 6
            iastore
            astore 13 /* ldrBits */
        start local 13 // int[] ldrBits
        25: .line 2366
            iconst_2
            newarray 10
            dup
            iconst_0
            iconst_2
            iastore
            astore 14 /* ldrOffsets */
        start local 14 // int[] ldrOffsets
        26: .line 2367
            aload 3 /* code */
            iload 5 /* pos */
            iconst_5
            iadd
            iload 8 /* curValue */
            aload 13 /* ldrBits */
            aload 14 /* ldrOffsets */
            invokestatic org.graalvm.compiler.asm.aarch64.AArch64Assembler$PatcherUtil.writeBitSequence:([BII[I[I)V
        27: .line 2368
            return
        end local 14 // int[] ldrOffsets
        end local 13 // int[] ldrBits
        end local 12 // int[] adrLoOffsets
        end local 11 // int[] adrLoBits
        end local 10 // int[] adrHiOffsets
        end local 9 // int[] adrHiBits
        end local 8 // int curValue
        end local 7 // int relativePageDifference
        end local 6 // int targetAddress
        end local 5 // int pos
        end local 4 // int shiftSize
        end local 3 // byte[] code
        end local 2 // int relative
        end local 1 // int codePos
        end local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$AdrpLdrMacroInstruction this
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0   28     0                    this  Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler$AdrpLdrMacroInstruction;
            0   28     1                 codePos  I
            0   28     2                relative  I
            0   28     3                    code  [B
            1   28     4               shiftSize  I
           12   28     5                     pos  I
           13   28     6           targetAddress  I
           15   28     7  relativePageDifference  I
           16   28     8                curValue  I
           17   28     9               adrHiBits  [I
           18   28    10            adrHiOffsets  [I
           21   28    11               adrLoBits  [I
           22   28    12            adrLoOffsets  [I
           25   28    13                 ldrBits  [I
           26   28    14              ldrOffsets  [I
    MethodParameters:
          Name  Flags
      codePos   
      relative  
      code      
}
SourceFile: "AArch64MacroAssembler.java"
NestHost: org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler
InnerClasses:
  public abstract PatchableCodeAnnotation = org.graalvm.compiler.asm.aarch64.AArch64Assembler$PatchableCodeAnnotation of org.graalvm.compiler.asm.aarch64.AArch64Assembler
  public PatcherUtil = org.graalvm.compiler.asm.aarch64.AArch64Assembler$PatcherUtil of org.graalvm.compiler.asm.aarch64.AArch64Assembler
  public AdrpLdrMacroInstruction = org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$AdrpLdrMacroInstruction of org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler