public class org.graalvm.compiler.hotspot.amd64.AMD64HotSpotForeignCallsProvider extends org.graalvm.compiler.hotspot.meta.HotSpotHostForeignCallsProvider
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.graalvm.compiler.hotspot.amd64.AMD64HotSpotForeignCallsProvider
  super_class: org.graalvm.compiler.hotspot.meta.HotSpotHostForeignCallsProvider
{
  public static final org.graalvm.compiler.core.common.spi.ForeignCallDescriptor ARITHMETIC_SIN_STUB;
    descriptor: Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final org.graalvm.compiler.core.common.spi.ForeignCallDescriptor ARITHMETIC_COS_STUB;
    descriptor: Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final org.graalvm.compiler.core.common.spi.ForeignCallDescriptor ARITHMETIC_TAN_STUB;
    descriptor: Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final org.graalvm.compiler.core.common.spi.ForeignCallDescriptor ARITHMETIC_EXP_STUB;
    descriptor: Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final org.graalvm.compiler.core.common.spi.ForeignCallDescriptor ARITHMETIC_POW_STUB;
    descriptor: Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final org.graalvm.compiler.core.common.spi.ForeignCallDescriptor ARITHMETIC_LOG_STUB;
    descriptor: Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final org.graalvm.compiler.core.common.spi.ForeignCallDescriptor ARITHMETIC_LOG10_STUB;
    descriptor: Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  private final jdk.vm.ci.meta.Value[] nativeABICallerSaveRegisters;
    descriptor: [Ljdk/vm/ci/meta/Value;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=8, locals=0, args_size=0
         0: .line 60
            new org.graalvm.compiler.core.common.spi.ForeignCallDescriptor
            dup
            ldc "arithmeticSinStub"
            getstatic java.lang.Double.TYPE:Ljava/lang/Class;
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
            getstatic java.lang.Double.TYPE:Ljava/lang/Class;
            aastore
            invokespecial org.graalvm.compiler.core.common.spi.ForeignCallDescriptor.<init>:(Ljava/lang/String;Ljava/lang/Class;[Ljava/lang/Class;)V
            putstatic org.graalvm.compiler.hotspot.amd64.AMD64HotSpotForeignCallsProvider.ARITHMETIC_SIN_STUB:Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;
         1: .line 61
            new org.graalvm.compiler.core.common.spi.ForeignCallDescriptor
            dup
            ldc "arithmeticCosStub"
            getstatic java.lang.Double.TYPE:Ljava/lang/Class;
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
            getstatic java.lang.Double.TYPE:Ljava/lang/Class;
            aastore
            invokespecial org.graalvm.compiler.core.common.spi.ForeignCallDescriptor.<init>:(Ljava/lang/String;Ljava/lang/Class;[Ljava/lang/Class;)V
            putstatic org.graalvm.compiler.hotspot.amd64.AMD64HotSpotForeignCallsProvider.ARITHMETIC_COS_STUB:Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;
         2: .line 62
            new org.graalvm.compiler.core.common.spi.ForeignCallDescriptor
            dup
            ldc "arithmeticTanStub"
            getstatic java.lang.Double.TYPE:Ljava/lang/Class;
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
            getstatic java.lang.Double.TYPE:Ljava/lang/Class;
            aastore
            invokespecial org.graalvm.compiler.core.common.spi.ForeignCallDescriptor.<init>:(Ljava/lang/String;Ljava/lang/Class;[Ljava/lang/Class;)V
            putstatic org.graalvm.compiler.hotspot.amd64.AMD64HotSpotForeignCallsProvider.ARITHMETIC_TAN_STUB:Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;
         3: .line 63
            new org.graalvm.compiler.core.common.spi.ForeignCallDescriptor
            dup
            ldc "arithmeticExpStub"
            getstatic java.lang.Double.TYPE:Ljava/lang/Class;
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
            getstatic java.lang.Double.TYPE:Ljava/lang/Class;
            aastore
            invokespecial org.graalvm.compiler.core.common.spi.ForeignCallDescriptor.<init>:(Ljava/lang/String;Ljava/lang/Class;[Ljava/lang/Class;)V
            putstatic org.graalvm.compiler.hotspot.amd64.AMD64HotSpotForeignCallsProvider.ARITHMETIC_EXP_STUB:Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;
         4: .line 64
            new org.graalvm.compiler.core.common.spi.ForeignCallDescriptor
            dup
            ldc "arithmeticPowStub"
            getstatic java.lang.Double.TYPE:Ljava/lang/Class;
            iconst_2
            anewarray java.lang.Class
            dup
            iconst_0
            getstatic java.lang.Double.TYPE:Ljava/lang/Class;
            aastore
            dup
            iconst_1
            getstatic java.lang.Double.TYPE:Ljava/lang/Class;
            aastore
            invokespecial org.graalvm.compiler.core.common.spi.ForeignCallDescriptor.<init>:(Ljava/lang/String;Ljava/lang/Class;[Ljava/lang/Class;)V
            putstatic org.graalvm.compiler.hotspot.amd64.AMD64HotSpotForeignCallsProvider.ARITHMETIC_POW_STUB:Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;
         5: .line 65
            new org.graalvm.compiler.core.common.spi.ForeignCallDescriptor
            dup
            ldc "arithmeticLogStub"
            getstatic java.lang.Double.TYPE:Ljava/lang/Class;
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
            getstatic java.lang.Double.TYPE:Ljava/lang/Class;
            aastore
            invokespecial org.graalvm.compiler.core.common.spi.ForeignCallDescriptor.<init>:(Ljava/lang/String;Ljava/lang/Class;[Ljava/lang/Class;)V
            putstatic org.graalvm.compiler.hotspot.amd64.AMD64HotSpotForeignCallsProvider.ARITHMETIC_LOG_STUB:Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;
         6: .line 66
            new org.graalvm.compiler.core.common.spi.ForeignCallDescriptor
            dup
            ldc "arithmeticLog10Stub"
            getstatic java.lang.Double.TYPE:Ljava/lang/Class;
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
            getstatic java.lang.Double.TYPE:Ljava/lang/Class;
            aastore
            invokespecial org.graalvm.compiler.core.common.spi.ForeignCallDescriptor.<init>:(Ljava/lang/String;Ljava/lang/Class;[Ljava/lang/Class;)V
            putstatic org.graalvm.compiler.hotspot.amd64.AMD64HotSpotForeignCallsProvider.ARITHMETIC_LOG10_STUB:Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(jdk.vm.ci.hotspot.HotSpotJVMCIRuntimeProvider, org.graalvm.compiler.hotspot.HotSpotGraalRuntimeProvider, jdk.vm.ci.meta.MetaAccessProvider, jdk.vm.ci.code.CodeCacheProvider, org.graalvm.compiler.word.WordTypes, jdk.vm.ci.meta.Value[]);
    descriptor: (Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntimeProvider;Lorg/graalvm/compiler/hotspot/HotSpotGraalRuntimeProvider;Ljdk/vm/ci/meta/MetaAccessProvider;Ljdk/vm/ci/code/CodeCacheProvider;Lorg/graalvm/compiler/word/WordTypes;[Ljdk/vm/ci/meta/Value;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=7, args_size=7
        start local 0 // org.graalvm.compiler.hotspot.amd64.AMD64HotSpotForeignCallsProvider this
        start local 1 // jdk.vm.ci.hotspot.HotSpotJVMCIRuntimeProvider jvmciRuntime
        start local 2 // org.graalvm.compiler.hotspot.HotSpotGraalRuntimeProvider runtime
        start local 3 // jdk.vm.ci.meta.MetaAccessProvider metaAccess
        start local 4 // jdk.vm.ci.code.CodeCacheProvider codeCache
        start local 5 // org.graalvm.compiler.word.WordTypes wordTypes
        start local 6 // jdk.vm.ci.meta.Value[] nativeABICallerSaveRegisters
         0: .line 72
            aload 0 /* this */
            aload 1 /* jvmciRuntime */
            aload 2 /* runtime */
            aload 3 /* metaAccess */
            aload 4 /* codeCache */
            aload 5 /* wordTypes */
            invokespecial org.graalvm.compiler.hotspot.meta.HotSpotHostForeignCallsProvider.<init>:(Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntimeProvider;Lorg/graalvm/compiler/hotspot/HotSpotGraalRuntimeProvider;Ljdk/vm/ci/meta/MetaAccessProvider;Ljdk/vm/ci/code/CodeCacheProvider;Lorg/graalvm/compiler/word/WordTypes;)V
         1: .line 73
            aload 0 /* this */
            aload 6 /* nativeABICallerSaveRegisters */
            putfield org.graalvm.compiler.hotspot.amd64.AMD64HotSpotForeignCallsProvider.nativeABICallerSaveRegisters:[Ljdk/vm/ci/meta/Value;
         2: .line 74
            return
        end local 6 // jdk.vm.ci.meta.Value[] nativeABICallerSaveRegisters
        end local 5 // org.graalvm.compiler.word.WordTypes wordTypes
        end local 4 // jdk.vm.ci.code.CodeCacheProvider codeCache
        end local 3 // jdk.vm.ci.meta.MetaAccessProvider metaAccess
        end local 2 // org.graalvm.compiler.hotspot.HotSpotGraalRuntimeProvider runtime
        end local 1 // jdk.vm.ci.hotspot.HotSpotJVMCIRuntimeProvider jvmciRuntime
        end local 0 // org.graalvm.compiler.hotspot.amd64.AMD64HotSpotForeignCallsProvider this
      LocalVariableTable:
        Start  End  Slot                          Name  Signature
            0    3     0                          this  Lorg/graalvm/compiler/hotspot/amd64/AMD64HotSpotForeignCallsProvider;
            0    3     1                  jvmciRuntime  Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntimeProvider;
            0    3     2                       runtime  Lorg/graalvm/compiler/hotspot/HotSpotGraalRuntimeProvider;
            0    3     3                    metaAccess  Ljdk/vm/ci/meta/MetaAccessProvider;
            0    3     4                     codeCache  Ljdk/vm/ci/code/CodeCacheProvider;
            0    3     5                     wordTypes  Lorg/graalvm/compiler/word/WordTypes;
            0    3     6  nativeABICallerSaveRegisters  [Ljdk/vm/ci/meta/Value;
    MethodParameters:
                              Name  Flags
      jvmciRuntime                  
      runtime                       
      metaAccess                    
      codeCache                     
      wordTypes                     
      nativeABICallerSaveRegisters  

  public void initialize(org.graalvm.compiler.hotspot.meta.HotSpotProviders, org.graalvm.compiler.options.OptionValues);
    descriptor: (Lorg/graalvm/compiler/hotspot/meta/HotSpotProviders;Lorg/graalvm/compiler/options/OptionValues;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=15, locals=9, args_size=3
        start local 0 // org.graalvm.compiler.hotspot.amd64.AMD64HotSpotForeignCallsProvider this
        start local 1 // org.graalvm.compiler.hotspot.meta.HotSpotProviders providers
        start local 2 // org.graalvm.compiler.options.OptionValues options
         0: .line 78
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.amd64.AMD64HotSpotForeignCallsProvider.runtime:Lorg/graalvm/compiler/hotspot/HotSpotGraalRuntimeProvider;
            invokeinterface org.graalvm.compiler.hotspot.HotSpotGraalRuntimeProvider.getVMConfig:()Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
            astore 3 /* config */
        start local 3 // org.graalvm.compiler.hotspot.GraalHotSpotVMConfig config
         1: .line 79
            aload 1 /* providers */
            invokevirtual org.graalvm.compiler.hotspot.meta.HotSpotProviders.getCodeCache:()Ljdk/vm/ci/hotspot/HotSpotCodeCacheProvider;
            invokevirtual jdk.vm.ci.hotspot.HotSpotCodeCacheProvider.getTarget:()Ljdk/vm/ci/code/TargetDescription;
            astore 4 /* target */
        start local 4 // jdk.vm.ci.code.TargetDescription target
         2: .line 80
            aload 4 /* target */
            getfield jdk.vm.ci.code.TargetDescription.arch:Ljdk/vm/ci/code/Architecture;
            invokevirtual jdk.vm.ci.code.Architecture.getWordKind:()Ljdk/vm/ci/meta/PlatformKind;
            astore 5 /* word */
        start local 5 // jdk.vm.ci.meta.PlatformKind word
         3: .line 85
            getstatic jdk.vm.ci.amd64.AMD64.rax:Ljdk/vm/ci/code/Register;
            aload 5 /* word */
            invokestatic org.graalvm.compiler.core.common.LIRKind.reference:(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;
            astore 6 /* exception */
        start local 6 // jdk.vm.ci.code.RegisterValue exception
         4: .line 86
            getstatic jdk.vm.ci.amd64.AMD64.rdx:Ljdk/vm/ci/code/Register;
            aload 5 /* word */
            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;
            astore 7 /* exceptionPc */
        start local 7 // jdk.vm.ci.code.RegisterValue exceptionPc
         5: .line 87
            new jdk.vm.ci.code.CallingConvention
            dup
            iconst_0
            getstatic jdk.vm.ci.meta.Value.ILLEGAL:Ljdk/vm/ci/meta/AllocatableValue;
            iconst_2
            anewarray jdk.vm.ci.meta.AllocatableValue
            dup
            iconst_0
            aload 6 /* exception */
            aastore
            dup
            iconst_1
            aload 7 /* exceptionPc */
            aastore
            invokespecial jdk.vm.ci.code.CallingConvention.<init>:(ILjdk/vm/ci/meta/AllocatableValue;[Ljdk/vm/ci/meta/AllocatableValue;)V
            astore 8 /* exceptionCc */
        start local 8 // jdk.vm.ci.code.CallingConvention exceptionCc
         6: .line 88
            aload 0 /* this */
            new org.graalvm.compiler.hotspot.HotSpotForeignCallLinkageImpl
            dup
            getstatic org.graalvm.compiler.hotspot.HotSpotBackend.EXCEPTION_HANDLER:Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;
            lconst_0
            getstatic org.graalvm.compiler.hotspot.HotSpotForeignCallLinkage$RegisterEffect.PRESERVES_REGISTERS:Lorg/graalvm/compiler/hotspot/HotSpotForeignCallLinkage$RegisterEffect;
            getstatic org.graalvm.compiler.hotspot.HotSpotForeignCallLinkage$Transition.LEAF_NOFP:Lorg/graalvm/compiler/hotspot/HotSpotForeignCallLinkage$Transition;
            aload 8 /* exceptionCc */
            aconst_null
            iconst_0
            iconst_1
            anewarray org.graalvm.word.LocationIdentity
            dup
            iconst_0
            invokestatic org.graalvm.word.LocationIdentity.any:()Lorg/graalvm/word/LocationIdentity;
            aastore
            invokespecial org.graalvm.compiler.hotspot.HotSpotForeignCallLinkageImpl.<init>:(Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;JLorg/graalvm/compiler/hotspot/HotSpotForeignCallLinkage$RegisterEffect;Lorg/graalvm/compiler/hotspot/HotSpotForeignCallLinkage$Transition;Ljdk/vm/ci/code/CallingConvention;Ljdk/vm/ci/code/CallingConvention;Z[Lorg/graalvm/word/LocationIdentity;)V
            invokevirtual org.graalvm.compiler.hotspot.amd64.AMD64HotSpotForeignCallsProvider.register:(Lorg/graalvm/compiler/hotspot/HotSpotForeignCallLinkage;)Lorg/graalvm/compiler/hotspot/HotSpotForeignCallLinkage;
            pop
         7: .line 89
            aload 0 /* this */
            new org.graalvm.compiler.hotspot.HotSpotForeignCallLinkageImpl
            dup
            getstatic org.graalvm.compiler.hotspot.HotSpotBackend.EXCEPTION_HANDLER_IN_CALLER:Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;
            ldc -2401018188504514833
            getstatic org.graalvm.compiler.hotspot.HotSpotForeignCallLinkage$RegisterEffect.PRESERVES_REGISTERS:Lorg/graalvm/compiler/hotspot/HotSpotForeignCallLinkage$RegisterEffect;
            getstatic org.graalvm.compiler.hotspot.HotSpotForeignCallLinkage$Transition.LEAF_NOFP:Lorg/graalvm/compiler/hotspot/HotSpotForeignCallLinkage$Transition;
            aload 8 /* exceptionCc */
            aconst_null
            iconst_0
            iconst_1
            anewarray org.graalvm.word.LocationIdentity
            dup
            iconst_0
            invokestatic org.graalvm.word.LocationIdentity.any:()Lorg/graalvm/word/LocationIdentity;
            aastore
            invokespecial org.graalvm.compiler.hotspot.HotSpotForeignCallLinkageImpl.<init>:(Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;JLorg/graalvm/compiler/hotspot/HotSpotForeignCallLinkage$RegisterEffect;Lorg/graalvm/compiler/hotspot/HotSpotForeignCallLinkage$Transition;Ljdk/vm/ci/code/CallingConvention;Ljdk/vm/ci/code/CallingConvention;Z[Lorg/graalvm/word/LocationIdentity;)V
            invokevirtual org.graalvm.compiler.hotspot.amd64.AMD64HotSpotForeignCallsProvider.register:(Lorg/graalvm/compiler/hotspot/HotSpotForeignCallLinkage;)Lorg/graalvm/compiler/hotspot/HotSpotForeignCallLinkage;
            pop
         8: .line 91
            new org.graalvm.compiler.hotspot.amd64.AMD64MathStub
            dup
            getstatic org.graalvm.compiler.hotspot.amd64.AMD64HotSpotForeignCallsProvider.ARITHMETIC_LOG_STUB:Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;
            aload 2 /* options */
            aload 1 /* providers */
            aload 0 /* this */
            getstatic org.graalvm.compiler.hotspot.amd64.AMD64HotSpotForeignCallsProvider.ARITHMETIC_LOG_STUB:Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;
            iconst_1
            getstatic org.graalvm.compiler.hotspot.HotSpotForeignCallLinkage$Transition.LEAF:Lorg/graalvm/compiler/hotspot/HotSpotForeignCallLinkage$Transition;
            getstatic org.graalvm.compiler.hotspot.amd64.AMD64HotSpotForeignCallsProvider.NO_LOCATIONS:[Lorg/graalvm/word/LocationIdentity;
            invokevirtual org.graalvm.compiler.hotspot.amd64.AMD64HotSpotForeignCallsProvider.registerStubCall:(Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;ZLorg/graalvm/compiler/hotspot/HotSpotForeignCallLinkage$Transition;[Lorg/graalvm/word/LocationIdentity;)Lorg/graalvm/compiler/hotspot/HotSpotForeignCallLinkage;
            invokespecial org.graalvm.compiler.hotspot.amd64.AMD64MathStub.<init>:(Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;Lorg/graalvm/compiler/options/OptionValues;Lorg/graalvm/compiler/hotspot/meta/HotSpotProviders;Lorg/graalvm/compiler/hotspot/HotSpotForeignCallLinkage;)V
            invokestatic org.graalvm.compiler.hotspot.amd64.AMD64HotSpotForeignCallsProvider.link:(Lorg/graalvm/compiler/hotspot/stubs/Stub;)V
         9: .line 92
            new org.graalvm.compiler.hotspot.amd64.AMD64MathStub
            dup
            getstatic org.graalvm.compiler.hotspot.amd64.AMD64HotSpotForeignCallsProvider.ARITHMETIC_LOG10_STUB:Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;
            aload 2 /* options */
            aload 1 /* providers */
            aload 0 /* this */
            getstatic org.graalvm.compiler.hotspot.amd64.AMD64HotSpotForeignCallsProvider.ARITHMETIC_LOG10_STUB:Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;
            iconst_1
            getstatic org.graalvm.compiler.hotspot.HotSpotForeignCallLinkage$Transition.LEAF:Lorg/graalvm/compiler/hotspot/HotSpotForeignCallLinkage$Transition;
            getstatic org.graalvm.compiler.hotspot.amd64.AMD64HotSpotForeignCallsProvider.NO_LOCATIONS:[Lorg/graalvm/word/LocationIdentity;
            invokevirtual org.graalvm.compiler.hotspot.amd64.AMD64HotSpotForeignCallsProvider.registerStubCall:(Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;ZLorg/graalvm/compiler/hotspot/HotSpotForeignCallLinkage$Transition;[Lorg/graalvm/word/LocationIdentity;)Lorg/graalvm/compiler/hotspot/HotSpotForeignCallLinkage;
            invokespecial org.graalvm.compiler.hotspot.amd64.AMD64MathStub.<init>:(Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;Lorg/graalvm/compiler/options/OptionValues;Lorg/graalvm/compiler/hotspot/meta/HotSpotProviders;Lorg/graalvm/compiler/hotspot/HotSpotForeignCallLinkage;)V
            invokestatic org.graalvm.compiler.hotspot.amd64.AMD64HotSpotForeignCallsProvider.link:(Lorg/graalvm/compiler/hotspot/stubs/Stub;)V
        10: .line 93
            new org.graalvm.compiler.hotspot.amd64.AMD64MathStub
            dup
            getstatic org.graalvm.compiler.hotspot.amd64.AMD64HotSpotForeignCallsProvider.ARITHMETIC_SIN_STUB:Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;
            aload 2 /* options */
            aload 1 /* providers */
            aload 0 /* this */
            getstatic org.graalvm.compiler.hotspot.amd64.AMD64HotSpotForeignCallsProvider.ARITHMETIC_SIN_STUB:Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;
            iconst_1
            getstatic org.graalvm.compiler.hotspot.HotSpotForeignCallLinkage$Transition.LEAF:Lorg/graalvm/compiler/hotspot/HotSpotForeignCallLinkage$Transition;
            getstatic org.graalvm.compiler.hotspot.amd64.AMD64HotSpotForeignCallsProvider.NO_LOCATIONS:[Lorg/graalvm/word/LocationIdentity;
            invokevirtual org.graalvm.compiler.hotspot.amd64.AMD64HotSpotForeignCallsProvider.registerStubCall:(Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;ZLorg/graalvm/compiler/hotspot/HotSpotForeignCallLinkage$Transition;[Lorg/graalvm/word/LocationIdentity;)Lorg/graalvm/compiler/hotspot/HotSpotForeignCallLinkage;
            invokespecial org.graalvm.compiler.hotspot.amd64.AMD64MathStub.<init>:(Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;Lorg/graalvm/compiler/options/OptionValues;Lorg/graalvm/compiler/hotspot/meta/HotSpotProviders;Lorg/graalvm/compiler/hotspot/HotSpotForeignCallLinkage;)V
            invokestatic org.graalvm.compiler.hotspot.amd64.AMD64HotSpotForeignCallsProvider.link:(Lorg/graalvm/compiler/hotspot/stubs/Stub;)V
        11: .line 94
            new org.graalvm.compiler.hotspot.amd64.AMD64MathStub
            dup
            getstatic org.graalvm.compiler.hotspot.amd64.AMD64HotSpotForeignCallsProvider.ARITHMETIC_COS_STUB:Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;
            aload 2 /* options */
            aload 1 /* providers */
            aload 0 /* this */
            getstatic org.graalvm.compiler.hotspot.amd64.AMD64HotSpotForeignCallsProvider.ARITHMETIC_COS_STUB:Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;
            iconst_1
            getstatic org.graalvm.compiler.hotspot.HotSpotForeignCallLinkage$Transition.LEAF:Lorg/graalvm/compiler/hotspot/HotSpotForeignCallLinkage$Transition;
            getstatic org.graalvm.compiler.hotspot.amd64.AMD64HotSpotForeignCallsProvider.NO_LOCATIONS:[Lorg/graalvm/word/LocationIdentity;
            invokevirtual org.graalvm.compiler.hotspot.amd64.AMD64HotSpotForeignCallsProvider.registerStubCall:(Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;ZLorg/graalvm/compiler/hotspot/HotSpotForeignCallLinkage$Transition;[Lorg/graalvm/word/LocationIdentity;)Lorg/graalvm/compiler/hotspot/HotSpotForeignCallLinkage;
            invokespecial org.graalvm.compiler.hotspot.amd64.AMD64MathStub.<init>:(Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;Lorg/graalvm/compiler/options/OptionValues;Lorg/graalvm/compiler/hotspot/meta/HotSpotProviders;Lorg/graalvm/compiler/hotspot/HotSpotForeignCallLinkage;)V
            invokestatic org.graalvm.compiler.hotspot.amd64.AMD64HotSpotForeignCallsProvider.link:(Lorg/graalvm/compiler/hotspot/stubs/Stub;)V
        12: .line 95
            new org.graalvm.compiler.hotspot.amd64.AMD64MathStub
            dup
            getstatic org.graalvm.compiler.hotspot.amd64.AMD64HotSpotForeignCallsProvider.ARITHMETIC_TAN_STUB:Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;
            aload 2 /* options */
            aload 1 /* providers */
            aload 0 /* this */
            getstatic org.graalvm.compiler.hotspot.amd64.AMD64HotSpotForeignCallsProvider.ARITHMETIC_TAN_STUB:Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;
            iconst_1
            getstatic org.graalvm.compiler.hotspot.HotSpotForeignCallLinkage$Transition.LEAF:Lorg/graalvm/compiler/hotspot/HotSpotForeignCallLinkage$Transition;
            getstatic org.graalvm.compiler.hotspot.amd64.AMD64HotSpotForeignCallsProvider.NO_LOCATIONS:[Lorg/graalvm/word/LocationIdentity;
            invokevirtual org.graalvm.compiler.hotspot.amd64.AMD64HotSpotForeignCallsProvider.registerStubCall:(Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;ZLorg/graalvm/compiler/hotspot/HotSpotForeignCallLinkage$Transition;[Lorg/graalvm/word/LocationIdentity;)Lorg/graalvm/compiler/hotspot/HotSpotForeignCallLinkage;
            invokespecial org.graalvm.compiler.hotspot.amd64.AMD64MathStub.<init>:(Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;Lorg/graalvm/compiler/options/OptionValues;Lorg/graalvm/compiler/hotspot/meta/HotSpotProviders;Lorg/graalvm/compiler/hotspot/HotSpotForeignCallLinkage;)V
            invokestatic org.graalvm.compiler.hotspot.amd64.AMD64HotSpotForeignCallsProvider.link:(Lorg/graalvm/compiler/hotspot/stubs/Stub;)V
        13: .line 96
            new org.graalvm.compiler.hotspot.amd64.AMD64MathStub
            dup
            getstatic org.graalvm.compiler.hotspot.amd64.AMD64HotSpotForeignCallsProvider.ARITHMETIC_EXP_STUB:Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;
            aload 2 /* options */
            aload 1 /* providers */
            aload 0 /* this */
            getstatic org.graalvm.compiler.hotspot.amd64.AMD64HotSpotForeignCallsProvider.ARITHMETIC_EXP_STUB:Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;
            iconst_1
            getstatic org.graalvm.compiler.hotspot.HotSpotForeignCallLinkage$Transition.LEAF:Lorg/graalvm/compiler/hotspot/HotSpotForeignCallLinkage$Transition;
            getstatic org.graalvm.compiler.hotspot.amd64.AMD64HotSpotForeignCallsProvider.NO_LOCATIONS:[Lorg/graalvm/word/LocationIdentity;
            invokevirtual org.graalvm.compiler.hotspot.amd64.AMD64HotSpotForeignCallsProvider.registerStubCall:(Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;ZLorg/graalvm/compiler/hotspot/HotSpotForeignCallLinkage$Transition;[Lorg/graalvm/word/LocationIdentity;)Lorg/graalvm/compiler/hotspot/HotSpotForeignCallLinkage;
            invokespecial org.graalvm.compiler.hotspot.amd64.AMD64MathStub.<init>:(Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;Lorg/graalvm/compiler/options/OptionValues;Lorg/graalvm/compiler/hotspot/meta/HotSpotProviders;Lorg/graalvm/compiler/hotspot/HotSpotForeignCallLinkage;)V
            invokestatic org.graalvm.compiler.hotspot.amd64.AMD64HotSpotForeignCallsProvider.link:(Lorg/graalvm/compiler/hotspot/stubs/Stub;)V
        14: .line 97
            new org.graalvm.compiler.hotspot.amd64.AMD64MathStub
            dup
            getstatic org.graalvm.compiler.hotspot.amd64.AMD64HotSpotForeignCallsProvider.ARITHMETIC_POW_STUB:Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;
            aload 2 /* options */
            aload 1 /* providers */
            aload 0 /* this */
            getstatic org.graalvm.compiler.hotspot.amd64.AMD64HotSpotForeignCallsProvider.ARITHMETIC_POW_STUB:Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;
            iconst_1
            getstatic org.graalvm.compiler.hotspot.HotSpotForeignCallLinkage$Transition.LEAF:Lorg/graalvm/compiler/hotspot/HotSpotForeignCallLinkage$Transition;
            getstatic org.graalvm.compiler.hotspot.amd64.AMD64HotSpotForeignCallsProvider.NO_LOCATIONS:[Lorg/graalvm/word/LocationIdentity;
            invokevirtual org.graalvm.compiler.hotspot.amd64.AMD64HotSpotForeignCallsProvider.registerStubCall:(Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;ZLorg/graalvm/compiler/hotspot/HotSpotForeignCallLinkage$Transition;[Lorg/graalvm/word/LocationIdentity;)Lorg/graalvm/compiler/hotspot/HotSpotForeignCallLinkage;
            invokespecial org.graalvm.compiler.hotspot.amd64.AMD64MathStub.<init>:(Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;Lorg/graalvm/compiler/options/OptionValues;Lorg/graalvm/compiler/hotspot/meta/HotSpotProviders;Lorg/graalvm/compiler/hotspot/HotSpotForeignCallLinkage;)V
            invokestatic org.graalvm.compiler.hotspot.amd64.AMD64HotSpotForeignCallsProvider.link:(Lorg/graalvm/compiler/hotspot/stubs/Stub;)V
        15: .line 99
            aload 3 /* config */
            getfield org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.useCRC32Intrinsics:Z
            ifeq 17
        16: .line 101
            aload 0 /* this */
            getstatic org.graalvm.compiler.hotspot.replacements.CRC32Substitutions.UPDATE_BYTES_CRC32:Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;
            aload 3 /* config */
            getfield org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.updateBytesCRC32Stub:J
            getstatic jdk.vm.ci.hotspot.HotSpotCallingConventionType.NativeCall:Ljdk/vm/ci/hotspot/HotSpotCallingConventionType;
            getstatic org.graalvm.compiler.hotspot.HotSpotForeignCallLinkage$RegisterEffect.PRESERVES_REGISTERS:Lorg/graalvm/compiler/hotspot/HotSpotForeignCallLinkage$RegisterEffect;
            getstatic org.graalvm.compiler.hotspot.HotSpotForeignCallLinkage$Transition.LEAF_NOFP:Lorg/graalvm/compiler/hotspot/HotSpotForeignCallLinkage$Transition;
            iconst_0
            iconst_1
            anewarray org.graalvm.word.LocationIdentity
            dup
            iconst_0
            invokestatic org.graalvm.word.LocationIdentity.any:()Lorg/graalvm/word/LocationIdentity;
            aastore
            invokevirtual org.graalvm.compiler.hotspot.amd64.AMD64HotSpotForeignCallsProvider.registerForeignCall:(Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;JLjdk/vm/ci/code/CallingConvention$Type;Lorg/graalvm/compiler/hotspot/HotSpotForeignCallLinkage$RegisterEffect;Lorg/graalvm/compiler/hotspot/HotSpotForeignCallLinkage$Transition;Z[Lorg/graalvm/word/LocationIdentity;)Lorg/graalvm/compiler/hotspot/HotSpotForeignCallLinkage;
            pop
        17: .line 103
      StackMap locals: org.graalvm.compiler.hotspot.amd64.AMD64HotSpotForeignCallsProvider org.graalvm.compiler.hotspot.meta.HotSpotProviders org.graalvm.compiler.options.OptionValues org.graalvm.compiler.hotspot.GraalHotSpotVMConfig jdk.vm.ci.code.TargetDescription jdk.vm.ci.meta.PlatformKind jdk.vm.ci.code.RegisterValue jdk.vm.ci.code.RegisterValue jdk.vm.ci.code.CallingConvention
      StackMap stack:
            aload 3 /* config */
            getfield org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.useCRC32CIntrinsics:Z
            ifeq 19
        18: .line 104
            aload 0 /* this */
            getstatic org.graalvm.compiler.hotspot.replacements.CRC32CSubstitutions.UPDATE_BYTES_CRC32C:Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;
            aload 3 /* config */
            getfield org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.updateBytesCRC32C:J
            getstatic jdk.vm.ci.hotspot.HotSpotCallingConventionType.NativeCall:Ljdk/vm/ci/hotspot/HotSpotCallingConventionType;
            getstatic org.graalvm.compiler.hotspot.HotSpotForeignCallLinkage$RegisterEffect.PRESERVES_REGISTERS:Lorg/graalvm/compiler/hotspot/HotSpotForeignCallLinkage$RegisterEffect;
            getstatic org.graalvm.compiler.hotspot.HotSpotForeignCallLinkage$Transition.LEAF_NOFP:Lorg/graalvm/compiler/hotspot/HotSpotForeignCallLinkage$Transition;
            iconst_0
            iconst_1
            anewarray org.graalvm.word.LocationIdentity
            dup
            iconst_0
            invokestatic org.graalvm.word.LocationIdentity.any:()Lorg/graalvm/word/LocationIdentity;
            aastore
            invokevirtual org.graalvm.compiler.hotspot.amd64.AMD64HotSpotForeignCallsProvider.registerForeignCall:(Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;JLjdk/vm/ci/code/CallingConvention$Type;Lorg/graalvm/compiler/hotspot/HotSpotForeignCallLinkage$RegisterEffect;Lorg/graalvm/compiler/hotspot/HotSpotForeignCallLinkage$Transition;Z[Lorg/graalvm/word/LocationIdentity;)Lorg/graalvm/compiler/hotspot/HotSpotForeignCallLinkage;
            pop
        19: .line 107
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* providers */
            aload 2 /* options */
            invokespecial org.graalvm.compiler.hotspot.meta.HotSpotHostForeignCallsProvider.initialize:(Lorg/graalvm/compiler/hotspot/meta/HotSpotProviders;Lorg/graalvm/compiler/options/OptionValues;)V
        20: .line 108
            return
        end local 8 // jdk.vm.ci.code.CallingConvention exceptionCc
        end local 7 // jdk.vm.ci.code.RegisterValue exceptionPc
        end local 6 // jdk.vm.ci.code.RegisterValue exception
        end local 5 // jdk.vm.ci.meta.PlatformKind word
        end local 4 // jdk.vm.ci.code.TargetDescription target
        end local 3 // org.graalvm.compiler.hotspot.GraalHotSpotVMConfig config
        end local 2 // org.graalvm.compiler.options.OptionValues options
        end local 1 // org.graalvm.compiler.hotspot.meta.HotSpotProviders providers
        end local 0 // org.graalvm.compiler.hotspot.amd64.AMD64HotSpotForeignCallsProvider this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   21     0         this  Lorg/graalvm/compiler/hotspot/amd64/AMD64HotSpotForeignCallsProvider;
            0   21     1    providers  Lorg/graalvm/compiler/hotspot/meta/HotSpotProviders;
            0   21     2      options  Lorg/graalvm/compiler/options/OptionValues;
            1   21     3       config  Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
            2   21     4       target  Ljdk/vm/ci/code/TargetDescription;
            3   21     5         word  Ljdk/vm/ci/meta/PlatformKind;
            4   21     6    exception  Ljdk/vm/ci/code/RegisterValue;
            5   21     7  exceptionPc  Ljdk/vm/ci/code/RegisterValue;
            6   21     8  exceptionCc  Ljdk/vm/ci/code/CallingConvention;
    MethodParameters:
           Name  Flags
      providers  
      options    

  public jdk.vm.ci.meta.Value[] getNativeABICallerSaveRegisters();
    descriptor: ()[Ljdk/vm/ci/meta/Value;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.hotspot.amd64.AMD64HotSpotForeignCallsProvider this
         0: .line 112
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.amd64.AMD64HotSpotForeignCallsProvider.nativeABICallerSaveRegisters:[Ljdk/vm/ci/meta/Value;
            areturn
        end local 0 // org.graalvm.compiler.hotspot.amd64.AMD64HotSpotForeignCallsProvider this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/hotspot/amd64/AMD64HotSpotForeignCallsProvider;
}
SourceFile: "AMD64HotSpotForeignCallsProvider.java"
InnerClasses:
  public abstract Type = jdk.vm.ci.code.CallingConvention$Type of jdk.vm.ci.code.CallingConvention
  public final RegisterEffect = org.graalvm.compiler.hotspot.HotSpotForeignCallLinkage$RegisterEffect of org.graalvm.compiler.hotspot.HotSpotForeignCallLinkage
  public final Transition = org.graalvm.compiler.hotspot.HotSpotForeignCallLinkage$Transition of org.graalvm.compiler.hotspot.HotSpotForeignCallLinkage