public final class org.graalvm.compiler.lir.amd64.AMD64HotSpotHelper
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: org.graalvm.compiler.lir.amd64.AMD64HotSpotHelper
  super_class: java.lang.Object
{
  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.lir.amd64.AMD64HotSpotHelper this
         0: .line 40
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 41
            return
        end local 0 // org.graalvm.compiler.lir.amd64.AMD64HotSpotHelper this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/compiler/lir/amd64/AMD64HotSpotHelper;

  protected static jdk.vm.ci.meta.Value[] registersToValues(jdk.vm.ci.code.Register[]);
    descriptor: ([Ljdk/vm/ci/code/Register;)[Ljdk/vm/ci/meta/Value;
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=1
        start local 0 // jdk.vm.ci.code.Register[] registers
         0: .line 44
            aload 0 /* registers */
            arraylength
            anewarray jdk.vm.ci.meta.Value
            astore 1 /* temps */
        start local 1 // jdk.vm.ci.meta.Value[] temps
         1: .line 45
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         2: goto 12
         3: .line 46
      StackMap locals: jdk.vm.ci.meta.Value[] int
      StackMap stack:
            aload 0 /* registers */
            iload 2 /* i */
            aaload
            astore 3 /* register */
        start local 3 // jdk.vm.ci.code.Register register
         4: .line 47
            getstatic jdk.vm.ci.amd64.AMD64.CPU:Ljdk/vm/ci/code/Register$RegisterCategory;
            aload 3 /* register */
            invokevirtual jdk.vm.ci.code.Register.getRegisterCategory:()Ljdk/vm/ci/code/Register$RegisterCategory;
            invokevirtual jdk.vm.ci.code.Register$RegisterCategory.equals:(Ljava/lang/Object;)Z
            ifeq 7
         5: .line 48
            aload 1 /* temps */
            iload 2 /* i */
            aload 3 /* register */
            getstatic jdk.vm.ci.amd64.AMD64Kind.QWORD:Ljdk/vm/ci/amd64/AMD64Kind;
            invokestatic org.graalvm.compiler.core.common.LIRKind.value:(Ljdk/vm/ci/meta/PlatformKind;)Lorg/graalvm/compiler/core/common/LIRKind;
            invokevirtual jdk.vm.ci.code.Register.asValue:(Ljdk/vm/ci/meta/ValueKind;)Ljdk/vm/ci/code/RegisterValue;
            aastore
         6: .line 49
            goto 11
      StackMap locals: jdk.vm.ci.code.Register
      StackMap stack:
         7: getstatic jdk.vm.ci.amd64.AMD64.XMM:Ljdk/vm/ci/code/Register$RegisterCategory;
            aload 3 /* register */
            invokevirtual jdk.vm.ci.code.Register.getRegisterCategory:()Ljdk/vm/ci/code/Register$RegisterCategory;
            invokevirtual jdk.vm.ci.code.Register$RegisterCategory.equals:(Ljava/lang/Object;)Z
            ifeq 10
         8: .line 50
            aload 1 /* temps */
            iload 2 /* i */
            aload 3 /* register */
            getstatic jdk.vm.ci.amd64.AMD64Kind.DOUBLE:Ljdk/vm/ci/amd64/AMD64Kind;
            invokestatic org.graalvm.compiler.core.common.LIRKind.value:(Ljdk/vm/ci/meta/PlatformKind;)Lorg/graalvm/compiler/core/common/LIRKind;
            invokevirtual jdk.vm.ci.code.Register.asValue:(Ljdk/vm/ci/meta/ValueKind;)Ljdk/vm/ci/code/RegisterValue;
            aastore
         9: .line 51
            goto 11
        10: .line 52
      StackMap locals:
      StackMap stack:
            ldc "Unsupported register type in math stubs."
            invokestatic org.graalvm.compiler.debug.GraalError.shouldNotReachHere:(Ljava/lang/String;)Ljava/lang/RuntimeException;
            athrow
        end local 3 // jdk.vm.ci.code.Register register
        11: .line 45
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
        12: iload 2 /* i */
            aload 0 /* registers */
            arraylength
            if_icmplt 3
        end local 2 // int i
        13: .line 55
            aload 1 /* temps */
            areturn
        end local 1 // jdk.vm.ci.meta.Value[] temps
        end local 0 // jdk.vm.ci.code.Register[] registers
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   14     0  registers  [Ljdk/vm/ci/code/Register;
            1   14     1      temps  [Ljdk/vm/ci/meta/Value;
            2   13     2          i  I
            4   11     3   register  Ljdk/vm/ci/code/Register;
    MethodParameters:
           Name  Flags
      registers  

  protected static org.graalvm.compiler.asm.amd64.AMD64Address recordExternalAddress(org.graalvm.compiler.lir.asm.CompilationResultBuilder, org.graalvm.compiler.lir.asm.ArrayDataPointerConstant);
    descriptor: (Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;Lorg/graalvm/compiler/lir/asm/ArrayDataPointerConstant;)Lorg/graalvm/compiler/asm/amd64/AMD64Address;
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.lir.asm.CompilationResultBuilder crb
        start local 1 // org.graalvm.compiler.lir.asm.ArrayDataPointerConstant ptr
         0: .line 59
            aload 0 /* crb */
            aload 1 /* ptr */
            invokevirtual org.graalvm.compiler.lir.asm.CompilationResultBuilder.recordDataReferenceInCode:(Lorg/graalvm/compiler/core/common/type/DataPointerConstant;)Lorg/graalvm/compiler/asm/AbstractAddress;
            checkcast org.graalvm.compiler.asm.amd64.AMD64Address
            areturn
        end local 1 // org.graalvm.compiler.lir.asm.ArrayDataPointerConstant ptr
        end local 0 // org.graalvm.compiler.lir.asm.CompilationResultBuilder crb
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0   crb  Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;
            0    1     1   ptr  Lorg/graalvm/compiler/lir/asm/ArrayDataPointerConstant;
    MethodParameters:
      Name  Flags
      crb   
      ptr   

  protected static org.graalvm.compiler.lir.asm.ArrayDataPointerConstant pointerConstant(int, int[]);
    descriptor: (I[I)Lorg/graalvm/compiler/lir/asm/ArrayDataPointerConstant;
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // int alignment
        start local 1 // int[] ints
         0: .line 63
            new org.graalvm.compiler.lir.asm.ArrayDataPointerConstant
            dup
            aload 1 /* ints */
            iload 0 /* alignment */
            invokespecial org.graalvm.compiler.lir.asm.ArrayDataPointerConstant.<init>:([II)V
            areturn
        end local 1 // int[] ints
        end local 0 // int alignment
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0  alignment  I
            0    1     1       ints  [I
    MethodParameters:
           Name  Flags
      alignment  
      ints       
}
SourceFile: "AMD64HotSpotHelper.java"
InnerClasses:
  public RegisterCategory = jdk.vm.ci.code.Register$RegisterCategory of jdk.vm.ci.code.Register