public class org.graalvm.compiler.asm.aarch64.AArch64Assembler$SingleInstructionAnnotation 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.AArch64Assembler$SingleInstructionAnnotation
  super_class: org.graalvm.compiler.asm.aarch64.AArch64Assembler$PatchableCodeAnnotation
{
  public final int operandSizeBits;
    descriptor: I
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL

  public final int offsetBits;
    descriptor: I
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL

  public final org.graalvm.compiler.asm.aarch64.AArch64Assembler$Instruction instruction;
    descriptor: Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$Instruction;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL

  public final int shift;
    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 3100
            ldc Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler;
            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.AArch64Assembler$SingleInstructionAnnotation.$assertionsDisabled:Z
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  void <init>(int, org.graalvm.compiler.asm.aarch64.AArch64Assembler$Instruction, int, int, int);
    descriptor: (ILorg/graalvm/compiler/asm/aarch64/AArch64Assembler$Instruction;III)V
    flags: (0x0000) 
    Code:
      stack=2, locals=6, args_size=6
        start local 0 // org.graalvm.compiler.asm.aarch64.AArch64Assembler$SingleInstructionAnnotation this
        start local 1 // int instructionPosition
        start local 2 // org.graalvm.compiler.asm.aarch64.AArch64Assembler$Instruction instruction
        start local 3 // int operandSizeBits
        start local 4 // int offsetBits
        start local 5 // int shift
         0: .line 3111
            aload 0 /* this */
            iload 1 /* instructionPosition */
            invokespecial org.graalvm.compiler.asm.aarch64.AArch64Assembler$PatchableCodeAnnotation.<init>:(I)V
         1: .line 3112
            aload 0 /* this */
            iload 3 /* operandSizeBits */
            putfield org.graalvm.compiler.asm.aarch64.AArch64Assembler$SingleInstructionAnnotation.operandSizeBits:I
         2: .line 3113
            aload 0 /* this */
            iload 4 /* offsetBits */
            putfield org.graalvm.compiler.asm.aarch64.AArch64Assembler$SingleInstructionAnnotation.offsetBits:I
         3: .line 3114
            aload 0 /* this */
            iload 5 /* shift */
            putfield org.graalvm.compiler.asm.aarch64.AArch64Assembler$SingleInstructionAnnotation.shift:I
         4: .line 3115
            aload 0 /* this */
            aload 2 /* instruction */
            putfield org.graalvm.compiler.asm.aarch64.AArch64Assembler$SingleInstructionAnnotation.instruction:Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$Instruction;
         5: .line 3116
            return
        end local 5 // int shift
        end local 4 // int offsetBits
        end local 3 // int operandSizeBits
        end local 2 // org.graalvm.compiler.asm.aarch64.AArch64Assembler$Instruction instruction
        end local 1 // int instructionPosition
        end local 0 // org.graalvm.compiler.asm.aarch64.AArch64Assembler$SingleInstructionAnnotation this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    6     0                 this  Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$SingleInstructionAnnotation;
            0    6     1  instructionPosition  I
            0    6     2          instruction  Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$Instruction;
            0    6     3      operandSizeBits  I
            0    6     4           offsetBits  I
            0    6     5                shift  I
    MethodParameters:
                     Name  Flags
      instructionPosition  
      instruction          
      operandSizeBits      
      offsetBits           
      shift                

  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.AArch64Assembler$SingleInstructionAnnotation this
         0: .line 3120
            ldc "SINGLE_INSTRUCTION"
            areturn
        end local 0 // org.graalvm.compiler.asm.aarch64.AArch64Assembler$SingleInstructionAnnotation this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$SingleInstructionAnnotation;

  public void patch(int, int, byte[]);
    descriptor: (II[B)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=11, args_size=4
        start local 0 // org.graalvm.compiler.asm.aarch64.AArch64Assembler$SingleInstructionAnnotation this
        start local 1 // int codePos
        start local 2 // int relative
        start local 3 // byte[] code
         0: .line 3125
            iload 2 /* relative */
            istore 4 /* curValue */
        start local 4 // int curValue
         1: .line 3126
            getstatic org.graalvm.compiler.asm.aarch64.AArch64Assembler$SingleInstructionAnnotation.$assertionsDisabled:Z
            ifne 2
            iload 4 /* curValue */
            iconst_1
            aload 0 /* this */
            getfield org.graalvm.compiler.asm.aarch64.AArch64Assembler$SingleInstructionAnnotation.shift:I
            ishl
            iconst_1
            isub
            iand
            ifeq 2
            new java.lang.AssertionError
            dup
            ldc "relative offset has incorrect alignment"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         2: .line 3127
      StackMap locals: int
      StackMap stack:
            iload 4 /* curValue */
            aload 0 /* this */
            getfield org.graalvm.compiler.asm.aarch64.AArch64Assembler$SingleInstructionAnnotation.shift:I
            ishr
            istore 4 /* curValue */
         3: .line 3130
            getstatic org.graalvm.compiler.asm.aarch64.AArch64Assembler$SingleInstructionAnnotation.$assertionsDisabled:Z
            ifne 4
            aload 0 /* this */
            getfield org.graalvm.compiler.asm.aarch64.AArch64Assembler$SingleInstructionAnnotation.instruction:Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$Instruction;
            getstatic org.graalvm.compiler.asm.aarch64.AArch64Assembler$Instruction.BL:Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$Instruction;
            if_acmpeq 4
            new java.lang.AssertionError
            dup
            ldc "trying to patch an unexpected instruction"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         4: .line 3131
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.asm.aarch64.AArch64Assembler$SingleInstructionAnnotation.operandSizeBits:I
            iload 4 /* curValue */
            invokestatic org.graalvm.compiler.core.common.NumUtil.isSignedNbit:(II)Z
            ldc "value too large to fit into space"
            invokestatic org.graalvm.compiler.debug.GraalError.guarantee:(ZLjava/lang/String;)V
         5: .line 3135
            aload 0 /* this */
            getfield org.graalvm.compiler.asm.aarch64.AArch64Assembler$SingleInstructionAnnotation.operandSizeBits:I
            istore 5 /* bitsRemaining */
        start local 5 // int bitsRemaining
         6: .line 3136
            aload 0 /* this */
            getfield org.graalvm.compiler.asm.aarch64.AArch64Assembler$SingleInstructionAnnotation.offsetBits:I
            istore 6 /* offsetRemaining */
        start local 6 // int offsetRemaining
         7: .line 3138
            iconst_4
            newarray 10
            astore 7 /* bitsUsed */
        start local 7 // int[] bitsUsed
         8: .line 3139
            iconst_4
            newarray 10
            astore 8 /* offsets */
        start local 8 // int[] offsets
         9: .line 3141
            iconst_0
            istore 9 /* i */
        start local 9 // int i
        10: goto 20
        11: .line 3142
      StackMap locals: org.graalvm.compiler.asm.aarch64.AArch64Assembler$SingleInstructionAnnotation int int byte[] int int int int[] int[] int
      StackMap stack:
            iload 6 /* offsetRemaining */
            bipush 8
            if_icmplt 14
        12: .line 3143
            iinc 6 /* offsetRemaining */ -8
        13: .line 3144
            goto 19
        14: .line 3146
      StackMap locals:
      StackMap stack:
            aload 8 /* offsets */
            iload 9 /* i */
            iload 6 /* offsetRemaining */
            iastore
        15: .line 3148
            bipush 8
            iload 6 /* offsetRemaining */
            isub
            iload 5 /* bitsRemaining */
            invokestatic java.lang.Math.min:(II)I
            istore 10 /* bits */
        start local 10 // int bits
        16: .line 3149
            aload 7 /* bitsUsed */
            iload 9 /* i */
            iload 10 /* bits */
            iastore
        17: .line 3150
            iload 5 /* bitsRemaining */
            iload 10 /* bits */
            isub
            istore 5 /* bitsRemaining */
        18: .line 3152
            iconst_0
            istore 6 /* offsetRemaining */
        end local 10 // int bits
        19: .line 3141
      StackMap locals:
      StackMap stack:
            iinc 9 /* i */ 1
      StackMap locals:
      StackMap stack:
        20: iload 9 /* i */
            iconst_4
            if_icmplt 11
        end local 9 // int i
        21: .line 3154
            aload 3 /* code */
            aload 0 /* this */
            getfield org.graalvm.compiler.asm.aarch64.AArch64Assembler$SingleInstructionAnnotation.instructionPosition:I
            iload 4 /* curValue */
            aload 7 /* bitsUsed */
            aload 8 /* offsets */
            invokestatic org.graalvm.compiler.asm.aarch64.AArch64Assembler$PatcherUtil.writeBitSequence:([BII[I[I)V
        22: .line 3155
            return
        end local 8 // int[] offsets
        end local 7 // int[] bitsUsed
        end local 6 // int offsetRemaining
        end local 5 // int bitsRemaining
        end local 4 // int curValue
        end local 3 // byte[] code
        end local 2 // int relative
        end local 1 // int codePos
        end local 0 // org.graalvm.compiler.asm.aarch64.AArch64Assembler$SingleInstructionAnnotation this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   23     0             this  Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$SingleInstructionAnnotation;
            0   23     1          codePos  I
            0   23     2         relative  I
            0   23     3             code  [B
            1   23     4         curValue  I
            6   23     5    bitsRemaining  I
            7   23     6  offsetRemaining  I
            8   23     7         bitsUsed  [I
            9   23     8          offsets  [I
           10   21     9                i  I
           16   19    10             bits  I
    MethodParameters:
          Name  Flags
      codePos   
      relative  
      code      
}
SourceFile: "AArch64Assembler.java"
NestHost: org.graalvm.compiler.asm.aarch64.AArch64Assembler
InnerClasses:
  public final Instruction = org.graalvm.compiler.asm.aarch64.AArch64Assembler$Instruction of org.graalvm.compiler.asm.aarch64.AArch64Assembler
  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 SingleInstructionAnnotation = org.graalvm.compiler.asm.aarch64.AArch64Assembler$SingleInstructionAnnotation of org.graalvm.compiler.asm.aarch64.AArch64Assembler