public abstract class org.graalvm.compiler.hotspot.HotSpotBackend extends org.graalvm.compiler.core.target.Backend implements org.graalvm.compiler.lir.framemap.FrameMap$ReferenceMapBuilderFactory
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: org.graalvm.compiler.hotspot.HotSpotBackend
  super_class: org.graalvm.compiler.core.target.Backend
{
  public static final org.graalvm.compiler.core.common.spi.ForeignCallDescriptor EXCEPTION_HANDLER;
    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 IC_MISS_HANDLER;
    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 WRONG_METHOD_HANDLER;
    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 UNWIND_EXCEPTION_TO_CALLER;
    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 EXCEPTION_HANDLER_IN_CALLER;
    descriptor: Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  private final org.graalvm.compiler.hotspot.HotSpotGraalRuntimeProvider runtime;
    descriptor: Lorg/graalvm/compiler/hotspot/HotSpotGraalRuntimeProvider;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  public static final org.graalvm.compiler.core.common.spi.ForeignCallDescriptor ENCRYPT_BLOCK;
    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 DECRYPT_BLOCK;
    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 DECRYPT_BLOCK_WITH_ORIGINAL_KEY;
    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 ENCRYPT;
    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 DECRYPT;
    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 DECRYPT_WITH_ORIGINAL_KEY;
    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 MULTIPLY_TO_LEN;
    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 MUL_ADD;
    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 MONTGOMERY_MULTIPLY;
    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 MONTGOMERY_SQUARE;
    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 SQUARE_TO_LEN;
    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 SHA_IMPL_COMPRESS;
    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 SHA2_IMPL_COMPRESS;
    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 SHA5_IMPL_COMPRESS;
    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 VM_ERROR;
    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 NEW_MULTI_ARRAY;
    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 NEW_MULTI_ARRAY_OR_NULL;
    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 NEW_ARRAY;
    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 NEW_ARRAY_OR_NULL;
    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 NEW_INSTANCE;
    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 NEW_INSTANCE_OR_NULL;
    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 RESOLVE_STRING_BY_SYMBOL;
    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 RESOLVE_DYNAMIC_INVOKE;
    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 RESOLVE_KLASS_BY_SYMBOL;
    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 INITIALIZE_KLASS_BY_SYMBOL;
    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 RESOLVE_METHOD_BY_SYMBOL_AND_LOAD_COUNTERS;
    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 INVOCATION_EVENT;
    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 BACKEDGE_EVENT;
    descriptor: Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, 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=8, locals=0, args_size=0
         0: .line 93
            ldc Lorg/graalvm/compiler/hotspot/HotSpotBackend;
            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.hotspot.HotSpotBackend.$assertionsDisabled:Z
         3: .line 110
            new org.graalvm.compiler.core.common.spi.ForeignCallDescriptor
            dup
            ldc "exceptionHandler"
            getstatic java.lang.Void.TYPE:Ljava/lang/Class;
            iconst_2
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Ljava/lang/Object;
            aastore
            dup
            iconst_1
            ldc Lorg/graalvm/compiler/word/Word;
            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.HotSpotBackend.EXCEPTION_HANDLER:Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;
         4: .line 115
            new org.graalvm.compiler.core.common.spi.ForeignCallDescriptor
            dup
            ldc "icMissHandler"
            getstatic java.lang.Void.TYPE:Ljava/lang/Class;
            iconst_0
            anewarray java.lang.Class
            invokespecial org.graalvm.compiler.core.common.spi.ForeignCallDescriptor.<init>:(Ljava/lang/String;Ljava/lang/Class;[Ljava/lang/Class;)V
            putstatic org.graalvm.compiler.hotspot.HotSpotBackend.IC_MISS_HANDLER:Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;
         5: .line 120
            new org.graalvm.compiler.core.common.spi.ForeignCallDescriptor
            dup
            ldc "wrongMethodHandler"
            getstatic java.lang.Void.TYPE:Ljava/lang/Class;
            iconst_0
            anewarray java.lang.Class
            invokespecial org.graalvm.compiler.core.common.spi.ForeignCallDescriptor.<init>:(Ljava/lang/String;Ljava/lang/Class;[Ljava/lang/Class;)V
            putstatic org.graalvm.compiler.hotspot.HotSpotBackend.WRONG_METHOD_HANDLER:Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;
         6: .line 126
            new org.graalvm.compiler.core.common.spi.ForeignCallDescriptor
            dup
            ldc "unwindExceptionToCaller"
            getstatic java.lang.Void.TYPE:Ljava/lang/Class;
            iconst_2
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Ljava/lang/Object;
            aastore
            dup
            iconst_1
            ldc Lorg/graalvm/compiler/word/Word;
            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.HotSpotBackend.UNWIND_EXCEPTION_TO_CALLER:Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;
         7: .line 131
            new org.graalvm.compiler.core.common.spi.ForeignCallDescriptor
            dup
            ldc "exceptionHandlerInCaller"
            getstatic java.lang.Void.TYPE:Ljava/lang/Class;
            iconst_2
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Ljava/lang/Object;
            aastore
            dup
            iconst_1
            ldc Lorg/graalvm/compiler/word/Word;
            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.HotSpotBackend.EXCEPTION_HANDLER_IN_CALLER:Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;
         8: .line 138
            new org.graalvm.compiler.core.common.spi.ForeignCallDescriptor
            dup
            ldc "encrypt_block"
            getstatic java.lang.Void.TYPE:Ljava/lang/Class;
            iconst_3
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Lorg/graalvm/compiler/word/Word;
            aastore
            dup
            iconst_1
            ldc Lorg/graalvm/compiler/word/Word;
            aastore
            dup
            iconst_2
            ldc Ljdk/internal/vm/compiler/word/Pointer;
            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.HotSpotBackend.ENCRYPT_BLOCK:Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;
         9: .line 143
            new org.graalvm.compiler.core.common.spi.ForeignCallDescriptor
            dup
            ldc "decrypt_block"
            getstatic java.lang.Void.TYPE:Ljava/lang/Class;
            iconst_3
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Lorg/graalvm/compiler/word/Word;
            aastore
            dup
            iconst_1
            ldc Lorg/graalvm/compiler/word/Word;
            aastore
            dup
            iconst_2
            ldc Ljdk/internal/vm/compiler/word/Pointer;
            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.HotSpotBackend.DECRYPT_BLOCK:Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;
        10: .line 148
            new org.graalvm.compiler.core.common.spi.ForeignCallDescriptor
            dup
            ldc "decrypt_block_with_original_key"
            getstatic java.lang.Void.TYPE:Ljava/lang/Class;
            iconst_4
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Lorg/graalvm/compiler/word/Word;
            aastore
            dup
            iconst_1
            ldc Lorg/graalvm/compiler/word/Word;
            aastore
            dup
            iconst_2
            ldc Ljdk/internal/vm/compiler/word/Pointer;
            aastore
            dup
            iconst_3
        11: .line 149
            ldc Ljdk/internal/vm/compiler/word/Pointer;
        12: .line 148
            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.HotSpotBackend.DECRYPT_BLOCK_WITH_ORIGINAL_KEY:Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;
        13: .line 154
            new org.graalvm.compiler.core.common.spi.ForeignCallDescriptor
            dup
            ldc "encrypt"
            getstatic java.lang.Void.TYPE:Ljava/lang/Class;
            iconst_5
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Lorg/graalvm/compiler/word/Word;
            aastore
            dup
            iconst_1
            ldc Lorg/graalvm/compiler/word/Word;
            aastore
            dup
            iconst_2
            ldc Ljdk/internal/vm/compiler/word/Pointer;
            aastore
            dup
            iconst_3
            ldc Ljdk/internal/vm/compiler/word/Pointer;
            aastore
            dup
            iconst_4
            getstatic java.lang.Integer.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.HotSpotBackend.ENCRYPT:Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;
        14: .line 159
            new org.graalvm.compiler.core.common.spi.ForeignCallDescriptor
            dup
            ldc "decrypt"
            getstatic java.lang.Void.TYPE:Ljava/lang/Class;
            iconst_5
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Lorg/graalvm/compiler/word/Word;
            aastore
            dup
            iconst_1
            ldc Lorg/graalvm/compiler/word/Word;
            aastore
            dup
            iconst_2
            ldc Ljdk/internal/vm/compiler/word/Pointer;
            aastore
            dup
            iconst_3
            ldc Ljdk/internal/vm/compiler/word/Pointer;
            aastore
            dup
            iconst_4
            getstatic java.lang.Integer.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.HotSpotBackend.DECRYPT:Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;
        15: .line 164
            new org.graalvm.compiler.core.common.spi.ForeignCallDescriptor
            dup
            ldc "decrypt_with_original_key"
            getstatic java.lang.Void.TYPE:Ljava/lang/Class;
            bipush 6
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Lorg/graalvm/compiler/word/Word;
            aastore
            dup
            iconst_1
            ldc Lorg/graalvm/compiler/word/Word;
            aastore
            dup
            iconst_2
            ldc Ljdk/internal/vm/compiler/word/Pointer;
            aastore
            dup
            iconst_3
            ldc Ljdk/internal/vm/compiler/word/Pointer;
            aastore
            dup
            iconst_4
        16: .line 165
            getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
            aastore
            dup
            iconst_5
            ldc Ljdk/internal/vm/compiler/word/Pointer;
        17: .line 164
            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.HotSpotBackend.DECRYPT_WITH_ORIGINAL_KEY:Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;
        18: .line 170
            new org.graalvm.compiler.core.common.spi.ForeignCallDescriptor
            dup
            ldc "multiplyToLen"
            getstatic java.lang.Void.TYPE:Ljava/lang/Class;
            bipush 6
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Lorg/graalvm/compiler/word/Word;
            aastore
            dup
            iconst_1
            getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
            aastore
            dup
            iconst_2
            ldc Lorg/graalvm/compiler/word/Word;
            aastore
            dup
            iconst_3
            getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
            aastore
            dup
            iconst_4
            ldc Lorg/graalvm/compiler/word/Word;
            aastore
            dup
            iconst_5
            getstatic java.lang.Integer.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.HotSpotBackend.MULTIPLY_TO_LEN:Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;
        19: .line 182
            new org.graalvm.compiler.core.common.spi.ForeignCallDescriptor
            dup
            ldc "mulAdd"
            getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
            iconst_5
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Lorg/graalvm/compiler/word/Word;
            aastore
            dup
            iconst_1
            ldc Lorg/graalvm/compiler/word/Word;
            aastore
            dup
            iconst_2
            getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
            aastore
            dup
            iconst_3
            getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
            aastore
            dup
            iconst_4
            getstatic java.lang.Integer.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.HotSpotBackend.MUL_ADD:Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;
        20: .line 194
            new org.graalvm.compiler.core.common.spi.ForeignCallDescriptor
            dup
            ldc "implMontgomeryMultiply"
            getstatic java.lang.Void.TYPE:Ljava/lang/Class;
            bipush 6
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Lorg/graalvm/compiler/word/Word;
            aastore
            dup
            iconst_1
            ldc Lorg/graalvm/compiler/word/Word;
            aastore
            dup
            iconst_2
            ldc Lorg/graalvm/compiler/word/Word;
            aastore
            dup
            iconst_3
            getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
            aastore
            dup
            iconst_4
            getstatic java.lang.Long.TYPE:Ljava/lang/Class;
            aastore
            dup
            iconst_5
        21: .line 195
            ldc Lorg/graalvm/compiler/word/Word;
        22: .line 194
            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.HotSpotBackend.MONTGOMERY_MULTIPLY:Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;
        23: .line 207
            new org.graalvm.compiler.core.common.spi.ForeignCallDescriptor
            dup
            ldc "implMontgomerySquare"
            getstatic java.lang.Void.TYPE:Ljava/lang/Class;
            iconst_5
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Lorg/graalvm/compiler/word/Word;
            aastore
            dup
            iconst_1
            ldc Lorg/graalvm/compiler/word/Word;
            aastore
            dup
            iconst_2
            getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
            aastore
            dup
            iconst_3
            getstatic java.lang.Long.TYPE:Ljava/lang/Class;
            aastore
            dup
            iconst_4
            ldc Lorg/graalvm/compiler/word/Word;
            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.HotSpotBackend.MONTGOMERY_SQUARE:Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;
        24: .line 219
            new org.graalvm.compiler.core.common.spi.ForeignCallDescriptor
            dup
            ldc "implSquareToLen"
            getstatic java.lang.Void.TYPE:Ljava/lang/Class;
            iconst_4
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Lorg/graalvm/compiler/word/Word;
            aastore
            dup
            iconst_1
            getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
            aastore
            dup
            iconst_2
            ldc Lorg/graalvm/compiler/word/Word;
            aastore
            dup
            iconst_3
            getstatic java.lang.Integer.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.HotSpotBackend.SQUARE_TO_LEN:Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;
        25: .line 231
            new org.graalvm.compiler.core.common.spi.ForeignCallDescriptor
            dup
            ldc "shaImplCompress"
            getstatic java.lang.Void.TYPE:Ljava/lang/Class;
            iconst_2
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Lorg/graalvm/compiler/word/Word;
            aastore
            dup
            iconst_1
            ldc Ljava/lang/Object;
            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.HotSpotBackend.SHA_IMPL_COMPRESS:Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;
        26: .line 243
            new org.graalvm.compiler.core.common.spi.ForeignCallDescriptor
            dup
            ldc "sha2ImplCompress"
            getstatic java.lang.Void.TYPE:Ljava/lang/Class;
            iconst_2
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Lorg/graalvm/compiler/word/Word;
            aastore
            dup
            iconst_1
            ldc Ljava/lang/Object;
            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.HotSpotBackend.SHA2_IMPL_COMPRESS:Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;
        27: .line 255
            new org.graalvm.compiler.core.common.spi.ForeignCallDescriptor
            dup
            ldc "sha5ImplCompress"
            getstatic java.lang.Void.TYPE:Ljava/lang/Class;
            iconst_2
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Lorg/graalvm/compiler/word/Word;
            aastore
            dup
            iconst_1
            ldc Ljava/lang/Object;
            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.HotSpotBackend.SHA5_IMPL_COMPRESS:Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;
        28: .line 274
            new org.graalvm.compiler.core.common.spi.ForeignCallDescriptor
            dup
            ldc "vm_error"
            getstatic java.lang.Void.TYPE:Ljava/lang/Class;
            iconst_3
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Ljava/lang/Object;
            aastore
            dup
            iconst_1
            ldc Ljava/lang/Object;
            aastore
            dup
            iconst_2
            getstatic java.lang.Long.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.HotSpotBackend.VM_ERROR:Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;
        29: .line 279
            new org.graalvm.compiler.core.common.spi.ForeignCallDescriptor
            dup
            ldc "new_multi_array"
            ldc Ljava/lang/Object;
            iconst_3
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Lorg/graalvm/compiler/hotspot/word/KlassPointer;
            aastore
            dup
            iconst_1
            getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
            aastore
            dup
            iconst_2
            ldc Lorg/graalvm/compiler/word/Word;
            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.HotSpotBackend.NEW_MULTI_ARRAY:Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;
        30: .line 284
            new org.graalvm.compiler.core.common.spi.ForeignCallDescriptor
            dup
            ldc "new_multi_array_or_null"
            ldc Ljava/lang/Object;
            iconst_3
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Lorg/graalvm/compiler/hotspot/word/KlassPointer;
            aastore
            dup
            iconst_1
            getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
            aastore
            dup
            iconst_2
            ldc Lorg/graalvm/compiler/word/Word;
            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.HotSpotBackend.NEW_MULTI_ARRAY_OR_NULL:Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;
        31: .line 289
            new org.graalvm.compiler.core.common.spi.ForeignCallDescriptor
            dup
            ldc "new_array"
            ldc Ljava/lang/Object;
            iconst_2
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Lorg/graalvm/compiler/hotspot/word/KlassPointer;
            aastore
            dup
            iconst_1
            getstatic java.lang.Integer.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.HotSpotBackend.NEW_ARRAY:Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;
        32: .line 294
            new org.graalvm.compiler.core.common.spi.ForeignCallDescriptor
            dup
            ldc "new_array_or_null"
            ldc Ljava/lang/Object;
            iconst_2
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Lorg/graalvm/compiler/hotspot/word/KlassPointer;
            aastore
            dup
            iconst_1
            getstatic java.lang.Integer.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.HotSpotBackend.NEW_ARRAY_OR_NULL:Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;
        33: .line 299
            new org.graalvm.compiler.core.common.spi.ForeignCallDescriptor
            dup
            ldc "new_instance"
            ldc Ljava/lang/Object;
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Lorg/graalvm/compiler/hotspot/word/KlassPointer;
            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.HotSpotBackend.NEW_INSTANCE:Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;
        34: .line 304
            new org.graalvm.compiler.core.common.spi.ForeignCallDescriptor
            dup
            ldc "new_instance_or_null"
            ldc Ljava/lang/Object;
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Lorg/graalvm/compiler/hotspot/word/KlassPointer;
            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.HotSpotBackend.NEW_INSTANCE_OR_NULL:Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;
        35: .line 309
            new org.graalvm.compiler.core.common.spi.ForeignCallDescriptor
            dup
            ldc "resolve_string_by_symbol"
            ldc Ljava/lang/Object;
            iconst_2
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Lorg/graalvm/compiler/word/Word;
            aastore
            dup
            iconst_1
            ldc Lorg/graalvm/compiler/word/Word;
            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.HotSpotBackend.RESOLVE_STRING_BY_SYMBOL:Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;
        36: .line 314
            new org.graalvm.compiler.core.common.spi.ForeignCallDescriptor
            dup
            ldc "resolve_dynamic_invoke"
            ldc Ljava/lang/Object;
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Lorg/graalvm/compiler/word/Word;
            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.HotSpotBackend.RESOLVE_DYNAMIC_INVOKE:Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;
        37: .line 319
            new org.graalvm.compiler.core.common.spi.ForeignCallDescriptor
            dup
            ldc "resolve_klass_by_symbol"
            ldc Lorg/graalvm/compiler/word/Word;
            iconst_2
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Lorg/graalvm/compiler/word/Word;
            aastore
            dup
            iconst_1
            ldc Lorg/graalvm/compiler/word/Word;
            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.HotSpotBackend.RESOLVE_KLASS_BY_SYMBOL:Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;
        38: .line 324
            new org.graalvm.compiler.core.common.spi.ForeignCallDescriptor
            dup
            ldc "initialize_klass_by_symbol"
            ldc Lorg/graalvm/compiler/word/Word;
            iconst_2
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Lorg/graalvm/compiler/word/Word;
            aastore
            dup
            iconst_1
            ldc Lorg/graalvm/compiler/word/Word;
            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.HotSpotBackend.INITIALIZE_KLASS_BY_SYMBOL:Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;
        39: .line 329
            new org.graalvm.compiler.core.common.spi.ForeignCallDescriptor
            dup
            ldc "resolve_method_by_symbol_and_load_counters"
            ldc Lorg/graalvm/compiler/word/Word;
            iconst_3
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Lorg/graalvm/compiler/word/Word;
            aastore
            dup
            iconst_1
            ldc Lorg/graalvm/compiler/word/Word;
            aastore
            dup
            iconst_2
        40: .line 330
            ldc Lorg/graalvm/compiler/word/Word;
        41: .line 329
            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.HotSpotBackend.RESOLVE_METHOD_BY_SYMBOL_AND_LOAD_COUNTERS:Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;
        42: .line 335
            new org.graalvm.compiler.core.common.spi.ForeignCallDescriptor
            dup
            ldc "invocation_event"
            getstatic java.lang.Void.TYPE:Ljava/lang/Class;
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Lorg/graalvm/compiler/hotspot/word/MethodCountersPointer;
            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.HotSpotBackend.INVOCATION_EVENT:Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;
        43: .line 336
            new org.graalvm.compiler.core.common.spi.ForeignCallDescriptor
            dup
            ldc "backedge_event"
            getstatic java.lang.Void.TYPE:Ljava/lang/Class;
            iconst_3
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Lorg/graalvm/compiler/hotspot/word/MethodCountersPointer;
            aastore
            dup
            iconst_1
            getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
            aastore
            dup
            iconst_2
            getstatic java.lang.Integer.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.HotSpotBackend.BACKEDGE_EVENT:Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static void multiplyToLenStub(org.graalvm.compiler.word.Word, int, org.graalvm.compiler.word.Word, int, org.graalvm.compiler.word.Word, int);
    descriptor: (Lorg/graalvm/compiler/word/Word;ILorg/graalvm/compiler/word/Word;ILorg/graalvm/compiler/word/Word;I)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=7, locals=6, args_size=6
        start local 0 // org.graalvm.compiler.word.Word xAddr
        start local 1 // int xlen
        start local 2 // org.graalvm.compiler.word.Word yAddr
        start local 3 // int ylen
        start local 4 // org.graalvm.compiler.word.Word zAddr
        start local 5 // int zLen
         0: .line 173
            getstatic org.graalvm.compiler.hotspot.HotSpotBackend.MULTIPLY_TO_LEN:Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;
            aload 0 /* xAddr */
            iload 1 /* xlen */
            aload 2 /* yAddr */
            iload 3 /* ylen */
            aload 4 /* zAddr */
            iload 5 /* zLen */
            invokestatic org.graalvm.compiler.hotspot.HotSpotBackend.multiplyToLenStub:(Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;Lorg/graalvm/compiler/word/Word;ILorg/graalvm/compiler/word/Word;ILorg/graalvm/compiler/word/Word;I)V
         1: .line 174
            return
        end local 5 // int zLen
        end local 4 // org.graalvm.compiler.word.Word zAddr
        end local 3 // int ylen
        end local 2 // org.graalvm.compiler.word.Word yAddr
        end local 1 // int xlen
        end local 0 // org.graalvm.compiler.word.Word xAddr
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0  xAddr  Lorg/graalvm/compiler/word/Word;
            0    2     1   xlen  I
            0    2     2  yAddr  Lorg/graalvm/compiler/word/Word;
            0    2     3   ylen  I
            0    2     4  zAddr  Lorg/graalvm/compiler/word/Word;
            0    2     5   zLen  I
    MethodParameters:
       Name  Flags
      xAddr  
      xlen   
      yAddr  
      ylen   
      zAddr  
      zLen   

  private static native void multiplyToLenStub(org.graalvm.compiler.core.common.spi.ForeignCallDescriptor, org.graalvm.compiler.word.Word, int, org.graalvm.compiler.word.Word, int, org.graalvm.compiler.word.Word, int);
    descriptor: (Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;Lorg/graalvm/compiler/word/Word;ILorg/graalvm/compiler/word/Word;ILorg/graalvm/compiler/word/Word;I)V
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
    RuntimeVisibleAnnotations: 
      org.graalvm.compiler.graph.Node$NodeIntrinsic(value = Lorg/graalvm/compiler/nodes/extended/ForeignCallNode;)
    RuntimeVisibleParameterAnnotations: 
      0:
        org.graalvm.compiler.graph.Node$ConstantNodeParameter()
      1:
      2:
      3:
      4:
      5:
      6:
    MethodParameters:
            Name  Flags
      descriptor  
      xIn         
      xLen        
      yIn         
      yLen        
      zIn         
      zLen        

  public static int mulAddStub(org.graalvm.compiler.word.Word, org.graalvm.compiler.word.Word, int, int, int);
    descriptor: (Lorg/graalvm/compiler/word/Word;Lorg/graalvm/compiler/word/Word;III)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=5, args_size=5
        start local 0 // org.graalvm.compiler.word.Word inAddr
        start local 1 // org.graalvm.compiler.word.Word outAddr
        start local 2 // int newOffset
        start local 3 // int len
        start local 4 // int k
         0: .line 185
            getstatic org.graalvm.compiler.hotspot.HotSpotBackend.MUL_ADD:Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;
            aload 0 /* inAddr */
            aload 1 /* outAddr */
            iload 2 /* newOffset */
            iload 3 /* len */
            iload 4 /* k */
            invokestatic org.graalvm.compiler.hotspot.HotSpotBackend.mulAddStub:(Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;Lorg/graalvm/compiler/word/Word;Lorg/graalvm/compiler/word/Word;III)I
            ireturn
        end local 4 // int k
        end local 3 // int len
        end local 2 // int newOffset
        end local 1 // org.graalvm.compiler.word.Word outAddr
        end local 0 // org.graalvm.compiler.word.Word inAddr
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0     inAddr  Lorg/graalvm/compiler/word/Word;
            0    1     1    outAddr  Lorg/graalvm/compiler/word/Word;
            0    1     2  newOffset  I
            0    1     3        len  I
            0    1     4          k  I
    MethodParameters:
           Name  Flags
      inAddr     
      outAddr    
      newOffset  
      len        
      k          

  private static native int mulAddStub(org.graalvm.compiler.core.common.spi.ForeignCallDescriptor, org.graalvm.compiler.word.Word, org.graalvm.compiler.word.Word, int, int, int);
    descriptor: (Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;Lorg/graalvm/compiler/word/Word;Lorg/graalvm/compiler/word/Word;III)I
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
    RuntimeVisibleAnnotations: 
      org.graalvm.compiler.graph.Node$NodeIntrinsic(value = Lorg/graalvm/compiler/nodes/extended/ForeignCallNode;)
    RuntimeVisibleParameterAnnotations: 
      0:
        org.graalvm.compiler.graph.Node$ConstantNodeParameter()
      1:
      2:
      3:
      4:
      5:
    MethodParameters:
            Name  Flags
      descriptor  
      inAddr      
      outAddr     
      newOffset   
      len         
      k           

  public static void implMontgomeryMultiply(org.graalvm.compiler.word.Word, org.graalvm.compiler.word.Word, org.graalvm.compiler.word.Word, int, long, org.graalvm.compiler.word.Word);
    descriptor: (Lorg/graalvm/compiler/word/Word;Lorg/graalvm/compiler/word/Word;Lorg/graalvm/compiler/word/Word;IJLorg/graalvm/compiler/word/Word;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=8, locals=7, args_size=6
        start local 0 // org.graalvm.compiler.word.Word aAddr
        start local 1 // org.graalvm.compiler.word.Word bAddr
        start local 2 // org.graalvm.compiler.word.Word nAddr
        start local 3 // int len
        start local 4 // long inv
        start local 6 // org.graalvm.compiler.word.Word productAddr
         0: .line 198
            getstatic org.graalvm.compiler.hotspot.HotSpotBackend.MONTGOMERY_MULTIPLY:Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;
            aload 0 /* aAddr */
            aload 1 /* bAddr */
            aload 2 /* nAddr */
            iload 3 /* len */
            lload 4 /* inv */
            aload 6 /* productAddr */
            invokestatic org.graalvm.compiler.hotspot.HotSpotBackend.implMontgomeryMultiply:(Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;Lorg/graalvm/compiler/word/Word;Lorg/graalvm/compiler/word/Word;Lorg/graalvm/compiler/word/Word;IJLorg/graalvm/compiler/word/Word;)V
         1: .line 199
            return
        end local 6 // org.graalvm.compiler.word.Word productAddr
        end local 4 // long inv
        end local 3 // int len
        end local 2 // org.graalvm.compiler.word.Word nAddr
        end local 1 // org.graalvm.compiler.word.Word bAddr
        end local 0 // org.graalvm.compiler.word.Word aAddr
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0        aAddr  Lorg/graalvm/compiler/word/Word;
            0    2     1        bAddr  Lorg/graalvm/compiler/word/Word;
            0    2     2        nAddr  Lorg/graalvm/compiler/word/Word;
            0    2     3          len  I
            0    2     4          inv  J
            0    2     6  productAddr  Lorg/graalvm/compiler/word/Word;
    MethodParameters:
             Name  Flags
      aAddr        
      bAddr        
      nAddr        
      len          
      inv          
      productAddr  

  private static native void implMontgomeryMultiply(org.graalvm.compiler.core.common.spi.ForeignCallDescriptor, org.graalvm.compiler.word.Word, org.graalvm.compiler.word.Word, org.graalvm.compiler.word.Word, int, long, org.graalvm.compiler.word.Word);
    descriptor: (Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;Lorg/graalvm/compiler/word/Word;Lorg/graalvm/compiler/word/Word;Lorg/graalvm/compiler/word/Word;IJLorg/graalvm/compiler/word/Word;)V
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
    RuntimeVisibleAnnotations: 
      org.graalvm.compiler.graph.Node$NodeIntrinsic(value = Lorg/graalvm/compiler/nodes/extended/ForeignCallNode;)
    RuntimeVisibleParameterAnnotations: 
      0:
        org.graalvm.compiler.graph.Node$ConstantNodeParameter()
      1:
      2:
      3:
      4:
      5:
      6:
    MethodParameters:
             Name  Flags
      descriptor   
      aAddr        
      bAddr        
      nAddr        
      len          
      inv          
      productAddr  

  public static void implMontgomerySquare(org.graalvm.compiler.word.Word, org.graalvm.compiler.word.Word, int, long, org.graalvm.compiler.word.Word);
    descriptor: (Lorg/graalvm/compiler/word/Word;Lorg/graalvm/compiler/word/Word;IJLorg/graalvm/compiler/word/Word;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=7, locals=6, args_size=5
        start local 0 // org.graalvm.compiler.word.Word aAddr
        start local 1 // org.graalvm.compiler.word.Word nAddr
        start local 2 // int len
        start local 3 // long inv
        start local 5 // org.graalvm.compiler.word.Word productAddr
         0: .line 210
            getstatic org.graalvm.compiler.hotspot.HotSpotBackend.MONTGOMERY_SQUARE:Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;
            aload 0 /* aAddr */
            aload 1 /* nAddr */
            iload 2 /* len */
            lload 3 /* inv */
            aload 5 /* productAddr */
            invokestatic org.graalvm.compiler.hotspot.HotSpotBackend.implMontgomerySquare:(Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;Lorg/graalvm/compiler/word/Word;Lorg/graalvm/compiler/word/Word;IJLorg/graalvm/compiler/word/Word;)V
         1: .line 211
            return
        end local 5 // org.graalvm.compiler.word.Word productAddr
        end local 3 // long inv
        end local 2 // int len
        end local 1 // org.graalvm.compiler.word.Word nAddr
        end local 0 // org.graalvm.compiler.word.Word aAddr
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0        aAddr  Lorg/graalvm/compiler/word/Word;
            0    2     1        nAddr  Lorg/graalvm/compiler/word/Word;
            0    2     2          len  I
            0    2     3          inv  J
            0    2     5  productAddr  Lorg/graalvm/compiler/word/Word;
    MethodParameters:
             Name  Flags
      aAddr        
      nAddr        
      len          
      inv          
      productAddr  

  private static native void implMontgomerySquare(org.graalvm.compiler.core.common.spi.ForeignCallDescriptor, org.graalvm.compiler.word.Word, org.graalvm.compiler.word.Word, int, long, org.graalvm.compiler.word.Word);
    descriptor: (Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;Lorg/graalvm/compiler/word/Word;Lorg/graalvm/compiler/word/Word;IJLorg/graalvm/compiler/word/Word;)V
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
    RuntimeVisibleAnnotations: 
      org.graalvm.compiler.graph.Node$NodeIntrinsic(value = Lorg/graalvm/compiler/nodes/extended/ForeignCallNode;)
    RuntimeVisibleParameterAnnotations: 
      0:
        org.graalvm.compiler.graph.Node$ConstantNodeParameter()
      1:
      2:
      3:
      4:
      5:
    MethodParameters:
             Name  Flags
      descriptor   
      aAddr        
      nAddr        
      len          
      inv          
      productAddr  

  public static void implSquareToLen(org.graalvm.compiler.word.Word, int, org.graalvm.compiler.word.Word, int);
    descriptor: (Lorg/graalvm/compiler/word/Word;ILorg/graalvm/compiler/word/Word;I)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // org.graalvm.compiler.word.Word xAddr
        start local 1 // int len
        start local 2 // org.graalvm.compiler.word.Word zAddr
        start local 3 // int zLen
         0: .line 222
            getstatic org.graalvm.compiler.hotspot.HotSpotBackend.SQUARE_TO_LEN:Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;
            aload 0 /* xAddr */
            iload 1 /* len */
            aload 2 /* zAddr */
            iload 3 /* zLen */
            invokestatic org.graalvm.compiler.hotspot.HotSpotBackend.implSquareToLen:(Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;Lorg/graalvm/compiler/word/Word;ILorg/graalvm/compiler/word/Word;I)V
         1: .line 223
            return
        end local 3 // int zLen
        end local 2 // org.graalvm.compiler.word.Word zAddr
        end local 1 // int len
        end local 0 // org.graalvm.compiler.word.Word xAddr
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0  xAddr  Lorg/graalvm/compiler/word/Word;
            0    2     1    len  I
            0    2     2  zAddr  Lorg/graalvm/compiler/word/Word;
            0    2     3   zLen  I
    MethodParameters:
       Name  Flags
      xAddr  
      len    
      zAddr  
      zLen   

  private static native void implSquareToLen(org.graalvm.compiler.core.common.spi.ForeignCallDescriptor, org.graalvm.compiler.word.Word, int, org.graalvm.compiler.word.Word, int);
    descriptor: (Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;Lorg/graalvm/compiler/word/Word;ILorg/graalvm/compiler/word/Word;I)V
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
    RuntimeVisibleAnnotations: 
      org.graalvm.compiler.graph.Node$NodeIntrinsic(value = Lorg/graalvm/compiler/nodes/extended/ForeignCallNode;)
    RuntimeVisibleParameterAnnotations: 
      0:
        org.graalvm.compiler.graph.Node$ConstantNodeParameter()
      1:
      2:
      3:
      4:
    MethodParameters:
            Name  Flags
      descriptor  
      xAddr       
      len         
      zAddr       
      zLen        

  public static void shaImplCompressStub(org.graalvm.compiler.word.Word, java.lang.Object);
    descriptor: (Lorg/graalvm/compiler/word/Word;Ljava/lang/Object;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.word.Word bufAddr
        start local 1 // java.lang.Object state
         0: .line 234
            getstatic org.graalvm.compiler.hotspot.HotSpotBackend.SHA_IMPL_COMPRESS:Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;
            aload 0 /* bufAddr */
            aload 1 /* state */
            invokestatic org.graalvm.compiler.hotspot.HotSpotBackend.shaImplCompressStub:(Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;Lorg/graalvm/compiler/word/Word;Ljava/lang/Object;)V
         1: .line 235
            return
        end local 1 // java.lang.Object state
        end local 0 // org.graalvm.compiler.word.Word bufAddr
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0  bufAddr  Lorg/graalvm/compiler/word/Word;
            0    2     1    state  Ljava/lang/Object;
    MethodParameters:
         Name  Flags
      bufAddr  
      state    

  private static native void shaImplCompressStub(org.graalvm.compiler.core.common.spi.ForeignCallDescriptor, org.graalvm.compiler.word.Word, java.lang.Object);
    descriptor: (Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;Lorg/graalvm/compiler/word/Word;Ljava/lang/Object;)V
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
    RuntimeVisibleAnnotations: 
      org.graalvm.compiler.graph.Node$NodeIntrinsic(value = Lorg/graalvm/compiler/nodes/extended/ForeignCallNode;)
    RuntimeVisibleParameterAnnotations: 
      0:
        org.graalvm.compiler.graph.Node$ConstantNodeParameter()
      1:
      2:
    MethodParameters:
            Name  Flags
      descriptor  
      bufAddr     
      state       

  public static void sha2ImplCompressStub(org.graalvm.compiler.word.Word, java.lang.Object);
    descriptor: (Lorg/graalvm/compiler/word/Word;Ljava/lang/Object;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.word.Word bufAddr
        start local 1 // java.lang.Object state
         0: .line 246
            getstatic org.graalvm.compiler.hotspot.HotSpotBackend.SHA2_IMPL_COMPRESS:Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;
            aload 0 /* bufAddr */
            aload 1 /* state */
            invokestatic org.graalvm.compiler.hotspot.HotSpotBackend.sha2ImplCompressStub:(Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;Lorg/graalvm/compiler/word/Word;Ljava/lang/Object;)V
         1: .line 247
            return
        end local 1 // java.lang.Object state
        end local 0 // org.graalvm.compiler.word.Word bufAddr
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0  bufAddr  Lorg/graalvm/compiler/word/Word;
            0    2     1    state  Ljava/lang/Object;
    MethodParameters:
         Name  Flags
      bufAddr  
      state    

  private static native void sha2ImplCompressStub(org.graalvm.compiler.core.common.spi.ForeignCallDescriptor, org.graalvm.compiler.word.Word, java.lang.Object);
    descriptor: (Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;Lorg/graalvm/compiler/word/Word;Ljava/lang/Object;)V
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
    RuntimeVisibleAnnotations: 
      org.graalvm.compiler.graph.Node$NodeIntrinsic(value = Lorg/graalvm/compiler/nodes/extended/ForeignCallNode;)
    RuntimeVisibleParameterAnnotations: 
      0:
        org.graalvm.compiler.graph.Node$ConstantNodeParameter()
      1:
      2:
    MethodParameters:
            Name  Flags
      descriptor  
      bufAddr     
      state       

  public static void sha5ImplCompressStub(org.graalvm.compiler.word.Word, java.lang.Object);
    descriptor: (Lorg/graalvm/compiler/word/Word;Ljava/lang/Object;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.word.Word bufAddr
        start local 1 // java.lang.Object state
         0: .line 258
            getstatic org.graalvm.compiler.hotspot.HotSpotBackend.SHA5_IMPL_COMPRESS:Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;
            aload 0 /* bufAddr */
            aload 1 /* state */
            invokestatic org.graalvm.compiler.hotspot.HotSpotBackend.sha5ImplCompressStub:(Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;Lorg/graalvm/compiler/word/Word;Ljava/lang/Object;)V
         1: .line 259
            return
        end local 1 // java.lang.Object state
        end local 0 // org.graalvm.compiler.word.Word bufAddr
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0  bufAddr  Lorg/graalvm/compiler/word/Word;
            0    2     1    state  Ljava/lang/Object;
    MethodParameters:
         Name  Flags
      bufAddr  
      state    

  private static native void sha5ImplCompressStub(org.graalvm.compiler.core.common.spi.ForeignCallDescriptor, org.graalvm.compiler.word.Word, java.lang.Object);
    descriptor: (Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;Lorg/graalvm/compiler/word/Word;Ljava/lang/Object;)V
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
    RuntimeVisibleAnnotations: 
      org.graalvm.compiler.graph.Node$NodeIntrinsic(value = Lorg/graalvm/compiler/nodes/extended/ForeignCallNode;)
    RuntimeVisibleParameterAnnotations: 
      0:
        org.graalvm.compiler.graph.Node$ConstantNodeParameter()
      1:
      2:
    MethodParameters:
            Name  Flags
      descriptor  
      bufAddr     
      state       

  public static void unsafeArraycopy(org.graalvm.compiler.word.Word, org.graalvm.compiler.word.Word, org.graalvm.compiler.word.Word);
    descriptor: (Lorg/graalvm/compiler/word/Word;Lorg/graalvm/compiler/word/Word;Lorg/graalvm/compiler/word/Word;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.graalvm.compiler.word.Word srcAddr
        start local 1 // org.graalvm.compiler.word.Word dstAddr
        start local 2 // org.graalvm.compiler.word.Word size
         0: .line 265
            getstatic org.graalvm.compiler.replacements.arraycopy.ArrayCopyForeignCalls.UNSAFE_ARRAYCOPY:Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;
            aload 0 /* srcAddr */
            aload 1 /* dstAddr */
            aload 2 /* size */
            invokestatic org.graalvm.compiler.hotspot.HotSpotBackend.unsafeArraycopyStub:(Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;Lorg/graalvm/compiler/word/Word;Lorg/graalvm/compiler/word/Word;Lorg/graalvm/compiler/word/Word;)V
         1: .line 266
            return
        end local 2 // org.graalvm.compiler.word.Word size
        end local 1 // org.graalvm.compiler.word.Word dstAddr
        end local 0 // org.graalvm.compiler.word.Word srcAddr
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0  srcAddr  Lorg/graalvm/compiler/word/Word;
            0    2     1  dstAddr  Lorg/graalvm/compiler/word/Word;
            0    2     2     size  Lorg/graalvm/compiler/word/Word;
    MethodParameters:
         Name  Flags
      srcAddr  
      dstAddr  
      size     

  private static native void unsafeArraycopyStub(org.graalvm.compiler.core.common.spi.ForeignCallDescriptor, org.graalvm.compiler.word.Word, org.graalvm.compiler.word.Word, org.graalvm.compiler.word.Word);
    descriptor: (Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;Lorg/graalvm/compiler/word/Word;Lorg/graalvm/compiler/word/Word;Lorg/graalvm/compiler/word/Word;)V
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
    RuntimeVisibleAnnotations: 
      org.graalvm.compiler.graph.Node$NodeIntrinsic(value = Lorg/graalvm/compiler/nodes/extended/ForeignCallNode;)
    RuntimeVisibleParameterAnnotations: 
      0:
        org.graalvm.compiler.graph.Node$ConstantNodeParameter()
      1:
      2:
      3:
    MethodParameters:
            Name  Flags
      descriptor  
      srcAddr     
      dstAddr     
      size        

  public void <init>(org.graalvm.compiler.hotspot.HotSpotGraalRuntimeProvider, org.graalvm.compiler.hotspot.meta.HotSpotProviders);
    descriptor: (Lorg/graalvm/compiler/hotspot/HotSpotGraalRuntimeProvider;Lorg/graalvm/compiler/hotspot/meta/HotSpotProviders;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.graalvm.compiler.hotspot.HotSpotBackend this
        start local 1 // org.graalvm.compiler.hotspot.HotSpotGraalRuntimeProvider runtime
        start local 2 // org.graalvm.compiler.hotspot.meta.HotSpotProviders providers
         0: .line 339
            aload 0 /* this */
            aload 2 /* providers */
            invokespecial org.graalvm.compiler.core.target.Backend.<init>:(Lorg/graalvm/compiler/phases/util/Providers;)V
         1: .line 340
            aload 0 /* this */
            aload 1 /* runtime */
            putfield org.graalvm.compiler.hotspot.HotSpotBackend.runtime:Lorg/graalvm/compiler/hotspot/HotSpotGraalRuntimeProvider;
         2: .line 341
            return
        end local 2 // org.graalvm.compiler.hotspot.meta.HotSpotProviders providers
        end local 1 // org.graalvm.compiler.hotspot.HotSpotGraalRuntimeProvider runtime
        end local 0 // org.graalvm.compiler.hotspot.HotSpotBackend this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       this  Lorg/graalvm/compiler/hotspot/HotSpotBackend;
            0    3     1    runtime  Lorg/graalvm/compiler/hotspot/HotSpotGraalRuntimeProvider;
            0    3     2  providers  Lorg/graalvm/compiler/hotspot/meta/HotSpotProviders;
    MethodParameters:
           Name  Flags
      runtime    
      providers  

  public org.graalvm.compiler.hotspot.HotSpotGraalRuntimeProvider getRuntime();
    descriptor: ()Lorg/graalvm/compiler/hotspot/HotSpotGraalRuntimeProvider;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.hotspot.HotSpotBackend this
         0: .line 344
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.HotSpotBackend.runtime:Lorg/graalvm/compiler/hotspot/HotSpotGraalRuntimeProvider;
            areturn
        end local 0 // org.graalvm.compiler.hotspot.HotSpotBackend this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/hotspot/HotSpotBackend;

  public void completeInitialization(jdk.vm.ci.hotspot.HotSpotJVMCIRuntime, org.graalvm.compiler.options.OptionValues);
    descriptor: (Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;Lorg/graalvm/compiler/options/OptionValues;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=0, locals=3, args_size=3
        start local 0 // org.graalvm.compiler.hotspot.HotSpotBackend this
        start local 1 // jdk.vm.ci.hotspot.HotSpotJVMCIRuntime jvmciRuntime
        start local 2 // org.graalvm.compiler.options.OptionValues options
         0: .line 355
            return
        end local 2 // org.graalvm.compiler.options.OptionValues options
        end local 1 // jdk.vm.ci.hotspot.HotSpotJVMCIRuntime jvmciRuntime
        end local 0 // org.graalvm.compiler.hotspot.HotSpotBackend this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0          this  Lorg/graalvm/compiler/hotspot/HotSpotBackend;
            0    1     1  jvmciRuntime  Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;
            0    1     2       options  Lorg/graalvm/compiler/options/OptionValues;
    MethodParameters:
              Name  Flags
      jvmciRuntime  
      options       

  protected final jdk.internal.vm.compiler.collections.EconomicSet<jdk.vm.ci.code.Register> gatherDestroyedCallerRegisters(org.graalvm.compiler.lir.LIR);
    descriptor: (Lorg/graalvm/compiler/lir/LIR;)Ljdk/internal/vm/compiler/collections/EconomicSet;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=4, locals=10, args_size=2
        start local 0 // org.graalvm.compiler.hotspot.HotSpotBackend this
        start local 1 // org.graalvm.compiler.lir.LIR lir
         0: .line 364
            getstatic jdk.internal.vm.compiler.collections.Equivalence.IDENTITY:Ljdk/internal/vm/compiler/collections/Equivalence;
            invokestatic jdk.internal.vm.compiler.collections.EconomicSet.create:(Ljdk/internal/vm/compiler/collections/Equivalence;)Ljdk/internal/vm/compiler/collections/EconomicSet;
            astore 2 /* destroyedRegisters */
        start local 2 // jdk.internal.vm.compiler.collections.EconomicSet destroyedRegisters
         1: .line 365
            new org.graalvm.compiler.hotspot.HotSpotBackend$1
            dup
            aload 0 /* this */
            aload 2 /* destroyedRegisters */
            invokespecial org.graalvm.compiler.hotspot.HotSpotBackend$1.<init>:(Lorg/graalvm/compiler/hotspot/HotSpotBackend;Ljdk/internal/vm/compiler/collections/EconomicSet;)V
            astore 3 /* defConsumer */
        start local 3 // org.graalvm.compiler.lir.ValueConsumer defConsumer
         2: .line 375
            aload 1 /* lir */
            invokevirtual org.graalvm.compiler.lir.LIR.codeEmittingOrder:()[Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
            dup
            astore 7
            arraylength
            istore 6
            iconst_0
            istore 5
            goto 13
      StackMap locals: org.graalvm.compiler.hotspot.HotSpotBackend org.graalvm.compiler.lir.LIR jdk.internal.vm.compiler.collections.EconomicSet org.graalvm.compiler.lir.ValueConsumer top int int org.graalvm.compiler.core.common.cfg.AbstractBlockBase[]
      StackMap stack:
         3: aload 7
            iload 5
            aaload
            astore 4 /* block */
        start local 4 // org.graalvm.compiler.core.common.cfg.AbstractBlockBase block
         4: .line 376
            aload 4 /* block */
            ifnonnull 6
         5: .line 377
            goto 12
         6: .line 379
      StackMap locals: org.graalvm.compiler.hotspot.HotSpotBackend org.graalvm.compiler.lir.LIR jdk.internal.vm.compiler.collections.EconomicSet org.graalvm.compiler.lir.ValueConsumer org.graalvm.compiler.core.common.cfg.AbstractBlockBase int int org.graalvm.compiler.core.common.cfg.AbstractBlockBase[]
      StackMap stack:
            aload 1 /* lir */
            aload 4 /* block */
            invokevirtual org.graalvm.compiler.lir.LIR.getLIRforBlock:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
            astore 9
            goto 11
      StackMap locals: org.graalvm.compiler.hotspot.HotSpotBackend org.graalvm.compiler.lir.LIR jdk.internal.vm.compiler.collections.EconomicSet org.graalvm.compiler.lir.ValueConsumer org.graalvm.compiler.core.common.cfg.AbstractBlockBase int int org.graalvm.compiler.core.common.cfg.AbstractBlockBase[] top java.util.Iterator
      StackMap stack:
         7: aload 9
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.lir.LIRInstruction
            astore 8 /* op */
        start local 8 // org.graalvm.compiler.lir.LIRInstruction op
         8: .line 380
            aload 8 /* op */
            instanceof org.graalvm.compiler.lir.StandardOp$LabelOp
            ifne 11
         9: .line 383
            aload 8 /* op */
            aload 3 /* defConsumer */
            invokevirtual org.graalvm.compiler.lir.LIRInstruction.visitEachTemp:(Lorg/graalvm/compiler/lir/ValueConsumer;)V
        10: .line 384
            aload 8 /* op */
            aload 3 /* defConsumer */
            invokevirtual org.graalvm.compiler.lir.LIRInstruction.visitEachOutput:(Lorg/graalvm/compiler/lir/ValueConsumer;)V
        end local 8 // org.graalvm.compiler.lir.LIRInstruction op
        11: .line 379
      StackMap locals:
      StackMap stack:
            aload 9
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 7
        end local 4 // org.graalvm.compiler.core.common.cfg.AbstractBlockBase block
        12: .line 375
      StackMap locals: org.graalvm.compiler.hotspot.HotSpotBackend org.graalvm.compiler.lir.LIR jdk.internal.vm.compiler.collections.EconomicSet org.graalvm.compiler.lir.ValueConsumer top int int org.graalvm.compiler.core.common.cfg.AbstractBlockBase[]
      StackMap stack:
            iinc 5 1
      StackMap locals:
      StackMap stack:
        13: iload 5
            iload 6
            if_icmplt 3
        14: .line 388
            aload 0 /* this */
            aload 2 /* destroyedRegisters */
            invokevirtual org.graalvm.compiler.hotspot.HotSpotBackend.translateToCallerRegisters:(Ljdk/internal/vm/compiler/collections/EconomicSet;)Ljdk/internal/vm/compiler/collections/EconomicSet;
            areturn
        end local 3 // org.graalvm.compiler.lir.ValueConsumer defConsumer
        end local 2 // jdk.internal.vm.compiler.collections.EconomicSet destroyedRegisters
        end local 1 // org.graalvm.compiler.lir.LIR lir
        end local 0 // org.graalvm.compiler.hotspot.HotSpotBackend this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   15     0                this  Lorg/graalvm/compiler/hotspot/HotSpotBackend;
            0   15     1                 lir  Lorg/graalvm/compiler/lir/LIR;
            1   15     2  destroyedRegisters  Ljdk/internal/vm/compiler/collections/EconomicSet<Ljdk/vm/ci/code/Register;>;
            2   15     3         defConsumer  Lorg/graalvm/compiler/lir/ValueConsumer;
            4   12     4               block  Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;
            8   11     8                  op  Lorg/graalvm/compiler/lir/LIRInstruction;
    Signature: (Lorg/graalvm/compiler/lir/LIR;)Ljdk/internal/vm/compiler/collections/EconomicSet<Ljdk/vm/ci/code/Register;>;
    MethodParameters:
      Name  Flags
      lir   

  protected void updateStub(org.graalvm.compiler.hotspot.stubs.Stub, jdk.internal.vm.compiler.collections.EconomicSet<jdk.vm.ci.code.Register>, jdk.internal.vm.compiler.collections.EconomicMap<org.graalvm.compiler.lir.LIRFrameState, org.graalvm.compiler.lir.StandardOp$SaveRegistersOp>, org.graalvm.compiler.lir.framemap.FrameMap);
    descriptor: (Lorg/graalvm/compiler/hotspot/stubs/Stub;Ljdk/internal/vm/compiler/collections/EconomicSet;Ljdk/internal/vm/compiler/collections/EconomicMap;Lorg/graalvm/compiler/lir/framemap/FrameMap;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=7, args_size=5
        start local 0 // org.graalvm.compiler.hotspot.HotSpotBackend this
        start local 1 // org.graalvm.compiler.hotspot.stubs.Stub stub
        start local 2 // jdk.internal.vm.compiler.collections.EconomicSet destroyedRegisters
        start local 3 // jdk.internal.vm.compiler.collections.EconomicMap calleeSaveInfo
        start local 4 // org.graalvm.compiler.lir.framemap.FrameMap frameMap
         0: .line 408
            aload 1 /* stub */
            aload 2 /* destroyedRegisters */
            invokevirtual org.graalvm.compiler.hotspot.stubs.Stub.initDestroyedCallerRegisters:(Ljdk/internal/vm/compiler/collections/EconomicSet;)V
         1: .line 410
            aload 3 /* calleeSaveInfo */
            invokeinterface jdk.internal.vm.compiler.collections.EconomicMap.getEntries:()Ljdk/internal/vm/compiler/collections/MapCursor;
            astore 5 /* cursor */
        start local 5 // jdk.internal.vm.compiler.collections.MapCursor cursor
         2: .line 411
            goto 8
         3: .line 412
      StackMap locals: jdk.internal.vm.compiler.collections.MapCursor
      StackMap stack:
            aload 5 /* cursor */
            invokeinterface jdk.internal.vm.compiler.collections.MapCursor.getValue:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.lir.StandardOp$SaveRegistersOp
            astore 6 /* save */
        start local 6 // org.graalvm.compiler.lir.StandardOp$SaveRegistersOp save
         4: .line 413
            aload 6 /* save */
            invokeinterface org.graalvm.compiler.lir.StandardOp$SaveRegistersOp.supportsRemove:()Z
            ifeq 6
         5: .line 414
            aload 6 /* save */
            aload 2 /* destroyedRegisters */
            invokeinterface org.graalvm.compiler.lir.StandardOp$SaveRegistersOp.remove:(Ljdk/internal/vm/compiler/collections/EconomicSet;)I
            pop
         6: .line 416
      StackMap locals: org.graalvm.compiler.lir.StandardOp$SaveRegistersOp
      StackMap stack:
            aload 5 /* cursor */
            invokeinterface jdk.internal.vm.compiler.collections.MapCursor.getKey:()Ljava/lang/Object;
            getstatic org.graalvm.compiler.lir.LIRFrameState.NO_STATE:Lorg/graalvm/compiler/lir/LIRFrameState;
            if_acmpeq 8
         7: .line 417
            aload 5 /* cursor */
            invokeinterface jdk.internal.vm.compiler.collections.MapCursor.getKey:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.lir.LIRFrameState
            invokevirtual org.graalvm.compiler.lir.LIRFrameState.debugInfo:()Ljdk/vm/ci/code/DebugInfo;
            aload 6 /* save */
            aload 4 /* frameMap */
            invokeinterface org.graalvm.compiler.lir.StandardOp$SaveRegistersOp.getMap:(Lorg/graalvm/compiler/lir/framemap/FrameMap;)Ljdk/vm/ci/code/RegisterSaveLayout;
            invokevirtual jdk.vm.ci.code.DebugInfo.setCalleeSaveInfo:(Ljdk/vm/ci/code/RegisterSaveLayout;)V
        end local 6 // org.graalvm.compiler.lir.StandardOp$SaveRegistersOp save
         8: .line 411
      StackMap locals:
      StackMap stack:
            aload 5 /* cursor */
            invokeinterface jdk.internal.vm.compiler.collections.MapCursor.advance:()Z
            ifne 3
         9: .line 420
            return
        end local 5 // jdk.internal.vm.compiler.collections.MapCursor cursor
        end local 4 // org.graalvm.compiler.lir.framemap.FrameMap frameMap
        end local 3 // jdk.internal.vm.compiler.collections.EconomicMap calleeSaveInfo
        end local 2 // jdk.internal.vm.compiler.collections.EconomicSet destroyedRegisters
        end local 1 // org.graalvm.compiler.hotspot.stubs.Stub stub
        end local 0 // org.graalvm.compiler.hotspot.HotSpotBackend this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   10     0                this  Lorg/graalvm/compiler/hotspot/HotSpotBackend;
            0   10     1                stub  Lorg/graalvm/compiler/hotspot/stubs/Stub;
            0   10     2  destroyedRegisters  Ljdk/internal/vm/compiler/collections/EconomicSet<Ljdk/vm/ci/code/Register;>;
            0   10     3      calleeSaveInfo  Ljdk/internal/vm/compiler/collections/EconomicMap<Lorg/graalvm/compiler/lir/LIRFrameState;Lorg/graalvm/compiler/lir/StandardOp$SaveRegistersOp;>;
            0   10     4            frameMap  Lorg/graalvm/compiler/lir/framemap/FrameMap;
            2   10     5              cursor  Ljdk/internal/vm/compiler/collections/MapCursor<Lorg/graalvm/compiler/lir/LIRFrameState;Lorg/graalvm/compiler/lir/StandardOp$SaveRegistersOp;>;
            4    8     6                save  Lorg/graalvm/compiler/lir/StandardOp$SaveRegistersOp;
    Signature: (Lorg/graalvm/compiler/hotspot/stubs/Stub;Ljdk/internal/vm/compiler/collections/EconomicSet<Ljdk/vm/ci/code/Register;>;Ljdk/internal/vm/compiler/collections/EconomicMap<Lorg/graalvm/compiler/lir/LIRFrameState;Lorg/graalvm/compiler/lir/StandardOp$SaveRegistersOp;>;Lorg/graalvm/compiler/lir/framemap/FrameMap;)V
    MethodParameters:
                    Name  Flags
      stub                
      destroyedRegisters  
      calleeSaveInfo      
      frameMap            

  public org.graalvm.compiler.hotspot.meta.HotSpotProviders getProviders();
    descriptor: ()Lorg/graalvm/compiler/hotspot/meta/HotSpotProviders;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.hotspot.HotSpotBackend this
         0: .line 424
            aload 0 /* this */
            invokespecial org.graalvm.compiler.core.target.Backend.getProviders:()Lorg/graalvm/compiler/phases/util/Providers;
            checkcast org.graalvm.compiler.hotspot.meta.HotSpotProviders
            areturn
        end local 0 // org.graalvm.compiler.hotspot.HotSpotBackend this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/hotspot/HotSpotBackend;

  public org.graalvm.compiler.phases.tiers.SuitesProvider getSuites();
    descriptor: ()Lorg/graalvm/compiler/phases/tiers/SuitesProvider;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.hotspot.HotSpotBackend this
         0: .line 429
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.hotspot.HotSpotBackend.getProviders:()Lorg/graalvm/compiler/hotspot/meta/HotSpotProviders;
            invokevirtual org.graalvm.compiler.hotspot.meta.HotSpotProviders.getSuites:()Lorg/graalvm/compiler/phases/tiers/SuitesProvider;
            areturn
        end local 0 // org.graalvm.compiler.hotspot.HotSpotBackend this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/hotspot/HotSpotBackend;

  protected void profileInstructions(org.graalvm.compiler.lir.LIR, org.graalvm.compiler.lir.asm.CompilationResultBuilder);
    descriptor: (Lorg/graalvm/compiler/lir/LIR;Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.graalvm.compiler.hotspot.HotSpotBackend this
        start local 1 // org.graalvm.compiler.lir.LIR lir
        start local 2 // org.graalvm.compiler.lir.asm.CompilationResultBuilder crb
         0: .line 433
            getstatic org.graalvm.compiler.hotspot.HotSpotBackend$Options.ASMInstructionProfiling:Lorg/graalvm/compiler/options/OptionKey;
            aload 1 /* lir */
            invokevirtual org.graalvm.compiler.lir.LIR.getOptions:()Lorg/graalvm/compiler/options/OptionValues;
            invokevirtual org.graalvm.compiler.options.OptionKey.getValue:(Lorg/graalvm/compiler/options/OptionValues;)Ljava/lang/Object;
            ifnull 2
         1: .line 434
            aload 1 /* lir */
            aload 2 /* crb */
            getfield org.graalvm.compiler.lir.asm.CompilationResultBuilder.asm:Lorg/graalvm/compiler/asm/Assembler;
            invokestatic org.graalvm.compiler.hotspot.HotSpotInstructionProfiling.countInstructions:(Lorg/graalvm/compiler/lir/LIR;Lorg/graalvm/compiler/asm/Assembler;)V
         2: .line 436
      StackMap locals:
      StackMap stack:
            return
        end local 2 // org.graalvm.compiler.lir.asm.CompilationResultBuilder crb
        end local 1 // org.graalvm.compiler.lir.LIR lir
        end local 0 // org.graalvm.compiler.hotspot.HotSpotBackend this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/graalvm/compiler/hotspot/HotSpotBackend;
            0    3     1   lir  Lorg/graalvm/compiler/lir/LIR;
            0    3     2   crb  Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;
    MethodParameters:
      Name  Flags
      lir   
      crb   

  public jdk.vm.ci.code.CompiledCode createCompiledCode(jdk.vm.ci.meta.ResolvedJavaMethod, jdk.vm.ci.code.CompilationRequest, org.graalvm.compiler.code.CompilationResult, boolean, org.graalvm.compiler.options.OptionValues);
    descriptor: (Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljdk/vm/ci/code/CompilationRequest;Lorg/graalvm/compiler/code/CompilationResult;ZLorg/graalvm/compiler/options/OptionValues;)Ljdk/vm/ci/code/CompiledCode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=7, args_size=6
        start local 0 // org.graalvm.compiler.hotspot.HotSpotBackend this
        start local 1 // jdk.vm.ci.meta.ResolvedJavaMethod method
        start local 2 // jdk.vm.ci.code.CompilationRequest compilationRequest
        start local 3 // org.graalvm.compiler.code.CompilationResult compResult
        start local 4 // boolean isDefault
        start local 5 // org.graalvm.compiler.options.OptionValues options
         0: .line 444
            getstatic org.graalvm.compiler.hotspot.HotSpotBackend.$assertionsDisabled:Z
            ifne 1
            iload 4 /* isDefault */
            ifeq 1
            aload 3 /* compResult */
            invokevirtual org.graalvm.compiler.code.CompilationResult.getName:()Ljava/lang/String;
            ifnull 1
            new java.lang.AssertionError
            dup
            ldc "a default nmethod should have a null name since it is associated with a Method*"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         1: .line 445
      StackMap locals:
      StackMap stack:
            aload 2 /* compilationRequest */
            instanceof jdk.vm.ci.hotspot.HotSpotCompilationRequest
            ifeq 2
            aload 2 /* compilationRequest */
            checkcast jdk.vm.ci.hotspot.HotSpotCompilationRequest
            goto 3
      StackMap locals:
      StackMap stack:
         2: aconst_null
      StackMap locals:
      StackMap stack: jdk.vm.ci.hotspot.HotSpotCompilationRequest
         3: astore 6 /* compRequest */
        start local 6 // jdk.vm.ci.hotspot.HotSpotCompilationRequest compRequest
         4: .line 446
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.hotspot.HotSpotBackend.getCodeCache:()Ljdk/vm/ci/code/CodeCacheProvider;
            aload 1 /* method */
            aload 6 /* compRequest */
            aload 3 /* compResult */
            aload 5 /* options */
            invokestatic org.graalvm.compiler.hotspot.HotSpotCompiledCodeBuilder.createCompiledCode:(Ljdk/vm/ci/code/CodeCacheProvider;Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljdk/vm/ci/hotspot/HotSpotCompilationRequest;Lorg/graalvm/compiler/code/CompilationResult;Lorg/graalvm/compiler/options/OptionValues;)Ljdk/vm/ci/hotspot/HotSpotCompiledCode;
            areturn
        end local 6 // jdk.vm.ci.hotspot.HotSpotCompilationRequest compRequest
        end local 5 // org.graalvm.compiler.options.OptionValues options
        end local 4 // boolean isDefault
        end local 3 // org.graalvm.compiler.code.CompilationResult compResult
        end local 2 // jdk.vm.ci.code.CompilationRequest compilationRequest
        end local 1 // jdk.vm.ci.meta.ResolvedJavaMethod method
        end local 0 // org.graalvm.compiler.hotspot.HotSpotBackend this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    5     0                this  Lorg/graalvm/compiler/hotspot/HotSpotBackend;
            0    5     1              method  Ljdk/vm/ci/meta/ResolvedJavaMethod;
            0    5     2  compilationRequest  Ljdk/vm/ci/code/CompilationRequest;
            0    5     3          compResult  Lorg/graalvm/compiler/code/CompilationResult;
            0    5     4           isDefault  Z
            0    5     5             options  Lorg/graalvm/compiler/options/OptionValues;
            4    5     6         compRequest  Ljdk/vm/ci/hotspot/HotSpotCompilationRequest;
    MethodParameters:
                    Name  Flags
      method              
      compilationRequest  
      compResult          
      isDefault           
      options             

  public org.graalvm.compiler.core.common.CompilationIdentifier getCompilationIdentifier(jdk.vm.ci.meta.ResolvedJavaMethod);
    descriptor: (Ljdk/vm/ci/meta/ResolvedJavaMethod;)Lorg/graalvm/compiler/core/common/CompilationIdentifier;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=3, args_size=2
        start local 0 // org.graalvm.compiler.hotspot.HotSpotBackend this
        start local 1 // jdk.vm.ci.meta.ResolvedJavaMethod resolvedJavaMethod
         0: .line 451
            aload 1 /* resolvedJavaMethod */
            instanceof jdk.vm.ci.hotspot.HotSpotResolvedJavaMethod
            ifeq 3
         1: .line 452
            new jdk.vm.ci.hotspot.HotSpotCompilationRequest
            dup
            aload 1 /* resolvedJavaMethod */
            checkcast jdk.vm.ci.hotspot.HotSpotResolvedJavaMethod
            iconst_m1
            lconst_0
            invokespecial jdk.vm.ci.hotspot.HotSpotCompilationRequest.<init>:(Ljdk/vm/ci/hotspot/HotSpotResolvedJavaMethod;IJ)V
            astore 2 /* request */
        start local 2 // jdk.vm.ci.hotspot.HotSpotCompilationRequest request
         2: .line 453
            new org.graalvm.compiler.hotspot.HotSpotCompilationIdentifier
            dup
            aload 2 /* request */
            invokespecial org.graalvm.compiler.hotspot.HotSpotCompilationIdentifier.<init>:(Ljdk/vm/ci/hotspot/HotSpotCompilationRequest;)V
            areturn
        end local 2 // jdk.vm.ci.hotspot.HotSpotCompilationRequest request
         3: .line 455
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* resolvedJavaMethod */
            invokespecial org.graalvm.compiler.core.target.Backend.getCompilationIdentifier:(Ljdk/vm/ci/meta/ResolvedJavaMethod;)Lorg/graalvm/compiler/core/common/CompilationIdentifier;
            areturn
        end local 1 // jdk.vm.ci.meta.ResolvedJavaMethod resolvedJavaMethod
        end local 0 // org.graalvm.compiler.hotspot.HotSpotBackend this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    4     0                this  Lorg/graalvm/compiler/hotspot/HotSpotBackend;
            0    4     1  resolvedJavaMethod  Ljdk/vm/ci/meta/ResolvedJavaMethod;
            2    3     2             request  Ljdk/vm/ci/hotspot/HotSpotCompilationRequest;
    MethodParameters:
                    Name  Flags
      resolvedJavaMethod  

  public org.graalvm.compiler.phases.util.Providers getProviders();
    descriptor: ()Lorg/graalvm/compiler/phases/util/Providers;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokevirtual org.graalvm.compiler.hotspot.HotSpotBackend.getProviders:()Lorg/graalvm/compiler/hotspot/meta/HotSpotProviders;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
SourceFile: "HotSpotBackend.java"
NestMembers:
  org.graalvm.compiler.hotspot.HotSpotBackend$1  org.graalvm.compiler.hotspot.HotSpotBackend$Options
InnerClasses:
  public abstract ConstantNodeParameter = org.graalvm.compiler.graph.Node$ConstantNodeParameter of org.graalvm.compiler.graph.Node
  public abstract NodeIntrinsic = org.graalvm.compiler.graph.Node$NodeIntrinsic of org.graalvm.compiler.graph.Node
  org.graalvm.compiler.hotspot.HotSpotBackend$1
  public Options = org.graalvm.compiler.hotspot.HotSpotBackend$Options of org.graalvm.compiler.hotspot.HotSpotBackend
  public final LabelOp = org.graalvm.compiler.lir.StandardOp$LabelOp of org.graalvm.compiler.lir.StandardOp
  public abstract SaveRegistersOp = org.graalvm.compiler.lir.StandardOp$SaveRegistersOp of org.graalvm.compiler.lir.StandardOp
  public abstract ReferenceMapBuilderFactory = org.graalvm.compiler.lir.framemap.FrameMap$ReferenceMapBuilderFactory of org.graalvm.compiler.lir.framemap.FrameMap