public final class org.graalvm.compiler.hotspot.test.BigIntegerIntrinsicsTest extends org.graalvm.compiler.core.test.GraalCompilerTest
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: org.graalvm.compiler.hotspot.test.BigIntegerIntrinsicsTest
  super_class: org.graalvm.compiler.core.test.GraalCompilerTest
{
  static final int N;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 100

  private static org.graalvm.compiler.hotspot.GraalHotSpotVMConfig config;
    descriptor: Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static java.math.BigInteger bigTwo;
    descriptor: Ljava/math/BigInteger;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static java.util.Random rnd;
    descriptor: Ljava/util/Random;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=0, args_size=0
         0: .line 223
            ldc Lorg/graalvm/compiler/runtime/RuntimeProvider;
            invokestatic org.graalvm.compiler.api.test.Graal.getRequiredCapability:(Ljava/lang/Class;)Ljava/lang/Object;
            checkcast org.graalvm.compiler.hotspot.HotSpotGraalRuntimeProvider
            invokeinterface org.graalvm.compiler.hotspot.HotSpotGraalRuntimeProvider.getVMConfig:()Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
            putstatic org.graalvm.compiler.hotspot.test.BigIntegerIntrinsicsTest.config:Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
         1: .line 225
            ldc 2
            invokestatic java.math.BigInteger.valueOf:(J)Ljava/math/BigInteger;
            putstatic org.graalvm.compiler.hotspot.test.BigIntegerIntrinsicsTest.bigTwo:Ljava/math/BigInteger;
         2: .line 226
            new java.util.Random
            dup
            ldc 17
            invokespecial java.util.Random.<init>:(J)V
            putstatic org.graalvm.compiler.hotspot.test.BigIntegerIntrinsicsTest.rnd:Ljava/util/Random;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.hotspot.test.BigIntegerIntrinsicsTest this
         0: .line 58
            aload 0 /* this */
            invokespecial org.graalvm.compiler.core.test.GraalCompilerTest.<init>:()V
            return
        end local 0 // org.graalvm.compiler.hotspot.test.BigIntegerIntrinsicsTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/hotspot/test/BigIntegerIntrinsicsTest;

  public void testMultiplyToLen();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=10, locals=9, args_size=1
        start local 0 // org.graalvm.compiler.hotspot.test.BigIntegerIntrinsicsTest this
         0: .line 66
            getstatic org.graalvm.compiler.hotspot.test.BigIntegerIntrinsicsTest.config:Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
            invokevirtual org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.useMultiplyToLenIntrinsic:()Z
            invokestatic org.junit.Assume.assumeTrue:(Z)V
         1: .line 68
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.hotspot.test.BigIntegerIntrinsicsTest.getTarget:()Ljdk/vm/ci/code/TargetDescription;
            getfield jdk.vm.ci.code.TargetDescription.arch:Ljdk/vm/ci/code/Architecture;
            instanceof jdk.vm.ci.amd64.AMD64
            invokestatic org.junit.Assume.assumeTrue:(Z)V
         2: .line 70
            ldc "java.math.BigInteger"
            invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
            astore 1 /* javaclass */
        start local 1 // java.lang.Class javaclass
         3: .line 72
            new org.graalvm.compiler.hotspot.test.BigIntegerIntrinsicsTest$TestIntrinsic
            dup
            aload 0 /* this */
            ldc "testMultiplyAux"
            aload 1 /* javaclass */
         4: .line 73
            ldc "multiply"
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Ljava/math/BigInteger;
         5: .line 72
            aastore
            invokespecial org.graalvm.compiler.hotspot.test.BigIntegerIntrinsicsTest$TestIntrinsic.<init>:(Lorg/graalvm/compiler/hotspot/test/BigIntegerIntrinsicsTest;Ljava/lang/String;Ljava/lang/Class;Ljava/lang/String;[Ljava/lang/Class;)V
            astore 2 /* tin */
        start local 2 // org.graalvm.compiler.hotspot.test.BigIntegerIntrinsicsTest$TestIntrinsic tin
         6: .line 75
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         7: goto 16
         8: .line 77
      StackMap locals: java.lang.Class org.graalvm.compiler.hotspot.test.BigIntegerIntrinsicsTest$TestIntrinsic int
      StackMap stack:
            iload 3 /* i */
            invokestatic org.graalvm.compiler.hotspot.test.BigIntegerIntrinsicsTest.randomBig:(I)Ljava/math/BigInteger;
            astore 4 /* big1 */
        start local 4 // java.math.BigInteger big1
         9: .line 78
            iload 3 /* i */
            invokestatic org.graalvm.compiler.hotspot.test.BigIntegerIntrinsicsTest.randomBig:(I)Ljava/math/BigInteger;
            astore 5 /* big2 */
        start local 5 // java.math.BigInteger big2
        10: .line 81
            aload 2 /* tin */
            aload 4 /* big1 */
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 5 /* big2 */
            aastore
            invokevirtual org.graalvm.compiler.hotspot.test.BigIntegerIntrinsicsTest$TestIntrinsic.invokeJava:(Ljava/math/BigInteger;[Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.math.BigInteger
            astore 6 /* res1 */
        start local 6 // java.math.BigInteger res1
        11: .line 84
            aload 2 /* tin */
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 4 /* big1 */
            aastore
            dup
            iconst_1
            aload 5 /* big2 */
            aastore
            invokevirtual org.graalvm.compiler.hotspot.test.BigIntegerIntrinsicsTest$TestIntrinsic.invokeTest:([Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.math.BigInteger
            astore 7 /* res2 */
        start local 7 // java.math.BigInteger res2
        12: .line 86
            aload 0 /* this */
            aload 6 /* res1 */
            aload 7 /* res2 */
            invokevirtual org.graalvm.compiler.hotspot.test.BigIntegerIntrinsicsTest.assertDeepEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        13: .line 89
            aload 2 /* tin */
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 4 /* big1 */
            aastore
            dup
            iconst_1
            aload 5 /* big2 */
            aastore
            invokevirtual org.graalvm.compiler.hotspot.test.BigIntegerIntrinsicsTest$TestIntrinsic.invokeCode:([Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.math.BigInteger
            astore 8 /* res3 */
        start local 8 // java.math.BigInteger res3
        14: .line 91
            aload 0 /* this */
            aload 6 /* res1 */
            aload 8 /* res3 */
            invokevirtual org.graalvm.compiler.hotspot.test.BigIntegerIntrinsicsTest.assertDeepEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        end local 8 // java.math.BigInteger res3
        end local 7 // java.math.BigInteger res2
        end local 6 // java.math.BigInteger res1
        end local 5 // java.math.BigInteger big2
        end local 4 // java.math.BigInteger big1
        15: .line 75
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        16: iload 3 /* i */
            bipush 100
            if_icmplt 8
        end local 3 // int i
        17: .line 93
            return
        end local 2 // org.graalvm.compiler.hotspot.test.BigIntegerIntrinsicsTest$TestIntrinsic tin
        end local 1 // java.lang.Class javaclass
        end local 0 // org.graalvm.compiler.hotspot.test.BigIntegerIntrinsicsTest this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   18     0       this  Lorg/graalvm/compiler/hotspot/test/BigIntegerIntrinsicsTest;
            3   18     1  javaclass  Ljava/lang/Class<*>;
            6   18     2        tin  Lorg/graalvm/compiler/hotspot/test/BigIntegerIntrinsicsTest$TestIntrinsic;
            7   17     3          i  I
            9   15     4       big1  Ljava/math/BigInteger;
           10   15     5       big2  Ljava/math/BigInteger;
           11   15     6       res1  Ljava/math/BigInteger;
           12   15     7       res2  Ljava/math/BigInteger;
           14   15     8       res3  Ljava/math/BigInteger;
    Exceptions:
      throws java.lang.ClassNotFoundException
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testMulAdd();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=10, locals=8, args_size=1
        start local 0 // org.graalvm.compiler.hotspot.test.BigIntegerIntrinsicsTest this
         0: .line 99
            getstatic org.graalvm.compiler.hotspot.test.BigIntegerIntrinsicsTest.config:Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
            invokevirtual org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.useMulAddIntrinsic:()Z
            ifne 2
         1: .line 100
            getstatic org.graalvm.compiler.hotspot.test.BigIntegerIntrinsicsTest.config:Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
            invokevirtual org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.useSquareToLenIntrinsic:()Z
            ifne 2
            iconst_0
            goto 3
      StackMap locals:
      StackMap stack:
         2: iconst_1
         3: .line 99
      StackMap locals:
      StackMap stack: int
            invokestatic org.junit.Assume.assumeTrue:(Z)V
         4: .line 102
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.hotspot.test.BigIntegerIntrinsicsTest.getTarget:()Ljdk/vm/ci/code/TargetDescription;
            getfield jdk.vm.ci.code.TargetDescription.arch:Ljdk/vm/ci/code/Architecture;
            instanceof jdk.vm.ci.amd64.AMD64
            invokestatic org.junit.Assume.assumeTrue:(Z)V
         5: .line 104
            ldc "java.math.BigInteger"
            invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
            astore 1 /* javaclass */
        start local 1 // java.lang.Class javaclass
         6: .line 106
            new org.graalvm.compiler.hotspot.test.BigIntegerIntrinsicsTest$TestIntrinsic
            dup
            aload 0 /* this */
            ldc "testMultiplyAux"
            aload 1 /* javaclass */
         7: .line 107
            ldc "multiply"
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Ljava/math/BigInteger;
         8: .line 106
            aastore
            invokespecial org.graalvm.compiler.hotspot.test.BigIntegerIntrinsicsTest$TestIntrinsic.<init>:(Lorg/graalvm/compiler/hotspot/test/BigIntegerIntrinsicsTest;Ljava/lang/String;Ljava/lang/Class;Ljava/lang/String;[Ljava/lang/Class;)V
            astore 2 /* tin */
        start local 2 // org.graalvm.compiler.hotspot.test.BigIntegerIntrinsicsTest$TestIntrinsic tin
         9: .line 109
            iconst_0
            istore 3 /* i */
        start local 3 // int i
        10: goto 18
        11: .line 111
      StackMap locals: java.lang.Class org.graalvm.compiler.hotspot.test.BigIntegerIntrinsicsTest$TestIntrinsic int
      StackMap stack:
            iload 3 /* i */
            invokestatic org.graalvm.compiler.hotspot.test.BigIntegerIntrinsicsTest.randomBig:(I)Ljava/math/BigInteger;
            astore 4 /* big1 */
        start local 4 // java.math.BigInteger big1
        12: .line 114
            aload 2 /* tin */
            aload 4 /* big1 */
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 4 /* big1 */
            aastore
            invokevirtual org.graalvm.compiler.hotspot.test.BigIntegerIntrinsicsTest$TestIntrinsic.invokeJava:(Ljava/math/BigInteger;[Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.math.BigInteger
            astore 5 /* res1 */
        start local 5 // java.math.BigInteger res1
        13: .line 117
            aload 2 /* tin */
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 4 /* big1 */
            aastore
            dup
            iconst_1
            aload 4 /* big1 */
            aastore
            invokevirtual org.graalvm.compiler.hotspot.test.BigIntegerIntrinsicsTest$TestIntrinsic.invokeTest:([Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.math.BigInteger
            astore 6 /* res2 */
        start local 6 // java.math.BigInteger res2
        14: .line 119
            aload 0 /* this */
            aload 5 /* res1 */
            aload 6 /* res2 */
            invokevirtual org.graalvm.compiler.hotspot.test.BigIntegerIntrinsicsTest.assertDeepEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        15: .line 122
            aload 2 /* tin */
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 4 /* big1 */
            aastore
            dup
            iconst_1
            aload 4 /* big1 */
            aastore
            invokevirtual org.graalvm.compiler.hotspot.test.BigIntegerIntrinsicsTest$TestIntrinsic.invokeCode:([Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.math.BigInteger
            astore 7 /* res3 */
        start local 7 // java.math.BigInteger res3
        16: .line 124
            aload 0 /* this */
            aload 5 /* res1 */
            aload 7 /* res3 */
            invokevirtual org.graalvm.compiler.hotspot.test.BigIntegerIntrinsicsTest.assertDeepEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        end local 7 // java.math.BigInteger res3
        end local 6 // java.math.BigInteger res2
        end local 5 // java.math.BigInteger res1
        end local 4 // java.math.BigInteger big1
        17: .line 109
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        18: iload 3 /* i */
            bipush 100
            if_icmplt 11
        end local 3 // int i
        19: .line 126
            return
        end local 2 // org.graalvm.compiler.hotspot.test.BigIntegerIntrinsicsTest$TestIntrinsic tin
        end local 1 // java.lang.Class javaclass
        end local 0 // org.graalvm.compiler.hotspot.test.BigIntegerIntrinsicsTest this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   20     0       this  Lorg/graalvm/compiler/hotspot/test/BigIntegerIntrinsicsTest;
            6   20     1  javaclass  Ljava/lang/Class<*>;
            9   20     2        tin  Lorg/graalvm/compiler/hotspot/test/BigIntegerIntrinsicsTest$TestIntrinsic;
           10   19     3          i  I
           12   17     4       big1  Ljava/math/BigInteger;
           13   17     5       res1  Ljava/math/BigInteger;
           14   17     6       res2  Ljava/math/BigInteger;
           16   17     7       res3  Ljava/math/BigInteger;
    Exceptions:
      throws java.lang.ClassNotFoundException
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testMontgomery();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=10, locals=9, args_size=1
        start local 0 // org.graalvm.compiler.hotspot.test.BigIntegerIntrinsicsTest this
         0: .line 132
            getstatic org.graalvm.compiler.hotspot.test.BigIntegerIntrinsicsTest.config:Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
            invokevirtual org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.useMontgomeryMultiplyIntrinsic:()Z
            ifne 2
         1: .line 133
            getstatic org.graalvm.compiler.hotspot.test.BigIntegerIntrinsicsTest.config:Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
            invokevirtual org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.useMontgomerySquareIntrinsic:()Z
            ifne 2
            iconst_0
            goto 3
      StackMap locals:
      StackMap stack:
         2: iconst_1
         3: .line 132
      StackMap locals:
      StackMap stack: int
            invokestatic org.junit.Assume.assumeTrue:(Z)V
         4: .line 135
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.hotspot.test.BigIntegerIntrinsicsTest.getTarget:()Ljdk/vm/ci/code/TargetDescription;
            getfield jdk.vm.ci.code.TargetDescription.arch:Ljdk/vm/ci/code/Architecture;
            instanceof jdk.vm.ci.amd64.AMD64
            invokestatic org.junit.Assume.assumeTrue:(Z)V
         5: .line 137
            ldc "java.math.BigInteger"
            invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
            astore 1 /* javaclass */
        start local 1 // java.lang.Class javaclass
         6: .line 139
            new org.graalvm.compiler.hotspot.test.BigIntegerIntrinsicsTest$TestIntrinsic
            dup
            aload 0 /* this */
            ldc "testMontgomeryAux"
            aload 1 /* javaclass */
         7: .line 140
            ldc "modPow"
            iconst_2
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Ljava/math/BigInteger;
            aastore
            dup
            iconst_1
            ldc Ljava/math/BigInteger;
         8: .line 139
            aastore
            invokespecial org.graalvm.compiler.hotspot.test.BigIntegerIntrinsicsTest$TestIntrinsic.<init>:(Lorg/graalvm/compiler/hotspot/test/BigIntegerIntrinsicsTest;Ljava/lang/String;Ljava/lang/Class;Ljava/lang/String;[Ljava/lang/Class;)V
            astore 2 /* tin */
        start local 2 // org.graalvm.compiler.hotspot.test.BigIntegerIntrinsicsTest$TestIntrinsic tin
         9: .line 142
            iconst_0
            istore 3 /* i */
        start local 3 // int i
        10: goto 19
        11: .line 144
      StackMap locals: java.lang.Class org.graalvm.compiler.hotspot.test.BigIntegerIntrinsicsTest$TestIntrinsic int
      StackMap stack:
            iload 3 /* i */
            invokestatic org.graalvm.compiler.hotspot.test.BigIntegerIntrinsicsTest.randomBig:(I)Ljava/math/BigInteger;
            astore 4 /* big1 */
        start local 4 // java.math.BigInteger big1
        12: .line 145
            iload 3 /* i */
            invokestatic org.graalvm.compiler.hotspot.test.BigIntegerIntrinsicsTest.randomBig:(I)Ljava/math/BigInteger;
            astore 5 /* big2 */
        start local 5 // java.math.BigInteger big2
        13: .line 148
            aload 2 /* tin */
            aload 4 /* big1 */
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            getstatic org.graalvm.compiler.hotspot.test.BigIntegerIntrinsicsTest.bigTwo:Ljava/math/BigInteger;
            aastore
            dup
            iconst_1
            aload 5 /* big2 */
            aastore
            invokevirtual org.graalvm.compiler.hotspot.test.BigIntegerIntrinsicsTest$TestIntrinsic.invokeJava:(Ljava/math/BigInteger;[Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.math.BigInteger
            astore 6 /* res1 */
        start local 6 // java.math.BigInteger res1
        14: .line 151
            aload 2 /* tin */
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            aload 4 /* big1 */
            aastore
            dup
            iconst_1
            getstatic org.graalvm.compiler.hotspot.test.BigIntegerIntrinsicsTest.bigTwo:Ljava/math/BigInteger;
            aastore
            dup
            iconst_2
            aload 5 /* big2 */
            aastore
            invokevirtual org.graalvm.compiler.hotspot.test.BigIntegerIntrinsicsTest$TestIntrinsic.invokeTest:([Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.math.BigInteger
            astore 7 /* res2 */
        start local 7 // java.math.BigInteger res2
        15: .line 153
            aload 0 /* this */
            aload 6 /* res1 */
            aload 7 /* res2 */
            invokevirtual org.graalvm.compiler.hotspot.test.BigIntegerIntrinsicsTest.assertDeepEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        16: .line 157
            aload 2 /* tin */
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            aload 4 /* big1 */
            aastore
            dup
            iconst_1
            getstatic org.graalvm.compiler.hotspot.test.BigIntegerIntrinsicsTest.bigTwo:Ljava/math/BigInteger;
            aastore
            dup
            iconst_2
            aload 5 /* big2 */
            aastore
            invokevirtual org.graalvm.compiler.hotspot.test.BigIntegerIntrinsicsTest$TestIntrinsic.invokeCode:([Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.math.BigInteger
            astore 8 /* res3 */
        start local 8 // java.math.BigInteger res3
        17: .line 159
            aload 0 /* this */
            aload 6 /* res1 */
            aload 8 /* res3 */
            invokevirtual org.graalvm.compiler.hotspot.test.BigIntegerIntrinsicsTest.assertDeepEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        end local 8 // java.math.BigInteger res3
        end local 7 // java.math.BigInteger res2
        end local 6 // java.math.BigInteger res1
        end local 5 // java.math.BigInteger big2
        end local 4 // java.math.BigInteger big1
        18: .line 142
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        19: iload 3 /* i */
            bipush 100
            if_icmplt 11
        end local 3 // int i
        20: .line 161
            return
        end local 2 // org.graalvm.compiler.hotspot.test.BigIntegerIntrinsicsTest$TestIntrinsic tin
        end local 1 // java.lang.Class javaclass
        end local 0 // org.graalvm.compiler.hotspot.test.BigIntegerIntrinsicsTest this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   21     0       this  Lorg/graalvm/compiler/hotspot/test/BigIntegerIntrinsicsTest;
            6   21     1  javaclass  Ljava/lang/Class<*>;
            9   21     2        tin  Lorg/graalvm/compiler/hotspot/test/BigIntegerIntrinsicsTest$TestIntrinsic;
           10   20     3          i  I
           12   18     4       big1  Ljava/math/BigInteger;
           13   18     5       big2  Ljava/math/BigInteger;
           14   18     6       res1  Ljava/math/BigInteger;
           15   18     7       res2  Ljava/math/BigInteger;
           17   18     8       res3  Ljava/math/BigInteger;
    Exceptions:
      throws java.lang.ClassNotFoundException
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public static java.math.BigInteger testMultiplyAux(java.math.BigInteger, java.math.BigInteger);
    descriptor: (Ljava/math/BigInteger;Ljava/math/BigInteger;)Ljava/math/BigInteger;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.math.BigInteger a
        start local 1 // java.math.BigInteger b
         0: .line 164
            aload 0 /* a */
            aload 1 /* b */
            invokevirtual java.math.BigInteger.multiply:(Ljava/math/BigInteger;)Ljava/math/BigInteger;
            areturn
        end local 1 // java.math.BigInteger b
        end local 0 // java.math.BigInteger a
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     a  Ljava/math/BigInteger;
            0    1     1     b  Ljava/math/BigInteger;
    MethodParameters:
      Name  Flags
      a     
      b     

  public static java.math.BigInteger testMontgomeryAux(java.math.BigInteger, java.math.BigInteger, java.math.BigInteger);
    descriptor: (Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;)Ljava/math/BigInteger;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // java.math.BigInteger a
        start local 1 // java.math.BigInteger exp
        start local 2 // java.math.BigInteger b
         0: .line 168
            aload 0 /* a */
            aload 1 /* exp */
            aload 2 /* b */
            invokevirtual java.math.BigInteger.modPow:(Ljava/math/BigInteger;Ljava/math/BigInteger;)Ljava/math/BigInteger;
            areturn
        end local 2 // java.math.BigInteger b
        end local 1 // java.math.BigInteger exp
        end local 0 // java.math.BigInteger a
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     a  Ljava/math/BigInteger;
            0    1     1   exp  Ljava/math/BigInteger;
            0    1     2     b  Ljava/math/BigInteger;
    MethodParameters:
      Name  Flags
      a     
      exp   
      b     

  private static java.math.BigInteger randomBig(int);
    descriptor: (I)Ljava/math/BigInteger;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // int i
         0: .line 229
            new java.math.BigInteger
            dup
            getstatic org.graalvm.compiler.hotspot.test.BigIntegerIntrinsicsTest.rnd:Ljava/util/Random;
            sipush 4096
            invokevirtual java.util.Random.nextInt:(I)I
            iload 0 /* i */
            invokestatic org.graalvm.compiler.hotspot.test.BigIntegerIntrinsicsTest.i2sz:(I)I
            iadd
            getstatic org.graalvm.compiler.hotspot.test.BigIntegerIntrinsicsTest.rnd:Ljava/util/Random;
            invokespecial java.math.BigInteger.<init>:(ILjava/util/Random;)V
            areturn
        end local 0 // int i
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     i  I
    MethodParameters:
      Name  Flags
      i     

  private static int i2sz(int);
    descriptor: (I)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // int i
         0: .line 233
            iload 0 /* i */
            iconst_3
            imul
            iconst_1
            iadd
            ireturn
        end local 0 // int i
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     i  I
    MethodParameters:
      Name  Flags
      i     

  static jdk.vm.ci.meta.ResolvedJavaMethod access$0(org.graalvm.compiler.hotspot.test.BigIntegerIntrinsicsTest, java.lang.Class, java.lang.String, java.lang.Class[]);
    descriptor: (Lorg/graalvm/compiler/hotspot/test/BigIntegerIntrinsicsTest;Ljava/lang/Class;Ljava/lang/String;[Ljava/lang/Class;)Ljdk/vm/ci/meta/ResolvedJavaMethod;
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=4, locals=4, args_size=4
         0: .line 1
            aload 0
            aload 1
            aload 2
            aload 3
            invokevirtual org.graalvm.compiler.hotspot.test.BigIntegerIntrinsicsTest.getResolvedJavaMethod:(Ljava/lang/Class;Ljava/lang/String;[Ljava/lang/Class;)Ljdk/vm/ci/meta/ResolvedJavaMethod;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  static jdk.vm.ci.meta.ResolvedJavaMethod access$1(org.graalvm.compiler.hotspot.test.BigIntegerIntrinsicsTest, java.lang.String);
    descriptor: (Lorg/graalvm/compiler/hotspot/test/BigIntegerIntrinsicsTest;Ljava/lang/String;)Ljdk/vm/ci/meta/ResolvedJavaMethod;
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            invokevirtual org.graalvm.compiler.hotspot.test.BigIntegerIntrinsicsTest.getResolvedJavaMethod:(Ljava/lang/String;)Ljdk/vm/ci/meta/ResolvedJavaMethod;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  static jdk.vm.ci.code.InstalledCode access$2(org.graalvm.compiler.hotspot.test.BigIntegerIntrinsicsTest, jdk.vm.ci.meta.ResolvedJavaMethod);
    descriptor: (Lorg/graalvm/compiler/hotspot/test/BigIntegerIntrinsicsTest;Ljdk/vm/ci/meta/ResolvedJavaMethod;)Ljdk/vm/ci/code/InstalledCode;
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            invokevirtual org.graalvm.compiler.hotspot.test.BigIntegerIntrinsicsTest.getCode:(Ljdk/vm/ci/meta/ResolvedJavaMethod;)Ljdk/vm/ci/code/InstalledCode;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  static java.lang.Object access$3(org.graalvm.compiler.hotspot.test.BigIntegerIntrinsicsTest, jdk.vm.ci.meta.ResolvedJavaMethod, java.lang.Object, java.lang.Object[]);
    descriptor: (Lorg/graalvm/compiler/hotspot/test/BigIntegerIntrinsicsTest;Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=4, locals=4, args_size=4
         0: .line 1
            aload 0
            aload 1
            aload 2
            aload 3
            invokevirtual org.graalvm.compiler.hotspot.test.BigIntegerIntrinsicsTest.invoke:(Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Exceptions:
      throws java.lang.IllegalAccessException, java.lang.IllegalArgumentException, java.lang.reflect.InvocationTargetException, java.lang.InstantiationException
}
SourceFile: "BigIntegerIntrinsicsTest.java"
NestMembers:
  org.graalvm.compiler.hotspot.test.BigIntegerIntrinsicsTest$TestIntrinsic
InnerClasses:
  private TestIntrinsic = org.graalvm.compiler.hotspot.test.BigIntegerIntrinsicsTest$TestIntrinsic of org.graalvm.compiler.hotspot.test.BigIntegerIntrinsicsTest