public class org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64Op
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64Op
  super_class: java.lang.Object
{
  protected static final int P_0F;
    descriptor: I
    flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
    ConstantValue: 15

  protected static final int P_0F38;
    descriptor: I
    flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
    ConstantValue: 14351

  protected static final int P_0F3A;
    descriptor: I
    flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
    ConstantValue: 14863

  private final java.lang.String opcode;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  protected final int prefix1;
    descriptor: I
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  protected final int prefix2;
    descriptor: I
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  protected final int op;
    descriptor: I
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  private final boolean dstIsByte;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final boolean srcIsByte;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.graalvm.compiler.asm.amd64.AMD64Assembler$OpAssertion assertion;
    descriptor: Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$OpAssertion;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final jdk.vm.ci.amd64.AMD64$CPUFeature feature;
    descriptor: Ljdk/vm/ci/amd64/AMD64$CPUFeature;
    flags: (0x0012) ACC_PRIVATE, 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 622
            ldc Lorg/graalvm/compiler/asm/amd64/AMD64Assembler;
            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.amd64.AMD64Assembler$AMD64Op.$assertionsDisabled:Z
         3: .line 626
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  protected void <init>(java.lang.String, int, int, int, org.graalvm.compiler.asm.amd64.AMD64Assembler$OpAssertion, jdk.vm.ci.amd64.AMD64$CPUFeature);
    descriptor: (Ljava/lang/String;IIILorg/graalvm/compiler/asm/amd64/AMD64Assembler$OpAssertion;Ljdk/vm/ci/amd64/AMD64$CPUFeature;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=9, locals=7, args_size=7
        start local 0 // org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64Op this
        start local 1 // java.lang.String opcode
        start local 2 // int prefix1
        start local 3 // int prefix2
        start local 4 // int op
        start local 5 // org.graalvm.compiler.asm.amd64.AMD64Assembler$OpAssertion assertion
        start local 6 // jdk.vm.ci.amd64.AMD64$CPUFeature feature
         0: .line 641
            aload 0 /* this */
            aload 1 /* opcode */
            iload 2 /* prefix1 */
            iload 3 /* prefix2 */
            iload 4 /* op */
            aload 5 /* assertion */
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$OpAssertion.ByteAssertion:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$OpAssertion;
            if_acmpne 1
            iconst_1
            goto 2
      StackMap locals: uninitialized-this java.lang.String int int int org.graalvm.compiler.asm.amd64.AMD64Assembler$OpAssertion jdk.vm.ci.amd64.AMD64$CPUFeature
      StackMap stack: uninitialized-this java.lang.String int int int
         1: iconst_0
      StackMap locals: uninitialized-this java.lang.String int int int org.graalvm.compiler.asm.amd64.AMD64Assembler$OpAssertion jdk.vm.ci.amd64.AMD64$CPUFeature
      StackMap stack: uninitialized-this java.lang.String int int int int
         2: aload 5 /* assertion */
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$OpAssertion.ByteAssertion:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$OpAssertion;
            if_acmpne 3
            iconst_1
            goto 4
      StackMap locals: uninitialized-this java.lang.String int int int org.graalvm.compiler.asm.amd64.AMD64Assembler$OpAssertion jdk.vm.ci.amd64.AMD64$CPUFeature
      StackMap stack: uninitialized-this java.lang.String int int int int
         3: iconst_0
      StackMap locals: uninitialized-this java.lang.String int int int org.graalvm.compiler.asm.amd64.AMD64Assembler$OpAssertion jdk.vm.ci.amd64.AMD64$CPUFeature
      StackMap stack: uninitialized-this java.lang.String int int int int int
         4: aload 5 /* assertion */
            aload 6 /* feature */
            invokespecial org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64Op.<init>:(Ljava/lang/String;IIIZZLorg/graalvm/compiler/asm/amd64/AMD64Assembler$OpAssertion;Ljdk/vm/ci/amd64/AMD64$CPUFeature;)V
         5: .line 642
            return
        end local 6 // jdk.vm.ci.amd64.AMD64$CPUFeature feature
        end local 5 // org.graalvm.compiler.asm.amd64.AMD64Assembler$OpAssertion assertion
        end local 4 // int op
        end local 3 // int prefix2
        end local 2 // int prefix1
        end local 1 // java.lang.String opcode
        end local 0 // org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64Op this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    6     0       this  Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64Op;
            0    6     1     opcode  Ljava/lang/String;
            0    6     2    prefix1  I
            0    6     3    prefix2  I
            0    6     4         op  I
            0    6     5  assertion  Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$OpAssertion;
            0    6     6    feature  Ljdk/vm/ci/amd64/AMD64$CPUFeature;
    MethodParameters:
           Name  Flags
      opcode     
      prefix1    
      prefix2    
      op         
      assertion  
      feature    

  protected void <init>(java.lang.String, int, int, int, boolean, boolean, org.graalvm.compiler.asm.amd64.AMD64Assembler$OpAssertion, jdk.vm.ci.amd64.AMD64$CPUFeature);
    descriptor: (Ljava/lang/String;IIIZZLorg/graalvm/compiler/asm/amd64/AMD64Assembler$OpAssertion;Ljdk/vm/ci/amd64/AMD64$CPUFeature;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=9, args_size=9
        start local 0 // org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64Op this
        start local 1 // java.lang.String opcode
        start local 2 // int prefix1
        start local 3 // int prefix2
        start local 4 // int op
        start local 5 // boolean dstIsByte
        start local 6 // boolean srcIsByte
        start local 7 // org.graalvm.compiler.asm.amd64.AMD64Assembler$OpAssertion assertion
        start local 8 // jdk.vm.ci.amd64.AMD64$CPUFeature feature
         0: .line 644
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 645
            aload 0 /* this */
            aload 1 /* opcode */
            putfield org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64Op.opcode:Ljava/lang/String;
         2: .line 646
            aload 0 /* this */
            iload 2 /* prefix1 */
            putfield org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64Op.prefix1:I
         3: .line 647
            aload 0 /* this */
            iload 3 /* prefix2 */
            putfield org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64Op.prefix2:I
         4: .line 648
            aload 0 /* this */
            iload 4 /* op */
            putfield org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64Op.op:I
         5: .line 650
            aload 0 /* this */
            iload 5 /* dstIsByte */
            putfield org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64Op.dstIsByte:Z
         6: .line 651
            aload 0 /* this */
            iload 6 /* srcIsByte */
            putfield org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64Op.srcIsByte:Z
         7: .line 653
            aload 0 /* this */
            aload 7 /* assertion */
            putfield org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64Op.assertion:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$OpAssertion;
         8: .line 654
            aload 0 /* this */
            aload 8 /* feature */
            putfield org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64Op.feature:Ljdk/vm/ci/amd64/AMD64$CPUFeature;
         9: .line 655
            return
        end local 8 // jdk.vm.ci.amd64.AMD64$CPUFeature feature
        end local 7 // org.graalvm.compiler.asm.amd64.AMD64Assembler$OpAssertion assertion
        end local 6 // boolean srcIsByte
        end local 5 // boolean dstIsByte
        end local 4 // int op
        end local 3 // int prefix2
        end local 2 // int prefix1
        end local 1 // java.lang.String opcode
        end local 0 // org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64Op this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   10     0       this  Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64Op;
            0   10     1     opcode  Ljava/lang/String;
            0   10     2    prefix1  I
            0   10     3    prefix2  I
            0   10     4         op  I
            0   10     5  dstIsByte  Z
            0   10     6  srcIsByte  Z
            0   10     7  assertion  Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$OpAssertion;
            0   10     8    feature  Ljdk/vm/ci/amd64/AMD64$CPUFeature;
    MethodParameters:
           Name  Flags
      opcode     
      prefix1    
      prefix2    
      op         
      dstIsByte  
      srcIsByte  
      assertion  
      feature    

  protected final void emitOpcode(org.graalvm.compiler.asm.amd64.AMD64Assembler, org.graalvm.compiler.asm.amd64.AMD64Assembler$OperandSize, int, int, int);
    descriptor: (Lorg/graalvm/compiler/asm/amd64/AMD64Assembler;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$OperandSize;III)V
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=2, locals=7, args_size=6
        start local 0 // org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64Op this
        start local 1 // org.graalvm.compiler.asm.amd64.AMD64Assembler asm
        start local 2 // org.graalvm.compiler.asm.amd64.AMD64Assembler$OperandSize size
        start local 3 // int rxb
        start local 4 // int dstEnc
        start local 5 // int srcEnc
         0: .line 658
            aload 0 /* this */
            getfield org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64Op.prefix1:I
            ifeq 2
         1: .line 659
            aload 1 /* asm */
            aload 0 /* this */
            getfield org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64Op.prefix1:I
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64Assembler.emitByte:(I)V
         2: .line 661
      StackMap locals:
      StackMap stack:
            aload 2 /* size */
            getfield org.graalvm.compiler.asm.amd64.AMD64Assembler$OperandSize.sizePrefix:I
            ifeq 4
         3: .line 662
            aload 1 /* asm */
            aload 2 /* size */
            getfield org.graalvm.compiler.asm.amd64.AMD64Assembler$OperandSize.sizePrefix:I
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64Assembler.emitByte:(I)V
         4: .line 664
      StackMap locals:
      StackMap stack:
            bipush 64
            iload 3 /* rxb */
            ior
            istore 6 /* rexPrefix */
        start local 6 // int rexPrefix
         5: .line 665
            aload 2 /* size */
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$OperandSize.QWORD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$OperandSize;
            if_acmpne 7
         6: .line 666
            iload 6 /* rexPrefix */
            bipush 8
            ior
            istore 6 /* rexPrefix */
         7: .line 668
      StackMap locals: int
      StackMap stack:
            iload 6 /* rexPrefix */
            bipush 64
            if_icmpne 9
            aload 0 /* this */
            getfield org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64Op.dstIsByte:Z
            ifeq 8
            iload 4 /* dstEnc */
            iconst_4
            if_icmpge 9
      StackMap locals:
      StackMap stack:
         8: aload 0 /* this */
            getfield org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64Op.srcIsByte:Z
            ifeq 10
            iload 5 /* srcEnc */
            iconst_4
            if_icmplt 10
         9: .line 669
      StackMap locals:
      StackMap stack:
            aload 1 /* asm */
            iload 6 /* rexPrefix */
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64Assembler.emitByte:(I)V
        10: .line 671
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64Op.prefix2:I
            sipush 255
            if_icmple 13
        11: .line 672
            aload 1 /* asm */
            aload 0 /* this */
            getfield org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64Op.prefix2:I
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64Assembler.emitShort:(I)V
        12: .line 673
            goto 15
      StackMap locals:
      StackMap stack:
        13: aload 0 /* this */
            getfield org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64Op.prefix2:I
            ifle 15
        14: .line 674
            aload 1 /* asm */
            aload 0 /* this */
            getfield org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64Op.prefix2:I
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64Assembler.emitByte:(I)V
        15: .line 676
      StackMap locals:
      StackMap stack:
            aload 1 /* asm */
            aload 0 /* this */
            getfield org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64Op.op:I
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64Assembler.emitByte:(I)V
        16: .line 677
            return
        end local 6 // int rexPrefix
        end local 5 // int srcEnc
        end local 4 // int dstEnc
        end local 3 // int rxb
        end local 2 // org.graalvm.compiler.asm.amd64.AMD64Assembler$OperandSize size
        end local 1 // org.graalvm.compiler.asm.amd64.AMD64Assembler asm
        end local 0 // org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64Op this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   17     0       this  Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64Op;
            0   17     1        asm  Lorg/graalvm/compiler/asm/amd64/AMD64Assembler;
            0   17     2       size  Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$OperandSize;
            0   17     3        rxb  I
            0   17     4     dstEnc  I
            0   17     5     srcEnc  I
            5   17     6  rexPrefix  I
    MethodParameters:
        Name  Flags
      asm     
      size    
      rxb     
      dstEnc  
      srcEnc  

  protected final boolean verify(org.graalvm.compiler.asm.amd64.AMD64Assembler, org.graalvm.compiler.asm.amd64.AMD64Assembler$OperandSize, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register);
    descriptor: (Lorg/graalvm/compiler/asm/amd64/AMD64Assembler;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$OperandSize;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)Z
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=7, locals=5, args_size=5
        start local 0 // org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64Op this
        start local 1 // org.graalvm.compiler.asm.amd64.AMD64Assembler asm
        start local 2 // org.graalvm.compiler.asm.amd64.AMD64Assembler$OperandSize size
        start local 3 // jdk.vm.ci.code.Register resultReg
        start local 4 // jdk.vm.ci.code.Register inputReg
         0: .line 680
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64Op.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            getfield org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64Op.feature:Ljdk/vm/ci/amd64/AMD64$CPUFeature;
            ifnull 1
            aload 1 /* asm */
            aload 0 /* this */
            getfield org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64Op.feature:Ljdk/vm/ci/amd64/AMD64$CPUFeature;
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64Assembler.supports:(Ljdk/vm/ci/amd64/AMD64$CPUFeature;)Z
            ifne 1
            new java.lang.AssertionError
            dup
            ldc "unsupported feature %s required for %s"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            getfield org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64Op.feature:Ljdk/vm/ci/amd64/AMD64$CPUFeature;
            aastore
            dup
            iconst_1
            aload 0 /* this */
            getfield org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64Op.opcode:Ljava/lang/String;
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         1: .line 681
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64Op.$assertionsDisabled:Z
            ifne 2
            aload 0 /* this */
            getfield org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64Op.assertion:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$OpAssertion;
            aload 0 /* this */
            aload 2 /* size */
            aload 3 /* resultReg */
            aload 4 /* inputReg */
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64Assembler$OpAssertion.checkOperands:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64Op;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$OperandSize;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)Z
            ifne 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 682
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 4 // jdk.vm.ci.code.Register inputReg
        end local 3 // jdk.vm.ci.code.Register resultReg
        end local 2 // org.graalvm.compiler.asm.amd64.AMD64Assembler$OperandSize size
        end local 1 // org.graalvm.compiler.asm.amd64.AMD64Assembler asm
        end local 0 // org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64Op this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       this  Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64Op;
            0    3     1        asm  Lorg/graalvm/compiler/asm/amd64/AMD64Assembler;
            0    3     2       size  Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$OperandSize;
            0    3     3  resultReg  Ljdk/vm/ci/code/Register;
            0    3     4   inputReg  Ljdk/vm/ci/code/Register;
    MethodParameters:
           Name  Flags
      asm        
      size       
      resultReg  
      inputReg   

  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.amd64.AMD64Assembler$AMD64Op this
         0: .line 687
            aload 0 /* this */
            getfield org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64Op.opcode:Ljava/lang/String;
            areturn
        end local 0 // org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64Op this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64Op;
}
SourceFile: "AMD64Assembler.java"
NestHost: org.graalvm.compiler.asm.amd64.AMD64Assembler
InnerClasses:
  public final CPUFeature = jdk.vm.ci.amd64.AMD64$CPUFeature of jdk.vm.ci.amd64.AMD64
  public AMD64Op = org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64Op of org.graalvm.compiler.asm.amd64.AMD64Assembler
  private final OpAssertion = org.graalvm.compiler.asm.amd64.AMD64Assembler$OpAssertion of org.graalvm.compiler.asm.amd64.AMD64Assembler
  public OperandSize = org.graalvm.compiler.asm.amd64.AMD64Assembler$OperandSize of org.graalvm.compiler.asm.amd64.AMD64Assembler