public class jdk.internal.math.FDBigInteger
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: jdk.internal.math.FDBigInteger
super_class: java.lang.Object
{
static final int[] SMALL_5_POW;
descriptor: [I
flags: (0x0018) ACC_STATIC, ACC_FINAL
static final long[] LONG_5_POW;
descriptor: [J
flags: (0x0018) ACC_STATIC, ACC_FINAL
private static final int MAX_FIVE_POW;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 340
private static final jdk.internal.math.FDBigInteger[] POW_5_CACHE;
descriptor: [Ljdk/internal/math/FDBigInteger;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
public static final jdk.internal.math.FDBigInteger ZERO;
descriptor: Ljdk/internal/math/FDBigInteger;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
private static final long LONG_MASK;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 4294967295
private int[] data;
descriptor: [I
flags: (0x0002) ACC_PRIVATE
private int offset;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int nWords;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private boolean isImmutable;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
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=7, locals=2, args_size=0
0: .line 34
ldc Ljdk/internal/math/FDBigInteger;
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 jdk.internal.math.FDBigInteger.$assertionsDisabled:Z
3: .line 67
bipush 14
newarray 10
dup
iconst_0
4: .line 68
iconst_1
iastore
dup
iconst_1
5: .line 69
iconst_5
iastore
dup
iconst_2
6: .line 70
bipush 25
iastore
dup
iconst_3
7: .line 71
bipush 125
iastore
dup
iconst_4
8: .line 72
sipush 625
iastore
dup
iconst_5
9: .line 73
sipush 3125
iastore
dup
bipush 6
10: .line 74
sipush 15625
iastore
dup
bipush 7
11: .line 75
ldc 78125
iastore
dup
bipush 8
12: .line 76
ldc 390625
iastore
dup
bipush 9
13: .line 77
ldc 1953125
iastore
dup
bipush 10
14: .line 78
ldc 9765625
iastore
dup
bipush 11
15: .line 79
ldc 48828125
iastore
dup
bipush 12
16: .line 80
ldc 244140625
iastore
dup
bipush 13
17: .line 81
ldc 1220703125
iastore
18: .line 67
putstatic jdk.internal.math.FDBigInteger.SMALL_5_POW:[I
19: .line 84
bipush 27
newarray 11
dup
iconst_0
20: .line 85
lconst_1
lastore
dup
iconst_1
21: .line 86
ldc 5
lastore
dup
iconst_2
22: .line 87
ldc 25
lastore
dup
iconst_3
23: .line 88
ldc 125
lastore
dup
iconst_4
24: .line 89
ldc 625
lastore
dup
iconst_5
25: .line 90
ldc 3125
lastore
dup
bipush 6
26: .line 91
ldc 15625
lastore
dup
bipush 7
27: .line 92
ldc 78125
lastore
dup
bipush 8
28: .line 93
ldc 390625
lastore
dup
bipush 9
29: .line 94
ldc 1953125
lastore
dup
bipush 10
30: .line 95
ldc 9765625
lastore
dup
bipush 11
31: .line 96
ldc 48828125
lastore
dup
bipush 12
32: .line 97
ldc 244140625
lastore
dup
bipush 13
33: .line 98
ldc 1220703125
lastore
dup
bipush 14
34: .line 99
ldc 6103515625
lastore
dup
bipush 15
35: .line 100
ldc 30517578125
lastore
dup
bipush 16
36: .line 101
ldc 152587890625
lastore
dup
bipush 17
37: .line 102
ldc 762939453125
lastore
dup
bipush 18
38: .line 103
ldc 3814697265625
lastore
dup
bipush 19
39: .line 104
ldc 19073486328125
lastore
dup
bipush 20
40: .line 105
ldc 95367431640625
lastore
dup
bipush 21
41: .line 106
ldc 476837158203125
lastore
dup
bipush 22
42: .line 107
ldc 2384185791015625
lastore
dup
bipush 23
43: .line 108
ldc 11920928955078125
lastore
dup
bipush 24
44: .line 109
ldc 59604644775390625
lastore
dup
bipush 25
45: .line 110
ldc 298023223876953125
lastore
dup
bipush 26
46: .line 111
ldc 1490116119384765625
lastore
47: .line 84
putstatic jdk.internal.math.FDBigInteger.LONG_5_POW:[J
48: .line 122
sipush 340
anewarray jdk.internal.math.FDBigInteger
putstatic jdk.internal.math.FDBigInteger.POW_5_CACHE:[Ljdk/internal/math/FDBigInteger;
49: .line 123
iconst_0
istore 0 /* i */
start local 0 // int i
50: .line 124
goto 55
51: .line 125
StackMap locals: int
StackMap stack:
new jdk.internal.math.FDBigInteger
dup
iconst_1
newarray 10
dup
iconst_0
getstatic jdk.internal.math.FDBigInteger.SMALL_5_POW:[I
iload 0 /* i */
iaload
iastore
iconst_0
invokespecial jdk.internal.math.FDBigInteger.<init>:([II)V
astore 1 /* pow5 */
start local 1 // jdk.internal.math.FDBigInteger pow5
52: .line 126
aload 1 /* pow5 */
invokevirtual jdk.internal.math.FDBigInteger.makeImmutable:()V
53: .line 127
getstatic jdk.internal.math.FDBigInteger.POW_5_CACHE:[Ljdk/internal/math/FDBigInteger;
iload 0 /* i */
aload 1 /* pow5 */
aastore
54: .line 128
iinc 0 /* i */ 1
end local 1 // jdk.internal.math.FDBigInteger pow5
55: .line 124
StackMap locals:
StackMap stack:
iload 0 /* i */
getstatic jdk.internal.math.FDBigInteger.SMALL_5_POW:[I
arraylength
if_icmplt 51
56: .line 130
getstatic jdk.internal.math.FDBigInteger.POW_5_CACHE:[Ljdk/internal/math/FDBigInteger;
iload 0 /* i */
iconst_1
isub
aaload
astore 1 /* prev */
start local 1 // jdk.internal.math.FDBigInteger prev
57: .line 131
goto 61
58: .line 132
StackMap locals: jdk.internal.math.FDBigInteger
StackMap stack:
getstatic jdk.internal.math.FDBigInteger.POW_5_CACHE:[Ljdk/internal/math/FDBigInteger;
iload 0 /* i */
aload 1 /* prev */
iconst_5
invokevirtual jdk.internal.math.FDBigInteger.mult:(I)Ljdk/internal/math/FDBigInteger;
dup
astore 1 /* prev */
aastore
59: .line 133
aload 1 /* prev */
invokevirtual jdk.internal.math.FDBigInteger.makeImmutable:()V
60: .line 134
iinc 0 /* i */ 1
61: .line 131
StackMap locals:
StackMap stack:
iload 0 /* i */
sipush 340
if_icmplt 58
end local 1 // jdk.internal.math.FDBigInteger prev
end local 0 // int i
62: .line 139
new jdk.internal.math.FDBigInteger
dup
iconst_0
newarray 10
iconst_0
invokespecial jdk.internal.math.FDBigInteger.<init>:([II)V
putstatic jdk.internal.math.FDBigInteger.ZERO:Ljdk/internal/math/FDBigInteger;
63: .line 143
getstatic jdk.internal.math.FDBigInteger.ZERO:Ljdk/internal/math/FDBigInteger;
invokevirtual jdk.internal.math.FDBigInteger.makeImmutable:()V
64: .line 147
return
LocalVariableTable:
Start End Slot Name Signature
50 62 0 i I
52 55 1 pow5 Ljdk/internal/math/FDBigInteger;
57 62 1 prev Ljdk/internal/math/FDBigInteger;
private void <init>(int[], int);
descriptor: ([II)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=3
start local 0 // jdk.internal.math.FDBigInteger this
start local 1 // int[] data
start local 2 // int offset
0: .line 185
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
1: .line 157
aload 0 /* this */
iconst_0
putfield jdk.internal.math.FDBigInteger.isImmutable:Z
2: .line 186
aload 0 /* this */
aload 1 /* data */
putfield jdk.internal.math.FDBigInteger.data:[I
3: .line 187
aload 0 /* this */
iload 2 /* offset */
putfield jdk.internal.math.FDBigInteger.offset:I
4: .line 188
aload 0 /* this */
aload 1 /* data */
arraylength
putfield jdk.internal.math.FDBigInteger.nWords:I
5: .line 189
aload 0 /* this */
invokevirtual jdk.internal.math.FDBigInteger.trimLeadingZeros:()V
6: .line 190
return
end local 2 // int offset
end local 1 // int[] data
end local 0 // jdk.internal.math.FDBigInteger this
LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Ljdk/internal/math/FDBigInteger;
0 7 1 data [I
0 7 2 offset I
MethodParameters:
Name Flags
data
offset
public void <init>(long, char[], int, int);
descriptor: (J[CII)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=11, args_size=5
start local 0 // jdk.internal.math.FDBigInteger this
start local 1 // long lValue
start local 3 // char[] digits
start local 4 // int kDigits
start local 5 // int nDigits
0: .line 207
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
1: .line 157
aload 0 /* this */
iconst_0
putfield jdk.internal.math.FDBigInteger.isImmutable:Z
2: .line 208
iload 5 /* nDigits */
bipush 8
iadd
bipush 9
idiv
iconst_2
invokestatic java.lang.Math.max:(II)I
istore 6 /* n */
start local 6 // int n
3: .line 209
aload 0 /* this */
iload 6 /* n */
newarray 10
putfield jdk.internal.math.FDBigInteger.data:[I
4: .line 210
aload 0 /* this */
getfield jdk.internal.math.FDBigInteger.data:[I
iconst_0
lload 1 /* lValue */
l2i
iastore
5: .line 211
aload 0 /* this */
getfield jdk.internal.math.FDBigInteger.data:[I
iconst_1
lload 1 /* lValue */
bipush 32
lushr
l2i
iastore
6: .line 212
aload 0 /* this */
iconst_0
putfield jdk.internal.math.FDBigInteger.offset:I
7: .line 213
aload 0 /* this */
iconst_2
putfield jdk.internal.math.FDBigInteger.nWords:I
8: .line 214
iload 4 /* kDigits */
istore 7 /* i */
start local 7 // int i
9: .line 215
iload 5 /* nDigits */
iconst_5
isub
istore 8 /* limit */
start local 8 // int limit
10: .line 217
goto 17
11: .line 218
StackMap locals: jdk.internal.math.FDBigInteger long char[] int int int int int
StackMap stack:
iload 7 /* i */
iconst_5
iadd
istore 10 /* ilim */
start local 10 // int ilim
12: .line 219
aload 3 /* digits */
iload 7 /* i */
iinc 7 /* i */ 1
caload
bipush 48
isub
istore 9 /* v */
start local 9 // int v
13: .line 220
goto 15
14: .line 221
StackMap locals: int int
StackMap stack:
bipush 10
iload 9 /* v */
imul
aload 3 /* digits */
iload 7 /* i */
iinc 7 /* i */ 1
caload
iadd
bipush 48
isub
istore 9 /* v */
15: .line 220
StackMap locals:
StackMap stack:
iload 7 /* i */
iload 10 /* ilim */
if_icmplt 14
16: .line 223
aload 0 /* this */
ldc 100000
iload 9 /* v */
invokevirtual jdk.internal.math.FDBigInteger.multAddMe:(II)V
end local 10 // int ilim
end local 9 // int v
17: .line 217
StackMap locals:
StackMap stack:
iload 7 /* i */
iload 8 /* limit */
if_icmplt 11
18: .line 225
iconst_1
istore 10 /* factor */
start local 10 // int factor
19: .line 226
iconst_0
istore 9 /* v */
start local 9 // int v
20: .line 227
goto 23
21: .line 228
StackMap locals: int int
StackMap stack:
bipush 10
iload 9 /* v */
imul
aload 3 /* digits */
iload 7 /* i */
iinc 7 /* i */ 1
caload
iadd
bipush 48
isub
istore 9 /* v */
22: .line 229
iload 10 /* factor */
bipush 10
imul
istore 10 /* factor */
23: .line 227
StackMap locals:
StackMap stack:
iload 7 /* i */
iload 5 /* nDigits */
if_icmplt 21
24: .line 231
iload 10 /* factor */
iconst_1
if_icmpeq 26
25: .line 232
aload 0 /* this */
iload 10 /* factor */
iload 9 /* v */
invokevirtual jdk.internal.math.FDBigInteger.multAddMe:(II)V
26: .line 234
StackMap locals:
StackMap stack:
aload 0 /* this */
invokevirtual jdk.internal.math.FDBigInteger.trimLeadingZeros:()V
27: .line 235
return
end local 10 // int factor
end local 9 // int v
end local 8 // int limit
end local 7 // int i
end local 6 // int n
end local 5 // int nDigits
end local 4 // int kDigits
end local 3 // char[] digits
end local 1 // long lValue
end local 0 // jdk.internal.math.FDBigInteger this
LocalVariableTable:
Start End Slot Name Signature
0 28 0 this Ljdk/internal/math/FDBigInteger;
0 28 1 lValue J
0 28 3 digits [C
0 28 4 kDigits I
0 28 5 nDigits I
3 28 6 n I
9 28 7 i I
10 28 8 limit I
13 17 9 v I
20 28 9 v I
12 17 10 ilim I
19 28 10 factor I
MethodParameters:
Name Flags
lValue
digits
kDigits
nDigits
public static jdk.internal.math.FDBigInteger valueOfPow52(int, int);
descriptor: (II)Ljdk/internal/math/FDBigInteger;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=8, locals=5, args_size=2
start local 0 // int p5
start local 1 // int p2
0: .line 251
iload 0 /* p5 */
ifeq 15
1: .line 252
iload 1 /* p2 */
ifne 3
2: .line 253
iload 0 /* p5 */
invokestatic jdk.internal.math.FDBigInteger.big5pow:(I)Ljdk/internal/math/FDBigInteger;
areturn
3: .line 254
StackMap locals:
StackMap stack:
iload 0 /* p5 */
getstatic jdk.internal.math.FDBigInteger.SMALL_5_POW:[I
arraylength
if_icmpge 14
4: .line 255
getstatic jdk.internal.math.FDBigInteger.SMALL_5_POW:[I
iload 0 /* p5 */
iaload
istore 2 /* pow5 */
start local 2 // int pow5
5: .line 256
iload 1 /* p2 */
iconst_5
ishr
istore 3 /* wordcount */
start local 3 // int wordcount
6: .line 257
iload 1 /* p2 */
bipush 31
iand
istore 4 /* bitcount */
start local 4 // int bitcount
7: .line 258
iload 4 /* bitcount */
ifne 9
8: .line 259
new jdk.internal.math.FDBigInteger
dup
iconst_1
newarray 10
dup
iconst_0
iload 2 /* pow5 */
iastore
iload 3 /* wordcount */
invokespecial jdk.internal.math.FDBigInteger.<init>:([II)V
areturn
9: .line 261
StackMap locals: int int int
StackMap stack:
new jdk.internal.math.FDBigInteger
dup
iconst_2
newarray 10
dup
iconst_0
10: .line 262
iload 2 /* pow5 */
iload 4 /* bitcount */
ishl
iastore
dup
iconst_1
11: .line 263
iload 2 /* pow5 */
bipush 32
iload 4 /* bitcount */
isub
iushr
iastore
12: .line 264
iload 3 /* wordcount */
13: .line 261
invokespecial jdk.internal.math.FDBigInteger.<init>:([II)V
areturn
end local 4 // int bitcount
end local 3 // int wordcount
end local 2 // int pow5
14: .line 267
StackMap locals:
StackMap stack:
iload 0 /* p5 */
invokestatic jdk.internal.math.FDBigInteger.big5pow:(I)Ljdk/internal/math/FDBigInteger;
iload 1 /* p2 */
invokevirtual jdk.internal.math.FDBigInteger.leftShift:(I)Ljdk/internal/math/FDBigInteger;
areturn
15: .line 270
StackMap locals:
StackMap stack:
iload 1 /* p2 */
invokestatic jdk.internal.math.FDBigInteger.valueOfPow2:(I)Ljdk/internal/math/FDBigInteger;
areturn
end local 1 // int p2
end local 0 // int p5
LocalVariableTable:
Start End Slot Name Signature
0 16 0 p5 I
0 16 1 p2 I
5 14 2 pow5 I
6 14 3 wordcount I
7 14 4 bitcount I
MethodParameters:
Name Flags
p5
p2
public static jdk.internal.math.FDBigInteger valueOfMulPow52(long, int, int);
descriptor: (JII)Ljdk/internal/math/FDBigInteger;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=9, locals=13, args_size=3
start local 0 // long value
start local 2 // int p5
start local 3 // int p2
0: .line 289
getstatic jdk.internal.math.FDBigInteger.$assertionsDisabled:Z
ifne 1
iload 2 /* p5 */
ifge 1
new java.lang.AssertionError
dup
iload 2 /* p5 */
invokespecial java.lang.AssertionError.<init>:(I)V
athrow
1: .line 290
StackMap locals:
StackMap stack:
getstatic jdk.internal.math.FDBigInteger.$assertionsDisabled:Z
ifne 2
iload 3 /* p2 */
ifge 2
new java.lang.AssertionError
dup
iload 3 /* p2 */
invokespecial java.lang.AssertionError.<init>:(I)V
athrow
2: .line 291
StackMap locals:
StackMap stack:
lload 0 /* value */
l2i
istore 4 /* v0 */
start local 4 // int v0
3: .line 292
lload 0 /* value */
bipush 32
lushr
l2i
istore 5 /* v1 */
start local 5 // int v1
4: .line 293
iload 3 /* p2 */
iconst_5
ishr
istore 6 /* wordcount */
start local 6 // int wordcount
5: .line 294
iload 3 /* p2 */
bipush 31
iand
istore 7 /* bitcount */
start local 7 // int bitcount
6: .line 295
iload 2 /* p5 */
ifeq 36
7: .line 296
iload 2 /* p5 */
getstatic jdk.internal.math.FDBigInteger.SMALL_5_POW:[I
arraylength
if_icmpge 24
8: .line 297
getstatic jdk.internal.math.FDBigInteger.SMALL_5_POW:[I
iload 2 /* p5 */
iaload
i2l
ldc 4294967295
land
lstore 8 /* pow5 */
start local 8 // long pow5
9: .line 298
iload 4 /* v0 */
i2l
ldc 4294967295
land
lload 8 /* pow5 */
lmul
lstore 10 /* carry */
start local 10 // long carry
10: .line 299
lload 10 /* carry */
l2i
istore 4 /* v0 */
11: .line 300
lload 10 /* carry */
bipush 32
lushr
lstore 10 /* carry */
12: .line 301
iload 5 /* v1 */
i2l
ldc 4294967295
land
lload 8 /* pow5 */
lmul
lload 10 /* carry */
ladd
lstore 10 /* carry */
13: .line 302
lload 10 /* carry */
l2i
istore 5 /* v1 */
14: .line 303
lload 10 /* carry */
bipush 32
lushr
l2i
istore 12 /* v2 */
start local 12 // int v2
15: .line 304
iload 7 /* bitcount */
ifne 17
16: .line 305
new jdk.internal.math.FDBigInteger
dup
iconst_3
newarray 10
dup
iconst_0
iload 4 /* v0 */
iastore
dup
iconst_1
iload 5 /* v1 */
iastore
dup
iconst_2
iload 12 /* v2 */
iastore
iload 6 /* wordcount */
invokespecial jdk.internal.math.FDBigInteger.<init>:([II)V
areturn
17: .line 307
StackMap locals: long int int int int int int long long int
StackMap stack:
new jdk.internal.math.FDBigInteger
dup
iconst_4
newarray 10
dup
iconst_0
18: .line 308
iload 4 /* v0 */
iload 7 /* bitcount */
ishl
iastore
dup
iconst_1
19: .line 309
iload 5 /* v1 */
iload 7 /* bitcount */
ishl
iload 4 /* v0 */
bipush 32
iload 7 /* bitcount */
isub
iushr
ior
iastore
dup
iconst_2
20: .line 310
iload 12 /* v2 */
iload 7 /* bitcount */
ishl
iload 5 /* v1 */
bipush 32
iload 7 /* bitcount */
isub
iushr
ior
iastore
dup
iconst_3
21: .line 311
iload 12 /* v2 */
bipush 32
iload 7 /* bitcount */
isub
iushr
iastore
22: .line 312
iload 6 /* wordcount */
23: .line 307
invokespecial jdk.internal.math.FDBigInteger.<init>:([II)V
areturn
end local 12 // int v2
end local 10 // long carry
end local 8 // long pow5
24: .line 315
StackMap locals:
StackMap stack:
iload 2 /* p5 */
invokestatic jdk.internal.math.FDBigInteger.big5pow:(I)Ljdk/internal/math/FDBigInteger;
astore 8 /* pow5 */
start local 8 // jdk.internal.math.FDBigInteger pow5
25: .line 317
iload 5 /* v1 */
ifne 31
26: .line 318
aload 8 /* pow5 */
getfield jdk.internal.math.FDBigInteger.nWords:I
iconst_1
iadd
iload 3 /* p2 */
ifeq 27
iconst_1
goto 28
StackMap locals: long int int int int int int jdk.internal.math.FDBigInteger
StackMap stack: int
27: iconst_0
StackMap locals: long int int int int int int jdk.internal.math.FDBigInteger
StackMap stack: int int
28: iadd
newarray 10
astore 9 /* r */
start local 9 // int[] r
29: .line 319
aload 8 /* pow5 */
getfield jdk.internal.math.FDBigInteger.data:[I
aload 8 /* pow5 */
getfield jdk.internal.math.FDBigInteger.nWords:I
iload 4 /* v0 */
aload 9 /* r */
invokestatic jdk.internal.math.FDBigInteger.mult:([III[I)V
30: .line 320
goto 35
end local 9 // int[] r
31: .line 321
StackMap locals:
StackMap stack:
aload 8 /* pow5 */
getfield jdk.internal.math.FDBigInteger.nWords:I
iconst_2
iadd
iload 3 /* p2 */
ifeq 32
iconst_1
goto 33
StackMap locals:
StackMap stack: int
32: iconst_0
StackMap locals: long int int int int int int jdk.internal.math.FDBigInteger
StackMap stack: int int
33: iadd
newarray 10
astore 9 /* r */
start local 9 // int[] r
34: .line 322
aload 8 /* pow5 */
getfield jdk.internal.math.FDBigInteger.data:[I
aload 8 /* pow5 */
getfield jdk.internal.math.FDBigInteger.nWords:I
iload 4 /* v0 */
iload 5 /* v1 */
aload 9 /* r */
invokestatic jdk.internal.math.FDBigInteger.mult:([IIII[I)V
35: .line 324
StackMap locals: int[]
StackMap stack:
new jdk.internal.math.FDBigInteger
dup
aload 9 /* r */
aload 8 /* pow5 */
getfield jdk.internal.math.FDBigInteger.offset:I
invokespecial jdk.internal.math.FDBigInteger.<init>:([II)V
iload 3 /* p2 */
invokevirtual jdk.internal.math.FDBigInteger.leftShift:(I)Ljdk/internal/math/FDBigInteger;
areturn
end local 9 // int[] r
end local 8 // jdk.internal.math.FDBigInteger pow5
36: .line 326
StackMap locals:
StackMap stack:
iload 3 /* p2 */
ifeq 45
37: .line 327
iload 7 /* bitcount */
ifne 39
38: .line 328
new jdk.internal.math.FDBigInteger
dup
iconst_2
newarray 10
dup
iconst_0
iload 4 /* v0 */
iastore
dup
iconst_1
iload 5 /* v1 */
iastore
iload 6 /* wordcount */
invokespecial jdk.internal.math.FDBigInteger.<init>:([II)V
areturn
39: .line 330
StackMap locals:
StackMap stack:
new jdk.internal.math.FDBigInteger
dup
iconst_3
newarray 10
dup
iconst_0
40: .line 331
iload 4 /* v0 */
iload 7 /* bitcount */
ishl
iastore
dup
iconst_1
41: .line 332
iload 5 /* v1 */
iload 7 /* bitcount */
ishl
iload 4 /* v0 */
bipush 32
iload 7 /* bitcount */
isub
iushr
ior
iastore
dup
iconst_2
42: .line 333
iload 5 /* v1 */
bipush 32
iload 7 /* bitcount */
isub
iushr
iastore
43: .line 334
iload 6 /* wordcount */
44: .line 330
invokespecial jdk.internal.math.FDBigInteger.<init>:([II)V
areturn
45: .line 337
StackMap locals:
StackMap stack:
new jdk.internal.math.FDBigInteger
dup
iconst_2
newarray 10
dup
iconst_0
iload 4 /* v0 */
iastore
dup
iconst_1
iload 5 /* v1 */
iastore
iconst_0
invokespecial jdk.internal.math.FDBigInteger.<init>:([II)V
areturn
end local 7 // int bitcount
end local 6 // int wordcount
end local 5 // int v1
end local 4 // int v0
end local 3 // int p2
end local 2 // int p5
end local 0 // long value
LocalVariableTable:
Start End Slot Name Signature
0 46 0 value J
0 46 2 p5 I
0 46 3 p2 I
3 46 4 v0 I
4 46 5 v1 I
5 46 6 wordcount I
6 46 7 bitcount I
9 24 8 pow5 J
10 24 10 carry J
15 24 12 v2 I
25 36 8 pow5 Ljdk/internal/math/FDBigInteger;
29 31 9 r [I
34 36 9 r [I
MethodParameters:
Name Flags
value
p5
p2
private static jdk.internal.math.FDBigInteger valueOfPow2(int);
descriptor: (I)Ljdk/internal/math/FDBigInteger;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=7, locals=3, args_size=1
start local 0 // int p2
0: .line 353
iload 0 /* p2 */
iconst_5
ishr
istore 1 /* wordcount */
start local 1 // int wordcount
1: .line 354
iload 0 /* p2 */
bipush 31
iand
istore 2 /* bitcount */
start local 2 // int bitcount
2: .line 355
new jdk.internal.math.FDBigInteger
dup
iconst_1
newarray 10
dup
iconst_0
iconst_1
iload 2 /* bitcount */
ishl
iastore
iload 1 /* wordcount */
invokespecial jdk.internal.math.FDBigInteger.<init>:([II)V
areturn
end local 2 // int bitcount
end local 1 // int wordcount
end local 0 // int p2
LocalVariableTable:
Start End Slot Name Signature
0 3 0 p2 I
1 3 1 wordcount I
2 3 2 bitcount I
MethodParameters:
Name Flags
p2
private void trimLeadingZeros();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=1
start local 0 // jdk.internal.math.FDBigInteger this
0: .line 370
aload 0 /* this */
getfield jdk.internal.math.FDBigInteger.nWords:I
istore 1 /* i */
start local 1 // int i
1: .line 371
iload 1 /* i */
ifle 8
aload 0 /* this */
getfield jdk.internal.math.FDBigInteger.data:[I
iinc 1 /* i */ -1
iload 1 /* i */
iaload
ifne 8
2: .line 373
goto 4
3: .line 374
StackMap locals: int
StackMap stack:
iinc 1 /* i */ -1
4: .line 373
StackMap locals:
StackMap stack:
iload 1 /* i */
ifle 5
aload 0 /* this */
getfield jdk.internal.math.FDBigInteger.data:[I
iload 1 /* i */
iconst_1
isub
iaload
ifeq 3
5: .line 376
StackMap locals:
StackMap stack:
aload 0 /* this */
iload 1 /* i */
putfield jdk.internal.math.FDBigInteger.nWords:I
6: .line 377
iload 1 /* i */
ifne 8
7: .line 378
aload 0 /* this */
iconst_0
putfield jdk.internal.math.FDBigInteger.offset:I
8: .line 381
StackMap locals:
StackMap stack:
return
end local 1 // int i
end local 0 // jdk.internal.math.FDBigInteger this
LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Ljdk/internal/math/FDBigInteger;
1 9 1 i I
public int getNormalizationBias();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=1
start local 0 // jdk.internal.math.FDBigInteger this
0: .line 396
aload 0 /* this */
getfield jdk.internal.math.FDBigInteger.nWords:I
ifne 2
1: .line 397
new java.lang.IllegalArgumentException
dup
ldc "Zero value cannot be normalized"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: .line 399
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield jdk.internal.math.FDBigInteger.data:[I
aload 0 /* this */
getfield jdk.internal.math.FDBigInteger.nWords:I
iconst_1
isub
iaload
invokestatic java.lang.Integer.numberOfLeadingZeros:(I)I
istore 1 /* zeros */
start local 1 // int zeros
3: .line 400
iload 1 /* zeros */
iconst_4
if_icmpge 4
bipush 28
iload 1 /* zeros */
iadd
goto 5
StackMap locals: int
StackMap stack:
4: iload 1 /* zeros */
iconst_4
isub
StackMap locals:
StackMap stack: int
5: ireturn
end local 1 // int zeros
end local 0 // jdk.internal.math.FDBigInteger this
LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljdk/internal/math/FDBigInteger;
3 6 1 zeros I
private static void leftShift(int[], int, int[], int, int, int);
descriptor: ([II[IIII)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=7, args_size=6
start local 0 // int[] src
start local 1 // int idx
start local 2 // int[] result
start local 3 // int bitcount
start local 4 // int anticount
start local 5 // int prev
0: .line 421
goto 6
1: .line 422
StackMap locals:
StackMap stack:
iload 5 /* prev */
iload 3 /* bitcount */
ishl
istore 6 /* v */
start local 6 // int v
2: .line 423
aload 0 /* src */
iload 1 /* idx */
iconst_1
isub
iaload
istore 5 /* prev */
3: .line 424
iload 6 /* v */
iload 5 /* prev */
iload 4 /* anticount */
iushr
ior
istore 6 /* v */
4: .line 425
aload 2 /* result */
iload 1 /* idx */
iload 6 /* v */
iastore
end local 6 // int v
5: .line 421
iinc 1 /* idx */ -1
StackMap locals:
StackMap stack:
6: iload 1 /* idx */
ifgt 1
7: .line 427
iload 5 /* prev */
iload 3 /* bitcount */
ishl
istore 6 /* v */
start local 6 // int v
8: .line 428
aload 2 /* result */
iconst_0
iload 6 /* v */
iastore
9: .line 429
return
end local 6 // int v
end local 5 // int prev
end local 4 // int anticount
end local 3 // int bitcount
end local 2 // int[] result
end local 1 // int idx
end local 0 // int[] src
LocalVariableTable:
Start End Slot Name Signature
0 10 0 src [I
0 10 1 idx I
0 10 2 result [I
0 10 3 bitcount I
0 10 4 anticount I
0 10 5 prev I
2 5 6 v I
8 10 6 v I
MethodParameters:
Name Flags
src
idx
result
bitcount
anticount
prev
public jdk.internal.math.FDBigInteger leftShift(int);
descriptor: (I)Ljdk/internal/math/FDBigInteger;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=10, args_size=2
start local 0 // jdk.internal.math.FDBigInteger this
start local 1 // int shift
0: .line 458
iload 1 /* shift */
ifeq 1
aload 0 /* this */
getfield jdk.internal.math.FDBigInteger.nWords:I
ifne 2
1: .line 459
StackMap locals:
StackMap stack:
aload 0 /* this */
areturn
2: .line 461
StackMap locals:
StackMap stack:
iload 1 /* shift */
iconst_5
ishr
istore 2 /* wordcount */
start local 2 // int wordcount
3: .line 462
iload 1 /* shift */
bipush 31
iand
istore 3 /* bitcount */
start local 3 // int bitcount
4: .line 463
aload 0 /* this */
getfield jdk.internal.math.FDBigInteger.isImmutable:Z
ifeq 18
5: .line 464
iload 3 /* bitcount */
ifne 7
6: .line 465
new jdk.internal.math.FDBigInteger
dup
aload 0 /* this */
getfield jdk.internal.math.FDBigInteger.data:[I
aload 0 /* this */
getfield jdk.internal.math.FDBigInteger.nWords:I
invokestatic java.util.Arrays.copyOf:([II)[I
aload 0 /* this */
getfield jdk.internal.math.FDBigInteger.offset:I
iload 2 /* wordcount */
iadd
invokespecial jdk.internal.math.FDBigInteger.<init>:([II)V
areturn
7: .line 467
StackMap locals: int int
StackMap stack:
bipush 32
iload 3 /* bitcount */
isub
istore 4 /* anticount */
start local 4 // int anticount
8: .line 468
aload 0 /* this */
getfield jdk.internal.math.FDBigInteger.nWords:I
iconst_1
isub
istore 5 /* idx */
start local 5 // int idx
9: .line 469
aload 0 /* this */
getfield jdk.internal.math.FDBigInteger.data:[I
iload 5 /* idx */
iaload
istore 6 /* prev */
start local 6 // int prev
10: .line 470
iload 6 /* prev */
iload 4 /* anticount */
iushr
istore 7 /* hi */
start local 7 // int hi
11: .line 472
iload 7 /* hi */
ifeq 15
12: .line 473
aload 0 /* this */
getfield jdk.internal.math.FDBigInteger.nWords:I
iconst_1
iadd
newarray 10
astore 8 /* result */
start local 8 // int[] result
13: .line 474
aload 8 /* result */
aload 0 /* this */
getfield jdk.internal.math.FDBigInteger.nWords:I
iload 7 /* hi */
iastore
14: .line 475
goto 16
end local 8 // int[] result
15: .line 476
StackMap locals: jdk.internal.math.FDBigInteger int int int int int int int
StackMap stack:
aload 0 /* this */
getfield jdk.internal.math.FDBigInteger.nWords:I
newarray 10
astore 8 /* result */
start local 8 // int[] result
16: .line 478
StackMap locals: int[]
StackMap stack:
aload 0 /* this */
getfield jdk.internal.math.FDBigInteger.data:[I
iload 5 /* idx */
aload 8 /* result */
iload 3 /* bitcount */
iload 4 /* anticount */
iload 6 /* prev */
invokestatic jdk.internal.math.FDBigInteger.leftShift:([II[IIII)V
17: .line 479
new jdk.internal.math.FDBigInteger
dup
aload 8 /* result */
aload 0 /* this */
getfield jdk.internal.math.FDBigInteger.offset:I
iload 2 /* wordcount */
iadd
invokespecial jdk.internal.math.FDBigInteger.<init>:([II)V
areturn
end local 8 // int[] result
end local 7 // int hi
end local 6 // int prev
end local 5 // int idx
end local 4 // int anticount
18: .line 482
StackMap locals: jdk.internal.math.FDBigInteger int int int
StackMap stack:
iload 3 /* bitcount */
ifeq 46
19: .line 483
bipush 32
iload 3 /* bitcount */
isub
istore 4 /* anticount */
start local 4 // int anticount
20: .line 484
aload 0 /* this */
getfield jdk.internal.math.FDBigInteger.data:[I
iconst_0
iaload
iload 3 /* bitcount */
ishl
ifne 36
21: .line 485
iconst_0
istore 5 /* idx */
start local 5 // int idx
22: .line 486
aload 0 /* this */
getfield jdk.internal.math.FDBigInteger.data:[I
iload 5 /* idx */
iaload
istore 6 /* prev */
start local 6 // int prev
23: .line 487
goto 29
24: .line 488
StackMap locals: int int int
StackMap stack:
iload 6 /* prev */
iload 4 /* anticount */
iushr
istore 7 /* v */
start local 7 // int v
25: .line 489
aload 0 /* this */
getfield jdk.internal.math.FDBigInteger.data:[I
iload 5 /* idx */
iconst_1
iadd
iaload
istore 6 /* prev */
26: .line 490
iload 7 /* v */
iload 6 /* prev */
iload 3 /* bitcount */
ishl
ior
istore 7 /* v */
27: .line 491
aload 0 /* this */
getfield jdk.internal.math.FDBigInteger.data:[I
iload 5 /* idx */
iload 7 /* v */
iastore
end local 7 // int v
28: .line 487
iinc 5 /* idx */ 1
StackMap locals:
StackMap stack:
29: iload 5 /* idx */
aload 0 /* this */
getfield jdk.internal.math.FDBigInteger.nWords:I
iconst_1
isub
if_icmplt 24
30: .line 493
iload 6 /* prev */
iload 4 /* anticount */
iushr
istore 7 /* v */
start local 7 // int v
31: .line 494
aload 0 /* this */
getfield jdk.internal.math.FDBigInteger.data:[I
iload 5 /* idx */
iload 7 /* v */
iastore
32: .line 495
iload 7 /* v */
ifne 34
33: .line 496
aload 0 /* this */
dup
getfield jdk.internal.math.FDBigInteger.nWords:I
iconst_1
isub
putfield jdk.internal.math.FDBigInteger.nWords:I
34: .line 498
StackMap locals: int
StackMap stack:
aload 0 /* this */
dup
getfield jdk.internal.math.FDBigInteger.offset:I
iconst_1
iadd
putfield jdk.internal.math.FDBigInteger.offset:I
end local 7 // int v
end local 6 // int prev
end local 5 // int idx
35: .line 499
goto 46
36: .line 500
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield jdk.internal.math.FDBigInteger.nWords:I
iconst_1
isub
istore 5 /* idx */
start local 5 // int idx
37: .line 501
aload 0 /* this */
getfield jdk.internal.math.FDBigInteger.data:[I
iload 5 /* idx */
iaload
istore 6 /* prev */
start local 6 // int prev
38: .line 502
iload 6 /* prev */
iload 4 /* anticount */
iushr
istore 7 /* hi */
start local 7 // int hi
39: .line 503
aload 0 /* this */
getfield jdk.internal.math.FDBigInteger.data:[I
astore 8 /* result */
start local 8 // int[] result
40: .line 504
aload 0 /* this */
getfield jdk.internal.math.FDBigInteger.data:[I
astore 9 /* src */
start local 9 // int[] src
41: .line 505
iload 7 /* hi */
ifeq 45
42: .line 506
aload 0 /* this */
getfield jdk.internal.math.FDBigInteger.nWords:I
aload 0 /* this */
getfield jdk.internal.math.FDBigInteger.data:[I
arraylength
if_icmpne 44
43: .line 507
aload 0 /* this */
aload 0 /* this */
getfield jdk.internal.math.FDBigInteger.nWords:I
iconst_1
iadd
newarray 10
dup
astore 8 /* result */
putfield jdk.internal.math.FDBigInteger.data:[I
44: .line 509
StackMap locals: jdk.internal.math.FDBigInteger int int int int int int int int[] int[]
StackMap stack:
aload 8 /* result */
aload 0 /* this */
dup
getfield jdk.internal.math.FDBigInteger.nWords:I
dup_x1
iconst_1
iadd
putfield jdk.internal.math.FDBigInteger.nWords:I
iload 7 /* hi */
iastore
45: .line 511
StackMap locals:
StackMap stack:
aload 9 /* src */
iload 5 /* idx */
aload 8 /* result */
iload 3 /* bitcount */
iload 4 /* anticount */
iload 6 /* prev */
invokestatic jdk.internal.math.FDBigInteger.leftShift:([II[IIII)V
end local 9 // int[] src
end local 8 // int[] result
end local 7 // int hi
end local 6 // int prev
end local 5 // int idx
end local 4 // int anticount
46: .line 514
StackMap locals: jdk.internal.math.FDBigInteger int int int
StackMap stack:
aload 0 /* this */
dup
getfield jdk.internal.math.FDBigInteger.offset:I
iload 2 /* wordcount */
iadd
putfield jdk.internal.math.FDBigInteger.offset:I
47: .line 515
aload 0 /* this */
areturn
end local 3 // int bitcount
end local 2 // int wordcount
end local 1 // int shift
end local 0 // jdk.internal.math.FDBigInteger this
LocalVariableTable:
Start End Slot Name Signature
0 48 0 this Ljdk/internal/math/FDBigInteger;
0 48 1 shift I
3 48 2 wordcount I
4 48 3 bitcount I
8 18 4 anticount I
9 18 5 idx I
10 18 6 prev I
11 18 7 hi I
13 15 8 result [I
16 18 8 result [I
20 46 4 anticount I
22 35 5 idx I
23 35 6 prev I
25 28 7 v I
31 35 7 v I
37 46 5 idx I
38 46 6 prev I
39 46 7 hi I
40 46 8 result [I
41 46 9 src [I
MethodParameters:
Name Flags
shift
private int size();
descriptor: ()I
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 // jdk.internal.math.FDBigInteger this
0: .line 534
aload 0 /* this */
getfield jdk.internal.math.FDBigInteger.nWords:I
aload 0 /* this */
getfield jdk.internal.math.FDBigInteger.offset:I
iadd
ireturn
end local 0 // jdk.internal.math.FDBigInteger this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/internal/math/FDBigInteger;
public int quoRemIteration(jdk.internal.math.FDBigInteger);
descriptor: (Ljdk/internal/math/FDBigInteger;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=15, args_size=2
start local 0 // jdk.internal.math.FDBigInteger this
start local 1 // jdk.internal.math.FDBigInteger S
0: .line 564
getstatic jdk.internal.math.FDBigInteger.$assertionsDisabled:Z
ifne 1
aload 0 /* this */
getfield jdk.internal.math.FDBigInteger.isImmutable:Z
ifeq 1
new java.lang.AssertionError
dup
ldc "cannot modify immutable value"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
1: .line 568
StackMap locals:
StackMap stack:
aload 0 /* this */
invokevirtual jdk.internal.math.FDBigInteger.size:()I
istore 2 /* thSize */
start local 2 // int thSize
2: .line 569
aload 1 /* S */
invokevirtual jdk.internal.math.FDBigInteger.size:()I
istore 3 /* sSize */
start local 3 // int sSize
3: .line 570
iload 2 /* thSize */
iload 3 /* sSize */
if_icmpge 10
4: .line 573
aload 0 /* this */
getfield jdk.internal.math.FDBigInteger.data:[I
aload 0 /* this */
getfield jdk.internal.math.FDBigInteger.nWords:I
aload 0 /* this */
getfield jdk.internal.math.FDBigInteger.data:[I
invokestatic jdk.internal.math.FDBigInteger.multAndCarryBy10:([II[I)I
istore 4 /* p */
start local 4 // int p
5: .line 574
iload 4 /* p */
ifeq 8
6: .line 575
aload 0 /* this */
getfield jdk.internal.math.FDBigInteger.data:[I
aload 0 /* this */
dup
getfield jdk.internal.math.FDBigInteger.nWords:I
dup_x1
iconst_1
iadd
putfield jdk.internal.math.FDBigInteger.nWords:I
iload 4 /* p */
iastore
7: .line 576
goto 9
8: .line 577
StackMap locals: int int int
StackMap stack:
aload 0 /* this */
invokevirtual jdk.internal.math.FDBigInteger.trimLeadingZeros:()V
9: .line 579
StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 4 // int p
10: .line 580
StackMap locals:
StackMap stack:
iload 2 /* thSize */
iload 3 /* sSize */
if_icmple 12
11: .line 581
new java.lang.IllegalArgumentException
dup
ldc "disparate values"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
12: .line 586
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield jdk.internal.math.FDBigInteger.data:[I
aload 0 /* this */
getfield jdk.internal.math.FDBigInteger.nWords:I
iconst_1
isub
iaload
i2l
ldc 4294967295
land
aload 1 /* S */
getfield jdk.internal.math.FDBigInteger.data:[I
aload 1 /* S */
getfield jdk.internal.math.FDBigInteger.nWords:I
iconst_1
isub
iaload
i2l
ldc 4294967295
land
ldiv
lstore 4 /* q */
start local 4 // long q
13: .line 587
aload 0 /* this */
lload 4 /* q */
aload 1 /* S */
invokevirtual jdk.internal.math.FDBigInteger.multDiffMe:(JLjdk/internal/math/FDBigInteger;)J
lstore 6 /* diff */
start local 6 // long diff
14: .line 588
lload 6 /* diff */
lconst_0
lcmp
ifeq 31
15: .line 596
lconst_0
lstore 8 /* sum */
start local 8 // long sum
16: .line 597
aload 1 /* S */
getfield jdk.internal.math.FDBigInteger.offset:I
aload 0 /* this */
getfield jdk.internal.math.FDBigInteger.offset:I
isub
istore 10 /* tStart */
start local 10 // int tStart
17: .line 599
aload 1 /* S */
getfield jdk.internal.math.FDBigInteger.data:[I
astore 11 /* sd */
start local 11 // int[] sd
18: .line 600
aload 0 /* this */
getfield jdk.internal.math.FDBigInteger.data:[I
astore 12 /* td */
start local 12 // int[] td
19: .line 601
goto 30
20: .line 602
StackMap locals: jdk.internal.math.FDBigInteger jdk.internal.math.FDBigInteger int int long long long int int[] int[]
StackMap stack:
iconst_0
istore 13 /* sIndex */
start local 13 // int sIndex
21: iload 10 /* tStart */
istore 14 /* tIndex */
start local 14 // int tIndex
22: goto 27
23: .line 603
StackMap locals: int int
StackMap stack:
lload 8 /* sum */
aload 12 /* td */
iload 14 /* tIndex */
iaload
i2l
ldc 4294967295
land
aload 11 /* sd */
iload 13 /* sIndex */
iaload
i2l
ldc 4294967295
land
ladd
ladd
lstore 8 /* sum */
24: .line 604
aload 12 /* td */
iload 14 /* tIndex */
lload 8 /* sum */
l2i
iastore
25: .line 605
lload 8 /* sum */
bipush 32
lushr
lstore 8 /* sum */
26: .line 602
iinc 13 /* sIndex */ 1
iinc 14 /* tIndex */ 1
StackMap locals:
StackMap stack:
27: iload 14 /* tIndex */
aload 0 /* this */
getfield jdk.internal.math.FDBigInteger.nWords:I
if_icmplt 23
end local 14 // int tIndex
end local 13 // int sIndex
28: .line 615
getstatic jdk.internal.math.FDBigInteger.$assertionsDisabled:Z
ifne 29
lload 8 /* sum */
lconst_0
lcmp
ifeq 29
lload 8 /* sum */
lconst_1
lcmp
ifeq 29
new java.lang.AssertionError
dup
lload 8 /* sum */
invokespecial java.lang.AssertionError.<init>:(J)V
athrow
29: .line 616
StackMap locals:
StackMap stack:
lload 4 /* q */
lconst_1
lsub
lstore 4 /* q */
30: .line 601
StackMap locals:
StackMap stack:
lload 8 /* sum */
lconst_0
lcmp
ifeq 20
end local 12 // int[] td
end local 11 // int[] sd
end local 10 // int tStart
end local 8 // long sum
31: .line 622
StackMap locals: jdk.internal.math.FDBigInteger jdk.internal.math.FDBigInteger int int long long
StackMap stack:
aload 0 /* this */
getfield jdk.internal.math.FDBigInteger.data:[I
aload 0 /* this */
getfield jdk.internal.math.FDBigInteger.nWords:I
aload 0 /* this */
getfield jdk.internal.math.FDBigInteger.data:[I
invokestatic jdk.internal.math.FDBigInteger.multAndCarryBy10:([II[I)I
istore 8 /* p */
start local 8 // int p
32: .line 623
getstatic jdk.internal.math.FDBigInteger.$assertionsDisabled:Z
ifne 33
iload 8 /* p */
ifeq 33
new java.lang.AssertionError
dup
iload 8 /* p */
invokespecial java.lang.AssertionError.<init>:(I)V
athrow
33: .line 624
StackMap locals: int
StackMap stack:
aload 0 /* this */
invokevirtual jdk.internal.math.FDBigInteger.trimLeadingZeros:()V
34: .line 625
lload 4 /* q */
l2i
ireturn
end local 8 // int p
end local 6 // long diff
end local 4 // long q
end local 3 // int sSize
end local 2 // int thSize
end local 1 // jdk.internal.math.FDBigInteger S
end local 0 // jdk.internal.math.FDBigInteger this
LocalVariableTable:
Start End Slot Name Signature
0 35 0 this Ljdk/internal/math/FDBigInteger;
0 35 1 S Ljdk/internal/math/FDBigInteger;
2 35 2 thSize I
3 35 3 sSize I
5 10 4 p I
13 35 4 q J
14 35 6 diff J
16 31 8 sum J
17 31 10 tStart I
18 31 11 sd [I
19 31 12 td [I
21 28 13 sIndex I
22 28 14 tIndex I
32 35 8 p I
Exceptions:
throws java.lang.IllegalArgumentException
MethodParameters:
Name Flags
S
public jdk.internal.math.FDBigInteger multBy10();
descriptor: ()Ljdk/internal/math/FDBigInteger;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=2, args_size=1
start local 0 // jdk.internal.math.FDBigInteger this
0: .line 654
aload 0 /* this */
getfield jdk.internal.math.FDBigInteger.nWords:I
ifne 2
1: .line 655
aload 0 /* this */
areturn
2: .line 657
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield jdk.internal.math.FDBigInteger.isImmutable:Z
ifeq 6
3: .line 658
aload 0 /* this */
getfield jdk.internal.math.FDBigInteger.nWords:I
iconst_1
iadd
newarray 10
astore 1 /* res */
start local 1 // int[] res
4: .line 659
aload 1 /* res */
aload 0 /* this */
getfield jdk.internal.math.FDBigInteger.nWords:I
aload 0 /* this */
getfield jdk.internal.math.FDBigInteger.data:[I
aload 0 /* this */
getfield jdk.internal.math.FDBigInteger.nWords:I
aload 1 /* res */
invokestatic jdk.internal.math.FDBigInteger.multAndCarryBy10:([II[I)I
iastore
5: .line 660
new jdk.internal.math.FDBigInteger
dup
aload 1 /* res */
aload 0 /* this */
getfield jdk.internal.math.FDBigInteger.offset:I
invokespecial jdk.internal.math.FDBigInteger.<init>:([II)V
areturn
end local 1 // int[] res
6: .line 662
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield jdk.internal.math.FDBigInteger.data:[I
aload 0 /* this */
getfield jdk.internal.math.FDBigInteger.nWords:I
aload 0 /* this */
getfield jdk.internal.math.FDBigInteger.data:[I
invokestatic jdk.internal.math.FDBigInteger.multAndCarryBy10:([II[I)I
istore 1 /* p */
start local 1 // int p
7: .line 663
iload 1 /* p */
ifeq 16
8: .line 664
aload 0 /* this */
getfield jdk.internal.math.FDBigInteger.nWords:I
aload 0 /* this */
getfield jdk.internal.math.FDBigInteger.data:[I
arraylength
if_icmpne 14
9: .line 665
aload 0 /* this */
getfield jdk.internal.math.FDBigInteger.data:[I
iconst_0
iaload
ifne 13
10: .line 666
aload 0 /* this */
getfield jdk.internal.math.FDBigInteger.data:[I
iconst_1
aload 0 /* this */
getfield jdk.internal.math.FDBigInteger.data:[I
iconst_0
aload 0 /* this */
dup
getfield jdk.internal.math.FDBigInteger.nWords:I
iconst_1
isub
dup_x1
putfield jdk.internal.math.FDBigInteger.nWords:I
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
11: .line 667
aload 0 /* this */
dup
getfield jdk.internal.math.FDBigInteger.offset:I
iconst_1
iadd
putfield jdk.internal.math.FDBigInteger.offset:I
12: .line 668
goto 14
13: .line 669
StackMap locals: int
StackMap stack:
aload 0 /* this */
aload 0 /* this */
getfield jdk.internal.math.FDBigInteger.data:[I
aload 0 /* this */
getfield jdk.internal.math.FDBigInteger.data:[I
arraylength
iconst_1
iadd
invokestatic java.util.Arrays.copyOf:([II)[I
putfield jdk.internal.math.FDBigInteger.data:[I
14: .line 672
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield jdk.internal.math.FDBigInteger.data:[I
aload 0 /* this */
dup
getfield jdk.internal.math.FDBigInteger.nWords:I
dup_x1
iconst_1
iadd
putfield jdk.internal.math.FDBigInteger.nWords:I
iload 1 /* p */
iastore
15: .line 673
goto 17
16: .line 674
StackMap locals:
StackMap stack:
aload 0 /* this */
invokevirtual jdk.internal.math.FDBigInteger.trimLeadingZeros:()V
17: .line 676
StackMap locals:
StackMap stack:
aload 0 /* this */
areturn
end local 1 // int p
end local 0 // jdk.internal.math.FDBigInteger this
LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Ljdk/internal/math/FDBigInteger;
4 6 1 res [I
7 18 1 p I
public jdk.internal.math.FDBigInteger multByPow52(int, int);
descriptor: (II)Ljdk/internal/math/FDBigInteger;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=7, args_size=3
start local 0 // jdk.internal.math.FDBigInteger this
start local 1 // int p5
start local 2 // int p2
0: .line 709
aload 0 /* this */
getfield jdk.internal.math.FDBigInteger.nWords:I
ifne 2
1: .line 710
aload 0 /* this */
areturn
2: .line 712
StackMap locals:
StackMap stack:
aload 0 /* this */
astore 3 /* res */
start local 3 // jdk.internal.math.FDBigInteger res
3: .line 713
iload 1 /* p5 */
ifeq 16
4: .line 715
iload 2 /* p2 */
ifeq 5
iconst_1
goto 6
StackMap locals: jdk.internal.math.FDBigInteger
StackMap stack:
5: iconst_0
StackMap locals:
StackMap stack: int
6: istore 5 /* extraSize */
start local 5 // int extraSize
7: .line 716
iload 1 /* p5 */
getstatic jdk.internal.math.FDBigInteger.SMALL_5_POW:[I
arraylength
if_icmpge 12
8: .line 717
aload 0 /* this */
getfield jdk.internal.math.FDBigInteger.nWords:I
iconst_1
iadd
iload 5 /* extraSize */
iadd
newarray 10
astore 4 /* r */
start local 4 // int[] r
9: .line 718
aload 0 /* this */
getfield jdk.internal.math.FDBigInteger.data:[I
aload 0 /* this */
getfield jdk.internal.math.FDBigInteger.nWords:I
getstatic jdk.internal.math.FDBigInteger.SMALL_5_POW:[I
iload 1 /* p5 */
iaload
aload 4 /* r */
invokestatic jdk.internal.math.FDBigInteger.mult:([III[I)V
10: .line 719
new jdk.internal.math.FDBigInteger
dup
aload 4 /* r */
aload 0 /* this */
getfield jdk.internal.math.FDBigInteger.offset:I
invokespecial jdk.internal.math.FDBigInteger.<init>:([II)V
astore 3 /* res */
11: .line 720
goto 16
end local 4 // int[] r
12: .line 721
StackMap locals: jdk.internal.math.FDBigInteger int int jdk.internal.math.FDBigInteger top int
StackMap stack:
iload 1 /* p5 */
invokestatic jdk.internal.math.FDBigInteger.big5pow:(I)Ljdk/internal/math/FDBigInteger;
astore 6 /* pow5 */
start local 6 // jdk.internal.math.FDBigInteger pow5
13: .line 722
aload 0 /* this */
getfield jdk.internal.math.FDBigInteger.nWords:I
aload 6 /* pow5 */
invokevirtual jdk.internal.math.FDBigInteger.size:()I
iadd
iload 5 /* extraSize */
iadd
newarray 10
astore 4 /* r */
start local 4 // int[] r
14: .line 723
aload 0 /* this */
getfield jdk.internal.math.FDBigInteger.data:[I
aload 0 /* this */
getfield jdk.internal.math.FDBigInteger.nWords:I
aload 6 /* pow5 */
getfield jdk.internal.math.FDBigInteger.data:[I
aload 6 /* pow5 */
getfield jdk.internal.math.FDBigInteger.nWords:I
aload 4 /* r */
invokestatic jdk.internal.math.FDBigInteger.mult:([II[II[I)V
15: .line 724
new jdk.internal.math.FDBigInteger
dup
aload 4 /* r */
aload 0 /* this */
getfield jdk.internal.math.FDBigInteger.offset:I
aload 6 /* pow5 */
getfield jdk.internal.math.FDBigInteger.offset:I
iadd
invokespecial jdk.internal.math.FDBigInteger.<init>:([II)V
astore 3 /* res */
end local 6 // jdk.internal.math.FDBigInteger pow5
end local 5 // int extraSize
end local 4 // int[] r
16: .line 727
StackMap locals: jdk.internal.math.FDBigInteger int int jdk.internal.math.FDBigInteger
StackMap stack:
aload 3 /* res */
iload 2 /* p2 */
invokevirtual jdk.internal.math.FDBigInteger.leftShift:(I)Ljdk/internal/math/FDBigInteger;
areturn
end local 3 // jdk.internal.math.FDBigInteger res
end local 2 // int p2
end local 1 // int p5
end local 0 // jdk.internal.math.FDBigInteger this
LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Ljdk/internal/math/FDBigInteger;
0 17 1 p5 I
0 17 2 p2 I
3 17 3 res Ljdk/internal/math/FDBigInteger;
9 12 4 r [I
14 16 4 r [I
7 16 5 extraSize I
13 16 6 pow5 Ljdk/internal/math/FDBigInteger;
MethodParameters:
Name Flags
p5
p2
private static void mult(int[], int, int[], int, int[]);
descriptor: ([II[II[I)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=10, locals=11, args_size=5
start local 0 // int[] s1
start local 1 // int s1Len
start local 2 // int[] s2
start local 3 // int s2Len
start local 4 // int[] dst
0: .line 746
iconst_0
istore 5 /* i */
start local 5 // int i
1: goto 13
2: .line 747
StackMap locals: int
StackMap stack:
aload 0 /* s1 */
iload 5 /* i */
iaload
i2l
ldc 4294967295
land
lstore 6 /* v */
start local 6 // long v
3: .line 748
lconst_0
lstore 8 /* p */
start local 8 // long p
4: .line 749
iconst_0
istore 10 /* j */
start local 10 // int j
5: goto 10
6: .line 750
StackMap locals: long long int
StackMap stack:
lload 8 /* p */
aload 4 /* dst */
iload 5 /* i */
iload 10 /* j */
iadd
iaload
i2l
ldc 4294967295
land
lload 6 /* v */
aload 2 /* s2 */
iload 10 /* j */
iaload
i2l
ldc 4294967295
land
lmul
ladd
ladd
lstore 8 /* p */
7: .line 751
aload 4 /* dst */
iload 5 /* i */
iload 10 /* j */
iadd
lload 8 /* p */
l2i
iastore
8: .line 752
lload 8 /* p */
bipush 32
lushr
lstore 8 /* p */
9: .line 749
iinc 10 /* j */ 1
StackMap locals:
StackMap stack:
10: iload 10 /* j */
iload 3 /* s2Len */
if_icmplt 6
end local 10 // int j
11: .line 754
aload 4 /* dst */
iload 5 /* i */
iload 3 /* s2Len */
iadd
lload 8 /* p */
l2i
iastore
end local 8 // long p
end local 6 // long v
12: .line 746
iinc 5 /* i */ 1
StackMap locals:
StackMap stack:
13: iload 5 /* i */
iload 1 /* s1Len */
if_icmplt 2
end local 5 // int i
14: .line 756
return
end local 4 // int[] dst
end local 3 // int s2Len
end local 2 // int[] s2
end local 1 // int s1Len
end local 0 // int[] s1
LocalVariableTable:
Start End Slot Name Signature
0 15 0 s1 [I
0 15 1 s1Len I
0 15 2 s2 [I
0 15 3 s2Len I
0 15 4 dst [I
1 14 5 i I
3 12 6 v J
4 12 8 p J
5 11 10 j I
MethodParameters:
Name Flags
s1
s1Len
s2
s2Len
dst
public jdk.internal.math.FDBigInteger leftInplaceSub(jdk.internal.math.FDBigInteger);
descriptor: (Ljdk/internal/math/FDBigInteger;)Ljdk/internal/math/FDBigInteger;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=14, args_size=2
start local 0 // jdk.internal.math.FDBigInteger this
start local 1 // jdk.internal.math.FDBigInteger subtrahend
0: .line 782
getstatic jdk.internal.math.FDBigInteger.$assertionsDisabled:Z
ifne 1
aload 0 /* this */
invokevirtual jdk.internal.math.FDBigInteger.size:()I
aload 1 /* subtrahend */
invokevirtual jdk.internal.math.FDBigInteger.size:()I
if_icmpge 1
new java.lang.AssertionError
dup
ldc "result should be positive"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
1: .line 784
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield jdk.internal.math.FDBigInteger.isImmutable:Z
ifeq 4
2: .line 785
new jdk.internal.math.FDBigInteger
dup
aload 0 /* this */
getfield jdk.internal.math.FDBigInteger.data:[I
invokevirtual int[].clone:()Ljava/lang/Object;
checkcast int[]
aload 0 /* this */
getfield jdk.internal.math.FDBigInteger.offset:I
invokespecial jdk.internal.math.FDBigInteger.<init>:([II)V
astore 2 /* minuend */
start local 2 // jdk.internal.math.FDBigInteger minuend
3: .line 786
goto 5
end local 2 // jdk.internal.math.FDBigInteger minuend
4: .line 787
StackMap locals:
StackMap stack:
aload 0 /* this */
astore 2 /* minuend */
start local 2 // jdk.internal.math.FDBigInteger minuend
5: .line 789
StackMap locals: jdk.internal.math.FDBigInteger
StackMap stack:
aload 1 /* subtrahend */
getfield jdk.internal.math.FDBigInteger.offset:I
aload 2 /* minuend */
getfield jdk.internal.math.FDBigInteger.offset:I
isub
istore 3 /* offsetDiff */
start local 3 // int offsetDiff
6: .line 790
aload 1 /* subtrahend */
getfield jdk.internal.math.FDBigInteger.data:[I
astore 4 /* sData */
start local 4 // int[] sData
7: .line 791
aload 2 /* minuend */
getfield jdk.internal.math.FDBigInteger.data:[I
astore 5 /* mData */
start local 5 // int[] mData
8: .line 792
aload 1 /* subtrahend */
getfield jdk.internal.math.FDBigInteger.nWords:I
istore 6 /* subLen */
start local 6 // int subLen
9: .line 793
aload 2 /* minuend */
getfield jdk.internal.math.FDBigInteger.nWords:I
istore 7 /* minLen */
start local 7 // int minLen
10: .line 794
iload 3 /* offsetDiff */
ifge 22
11: .line 796
iload 7 /* minLen */
iload 3 /* offsetDiff */
isub
istore 8 /* rLen */
start local 8 // int rLen
12: .line 797
iload 8 /* rLen */
aload 5 /* mData */
arraylength
if_icmpge 16
13: .line 798
aload 5 /* mData */
iconst_0
aload 5 /* mData */
iload 3 /* offsetDiff */
ineg
iload 7 /* minLen */
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
14: .line 799
aload 5 /* mData */
iconst_0
iload 3 /* offsetDiff */
ineg
iconst_0
invokestatic java.util.Arrays.fill:([IIII)V
15: .line 800
goto 19
16: .line 801
StackMap locals: jdk.internal.math.FDBigInteger jdk.internal.math.FDBigInteger jdk.internal.math.FDBigInteger int int[] int[] int int int
StackMap stack:
iload 8 /* rLen */
newarray 10
astore 9 /* r */
start local 9 // int[] r
17: .line 802
aload 5 /* mData */
iconst_0
aload 9 /* r */
iload 3 /* offsetDiff */
ineg
iload 7 /* minLen */
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
18: .line 803
aload 2 /* minuend */
aload 9 /* r */
dup
astore 5 /* mData */
putfield jdk.internal.math.FDBigInteger.data:[I
end local 9 // int[] r
19: .line 805
StackMap locals:
StackMap stack:
aload 2 /* minuend */
aload 1 /* subtrahend */
getfield jdk.internal.math.FDBigInteger.offset:I
putfield jdk.internal.math.FDBigInteger.offset:I
20: .line 806
aload 2 /* minuend */
iload 8 /* rLen */
dup
istore 7 /* minLen */
putfield jdk.internal.math.FDBigInteger.nWords:I
21: .line 807
iconst_0
istore 3 /* offsetDiff */
end local 8 // int rLen
22: .line 809
StackMap locals:
StackMap stack:
lconst_0
lstore 8 /* borrow */
start local 8 // long borrow
23: .line 810
iload 3 /* offsetDiff */
istore 10 /* mIndex */
start local 10 // int mIndex
24: .line 811
iconst_0
istore 11 /* sIndex */
start local 11 // int sIndex
25: goto 30
26: .line 812
StackMap locals: long int int
StackMap stack:
aload 5 /* mData */
iload 10 /* mIndex */
iaload
i2l
ldc 4294967295
land
aload 4 /* sData */
iload 11 /* sIndex */
iaload
i2l
ldc 4294967295
land
lsub
lload 8 /* borrow */
ladd
lstore 12 /* diff */
start local 12 // long diff
27: .line 813
aload 5 /* mData */
iload 10 /* mIndex */
lload 12 /* diff */
l2i
iastore
28: .line 814
lload 12 /* diff */
bipush 32
lshr
lstore 8 /* borrow */
end local 12 // long diff
29: .line 811
iinc 11 /* sIndex */ 1
iinc 10 /* mIndex */ 1
StackMap locals:
StackMap stack:
30: iload 11 /* sIndex */
iload 6 /* subLen */
if_icmpge 36
iload 10 /* mIndex */
iload 7 /* minLen */
if_icmplt 26
end local 11 // int sIndex
31: .line 816
goto 36
32: .line 817
StackMap locals:
StackMap stack:
aload 5 /* mData */
iload 10 /* mIndex */
iaload
i2l
ldc 4294967295
land
lload 8 /* borrow */
ladd
lstore 11 /* diff */
start local 11 // long diff
33: .line 818
aload 5 /* mData */
iload 10 /* mIndex */
lload 11 /* diff */
l2i
iastore
34: .line 819
lload 11 /* diff */
bipush 32
lshr
lstore 8 /* borrow */
end local 11 // long diff
35: .line 816
iinc 10 /* mIndex */ 1
StackMap locals:
StackMap stack:
36: lload 8 /* borrow */
lconst_0
lcmp
ifeq 37
iload 10 /* mIndex */
iload 7 /* minLen */
if_icmplt 32
37: .line 821
StackMap locals:
StackMap stack:
getstatic jdk.internal.math.FDBigInteger.$assertionsDisabled:Z
ifne 38
lload 8 /* borrow */
lconst_0
lcmp
ifeq 38
new java.lang.AssertionError
dup
lload 8 /* borrow */
invokespecial java.lang.AssertionError.<init>:(J)V
athrow
38: .line 823
StackMap locals:
StackMap stack:
aload 2 /* minuend */
invokevirtual jdk.internal.math.FDBigInteger.trimLeadingZeros:()V
39: .line 824
aload 2 /* minuend */
areturn
end local 10 // int mIndex
end local 8 // long borrow
end local 7 // int minLen
end local 6 // int subLen
end local 5 // int[] mData
end local 4 // int[] sData
end local 3 // int offsetDiff
end local 2 // jdk.internal.math.FDBigInteger minuend
end local 1 // jdk.internal.math.FDBigInteger subtrahend
end local 0 // jdk.internal.math.FDBigInteger this
LocalVariableTable:
Start End Slot Name Signature
0 40 0 this Ljdk/internal/math/FDBigInteger;
0 40 1 subtrahend Ljdk/internal/math/FDBigInteger;
3 4 2 minuend Ljdk/internal/math/FDBigInteger;
5 40 2 minuend Ljdk/internal/math/FDBigInteger;
6 40 3 offsetDiff I
7 40 4 sData [I
8 40 5 mData [I
9 40 6 subLen I
10 40 7 minLen I
12 22 8 rLen I
17 19 9 r [I
23 40 8 borrow J
24 40 10 mIndex I
25 31 11 sIndex I
27 29 12 diff J
33 35 11 diff J
MethodParameters:
Name Flags
subtrahend
public jdk.internal.math.FDBigInteger rightInplaceSub(jdk.internal.math.FDBigInteger);
descriptor: (Ljdk/internal/math/FDBigInteger;)Ljdk/internal/math/FDBigInteger;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=14, args_size=2
start local 0 // jdk.internal.math.FDBigInteger this
start local 1 // jdk.internal.math.FDBigInteger subtrahend
0: .line 851
getstatic jdk.internal.math.FDBigInteger.$assertionsDisabled:Z
ifne 1
aload 0 /* this */
invokevirtual jdk.internal.math.FDBigInteger.size:()I
aload 1 /* subtrahend */
invokevirtual jdk.internal.math.FDBigInteger.size:()I
if_icmpge 1
new java.lang.AssertionError
dup
ldc "result should be positive"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
1: .line 852
StackMap locals:
StackMap stack:
aload 0 /* this */
astore 2 /* minuend */
start local 2 // jdk.internal.math.FDBigInteger minuend
2: .line 853
aload 1 /* subtrahend */
getfield jdk.internal.math.FDBigInteger.isImmutable:Z
ifeq 4
3: .line 854
new jdk.internal.math.FDBigInteger
dup
aload 1 /* subtrahend */
getfield jdk.internal.math.FDBigInteger.data:[I
invokevirtual int[].clone:()Ljava/lang/Object;
checkcast int[]
aload 1 /* subtrahend */
getfield jdk.internal.math.FDBigInteger.offset:I
invokespecial jdk.internal.math.FDBigInteger.<init>:([II)V
astore 1 /* subtrahend */
4: .line 856
StackMap locals: jdk.internal.math.FDBigInteger
StackMap stack:
aload 2 /* minuend */
getfield jdk.internal.math.FDBigInteger.offset:I
aload 1 /* subtrahend */
getfield jdk.internal.math.FDBigInteger.offset:I
isub
istore 3 /* offsetDiff */
start local 3 // int offsetDiff
5: .line 857
aload 1 /* subtrahend */
getfield jdk.internal.math.FDBigInteger.data:[I
astore 4 /* sData */
start local 4 // int[] sData
6: .line 858
aload 2 /* minuend */
getfield jdk.internal.math.FDBigInteger.data:[I
astore 5 /* mData */
start local 5 // int[] mData
7: .line 859
aload 1 /* subtrahend */
getfield jdk.internal.math.FDBigInteger.nWords:I
istore 6 /* subLen */
start local 6 // int subLen
8: .line 860
aload 2 /* minuend */
getfield jdk.internal.math.FDBigInteger.nWords:I
istore 7 /* minLen */
start local 7 // int minLen
9: .line 861
iload 3 /* offsetDiff */
ifge 22
10: .line 862
iload 7 /* minLen */
istore 8 /* rLen */
start local 8 // int rLen
11: .line 863
iload 8 /* rLen */
aload 4 /* sData */
arraylength
if_icmpge 15
12: .line 864
aload 4 /* sData */
iconst_0
aload 4 /* sData */
iload 3 /* offsetDiff */
ineg
iload 6 /* subLen */
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
13: .line 865
aload 4 /* sData */
iconst_0
iload 3 /* offsetDiff */
ineg
iconst_0
invokestatic java.util.Arrays.fill:([IIII)V
14: .line 866
goto 18
15: .line 867
StackMap locals: jdk.internal.math.FDBigInteger jdk.internal.math.FDBigInteger jdk.internal.math.FDBigInteger int int[] int[] int int int
StackMap stack:
iload 8 /* rLen */
newarray 10
astore 9 /* r */
start local 9 // int[] r
16: .line 868
aload 4 /* sData */
iconst_0
aload 9 /* r */
iload 3 /* offsetDiff */
ineg
iload 6 /* subLen */
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
17: .line 869
aload 1 /* subtrahend */
aload 9 /* r */
dup
astore 4 /* sData */
putfield jdk.internal.math.FDBigInteger.data:[I
end local 9 // int[] r
18: .line 871
StackMap locals:
StackMap stack:
aload 1 /* subtrahend */
aload 2 /* minuend */
getfield jdk.internal.math.FDBigInteger.offset:I
putfield jdk.internal.math.FDBigInteger.offset:I
19: .line 872
iload 6 /* subLen */
iload 3 /* offsetDiff */
isub
istore 6 /* subLen */
20: .line 873
iconst_0
istore 3 /* offsetDiff */
end local 8 // int rLen
21: .line 874
goto 25
22: .line 875
StackMap locals:
StackMap stack:
iload 7 /* minLen */
iload 3 /* offsetDiff */
iadd
istore 8 /* rLen */
start local 8 // int rLen
23: .line 876
iload 8 /* rLen */
aload 4 /* sData */
arraylength
if_icmplt 25
24: .line 877
aload 1 /* subtrahend */
aload 4 /* sData */
iload 8 /* rLen */
invokestatic java.util.Arrays.copyOf:([II)[I
dup
astore 4 /* sData */
putfield jdk.internal.math.FDBigInteger.data:[I
end local 8 // int rLen
25: .line 888
StackMap locals:
StackMap stack:
iconst_0
istore 8 /* sIndex */
start local 8 // int sIndex
26: .line 889
lconst_0
lstore 9 /* borrow */
start local 9 // long borrow
27: .line 890
goto 32
28: .line 891
StackMap locals: int long
StackMap stack:
lconst_0
aload 4 /* sData */
iload 8 /* sIndex */
iaload
i2l
ldc 4294967295
land
lsub
lload 9 /* borrow */
ladd
lstore 11 /* diff */
start local 11 // long diff
29: .line 892
aload 4 /* sData */
iload 8 /* sIndex */
lload 11 /* diff */
l2i
iastore
30: .line 893
lload 11 /* diff */
bipush 32
lshr
lstore 9 /* borrow */
end local 11 // long diff
31: .line 890
iinc 8 /* sIndex */ 1
StackMap locals:
StackMap stack:
32: iload 8 /* sIndex */
iload 3 /* offsetDiff */
if_icmplt 28
33: .line 896
iconst_0
istore 11 /* mIndex */
start local 11 // int mIndex
34: goto 39
35: .line 898
StackMap locals: int
StackMap stack:
aload 5 /* mData */
iload 11 /* mIndex */
iaload
i2l
ldc 4294967295
land
aload 4 /* sData */
iload 8 /* sIndex */
iaload
i2l
ldc 4294967295
land
lsub
lload 9 /* borrow */
ladd
lstore 12 /* diff */
start local 12 // long diff
36: .line 899
aload 4 /* sData */
iload 8 /* sIndex */
lload 12 /* diff */
l2i
iastore
37: .line 900
lload 12 /* diff */
bipush 32
lshr
lstore 9 /* borrow */
end local 12 // long diff
38: .line 896
iinc 8 /* sIndex */ 1
iinc 11 /* mIndex */ 1
StackMap locals:
StackMap stack:
39: iload 11 /* mIndex */
iload 7 /* minLen */
if_icmplt 35
end local 11 // int mIndex
40: .line 902
getstatic jdk.internal.math.FDBigInteger.$assertionsDisabled:Z
ifne 41
lload 9 /* borrow */
lconst_0
lcmp
ifeq 41
new java.lang.AssertionError
dup
lload 9 /* borrow */
invokespecial java.lang.AssertionError.<init>:(J)V
athrow
41: .line 904
StackMap locals:
StackMap stack:
aload 1 /* subtrahend */
iload 8 /* sIndex */
putfield jdk.internal.math.FDBigInteger.nWords:I
42: .line 905
aload 1 /* subtrahend */
invokevirtual jdk.internal.math.FDBigInteger.trimLeadingZeros:()V
43: .line 906
aload 1 /* subtrahend */
areturn
end local 9 // long borrow
end local 8 // int sIndex
end local 7 // int minLen
end local 6 // int subLen
end local 5 // int[] mData
end local 4 // int[] sData
end local 3 // int offsetDiff
end local 2 // jdk.internal.math.FDBigInteger minuend
end local 1 // jdk.internal.math.FDBigInteger subtrahend
end local 0 // jdk.internal.math.FDBigInteger this
LocalVariableTable:
Start End Slot Name Signature
0 44 0 this Ljdk/internal/math/FDBigInteger;
0 44 1 subtrahend Ljdk/internal/math/FDBigInteger;
2 44 2 minuend Ljdk/internal/math/FDBigInteger;
5 44 3 offsetDiff I
6 44 4 sData [I
7 44 5 mData [I
8 44 6 subLen I
9 44 7 minLen I
11 21 8 rLen I
16 18 9 r [I
23 25 8 rLen I
26 44 8 sIndex I
27 44 9 borrow J
29 31 11 diff J
34 40 11 mIndex I
36 38 12 diff J
MethodParameters:
Name Flags
subtrahend
private static int checkZeroTail(int[], int);
descriptor: ([II)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 // int[] a
start local 1 // int from
0: .line 923
goto 3
1: .line 924
StackMap locals:
StackMap stack:
aload 0 /* a */
iinc 1 /* from */ -1
iload 1 /* from */
iaload
ifeq 3
2: .line 925
iconst_1
ireturn
3: .line 923
StackMap locals:
StackMap stack:
iload 1 /* from */
ifgt 1
4: .line 928
iconst_0
ireturn
end local 1 // int from
end local 0 // int[] a
LocalVariableTable:
Start End Slot Name Signature
0 5 0 a [I
0 5 1 from I
MethodParameters:
Name Flags
a
from
public int cmp(jdk.internal.math.FDBigInteger);
descriptor: (Ljdk/internal/math/FDBigInteger;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=8, args_size=2
start local 0 // jdk.internal.math.FDBigInteger this
start local 1 // jdk.internal.math.FDBigInteger other
0: .line 948
aload 0 /* this */
getfield jdk.internal.math.FDBigInteger.nWords:I
aload 0 /* this */
getfield jdk.internal.math.FDBigInteger.offset:I
iadd
istore 2 /* aSize */
start local 2 // int aSize
1: .line 949
aload 1 /* other */
getfield jdk.internal.math.FDBigInteger.nWords:I
aload 1 /* other */
getfield jdk.internal.math.FDBigInteger.offset:I
iadd
istore 3 /* bSize */
start local 3 // int bSize
2: .line 950
iload 2 /* aSize */
iload 3 /* bSize */
if_icmple 4
3: .line 951
iconst_1
ireturn
4: .line 952
StackMap locals: int int
StackMap stack:
iload 2 /* aSize */
iload 3 /* bSize */
if_icmpge 6
5: .line 953
iconst_m1
ireturn
6: .line 955
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield jdk.internal.math.FDBigInteger.nWords:I
istore 4 /* aLen */
start local 4 // int aLen
7: .line 956
aload 1 /* other */
getfield jdk.internal.math.FDBigInteger.nWords:I
istore 5 /* bLen */
start local 5 // int bLen
8: .line 957
goto 15
9: .line 958
StackMap locals: int int
StackMap stack:
aload 0 /* this */
getfield jdk.internal.math.FDBigInteger.data:[I
iinc 4 /* aLen */ -1
iload 4 /* aLen */
iaload
istore 6 /* a */
start local 6 // int a
10: .line 959
aload 1 /* other */
getfield jdk.internal.math.FDBigInteger.data:[I
iinc 5 /* bLen */ -1
iload 5 /* bLen */
iaload
istore 7 /* b */
start local 7 // int b
11: .line 960
iload 6 /* a */
iload 7 /* b */
if_icmpeq 15
12: .line 961
iload 6 /* a */
i2l
ldc 4294967295
land
iload 7 /* b */
i2l
ldc 4294967295
land
lcmp
ifge 13
iconst_m1
goto 14
StackMap locals: int int
StackMap stack:
13: iconst_1
StackMap locals:
StackMap stack: int
14: ireturn
end local 7 // int b
end local 6 // int a
15: .line 957
StackMap locals:
StackMap stack:
iload 4 /* aLen */
ifle 16
iload 5 /* bLen */
ifgt 9
16: .line 964
StackMap locals:
StackMap stack:
iload 4 /* aLen */
ifle 18
17: .line 965
aload 0 /* this */
getfield jdk.internal.math.FDBigInteger.data:[I
iload 4 /* aLen */
invokestatic jdk.internal.math.FDBigInteger.checkZeroTail:([II)I
ireturn
18: .line 967
StackMap locals:
StackMap stack:
iload 5 /* bLen */
ifle 20
19: .line 968
aload 1 /* other */
getfield jdk.internal.math.FDBigInteger.data:[I
iload 5 /* bLen */
invokestatic jdk.internal.math.FDBigInteger.checkZeroTail:([II)I
ineg
ireturn
20: .line 970
StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 5 // int bLen
end local 4 // int aLen
end local 3 // int bSize
end local 2 // int aSize
end local 1 // jdk.internal.math.FDBigInteger other
end local 0 // jdk.internal.math.FDBigInteger this
LocalVariableTable:
Start End Slot Name Signature
0 21 0 this Ljdk/internal/math/FDBigInteger;
0 21 1 other Ljdk/internal/math/FDBigInteger;
1 21 2 aSize I
2 21 3 bSize I
7 21 4 aLen I
8 21 5 bLen I
10 15 6 a I
11 15 7 b I
MethodParameters:
Name Flags
other
public int cmpPow52(int, int);
descriptor: (II)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=8, args_size=3
start local 0 // jdk.internal.math.FDBigInteger this
start local 1 // int p5
start local 2 // int p2
0: .line 992
iload 1 /* p5 */
ifne 15
1: .line 993
iload 2 /* p2 */
iconst_5
ishr
istore 3 /* wordcount */
start local 3 // int wordcount
2: .line 994
iload 2 /* p2 */
bipush 31
iand
istore 4 /* bitcount */
start local 4 // int bitcount
3: .line 995
aload 0 /* this */
getfield jdk.internal.math.FDBigInteger.nWords:I
aload 0 /* this */
getfield jdk.internal.math.FDBigInteger.offset:I
iadd
istore 5 /* size */
start local 5 // int size
4: .line 996
iload 5 /* size */
iload 3 /* wordcount */
iconst_1
iadd
if_icmple 6
5: .line 997
iconst_1
ireturn
6: .line 998
StackMap locals: int int int
StackMap stack:
iload 5 /* size */
iload 3 /* wordcount */
iconst_1
iadd
if_icmpge 8
7: .line 999
iconst_m1
ireturn
8: .line 1001
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield jdk.internal.math.FDBigInteger.data:[I
aload 0 /* this */
getfield jdk.internal.math.FDBigInteger.nWords:I
iconst_1
isub
iaload
istore 6 /* a */
start local 6 // int a
9: .line 1002
iconst_1
iload 4 /* bitcount */
ishl
istore 7 /* b */
start local 7 // int b
10: .line 1003
iload 6 /* a */
iload 7 /* b */
if_icmpeq 14
11: .line 1004
iload 6 /* a */
i2l
ldc 4294967295
land
iload 7 /* b */
i2l
ldc 4294967295
land
lcmp
ifge 12
iconst_m1
goto 13
StackMap locals: int int
StackMap stack:
12: iconst_1
StackMap locals:
StackMap stack: int
13: ireturn
14: .line 1006
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield jdk.internal.math.FDBigInteger.data:[I
aload 0 /* this */
getfield jdk.internal.math.FDBigInteger.nWords:I
iconst_1
isub
invokestatic jdk.internal.math.FDBigInteger.checkZeroTail:([II)I
ireturn
end local 7 // int b
end local 6 // int a
end local 5 // int size
end local 4 // int bitcount
end local 3 // int wordcount
15: .line 1008
StackMap locals: jdk.internal.math.FDBigInteger int int
StackMap stack:
aload 0 /* this */
iload 1 /* p5 */
invokestatic jdk.internal.math.FDBigInteger.big5pow:(I)Ljdk/internal/math/FDBigInteger;
iload 2 /* p2 */
invokevirtual jdk.internal.math.FDBigInteger.leftShift:(I)Ljdk/internal/math/FDBigInteger;
invokevirtual jdk.internal.math.FDBigInteger.cmp:(Ljdk/internal/math/FDBigInteger;)I
ireturn
end local 2 // int p2
end local 1 // int p5
end local 0 // jdk.internal.math.FDBigInteger this
LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Ljdk/internal/math/FDBigInteger;
0 16 1 p5 I
0 16 2 p2 I
2 15 3 wordcount I
3 15 4 bitcount I
4 15 5 size I
9 15 6 a I
10 15 7 b I
MethodParameters:
Name Flags
p5
p2
public int addAndCmp(jdk.internal.math.FDBigInteger, jdk.internal.math.FDBigInteger);
descriptor: (Ljdk/internal/math/FDBigInteger;Ljdk/internal/math/FDBigInteger;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=14, args_size=3
start local 0 // jdk.internal.math.FDBigInteger this
start local 1 // jdk.internal.math.FDBigInteger x
start local 2 // jdk.internal.math.FDBigInteger y
0: .line 1029
aload 1 /* x */
invokevirtual jdk.internal.math.FDBigInteger.size:()I
istore 5 /* xSize */
start local 5 // int xSize
1: .line 1030
aload 2 /* y */
invokevirtual jdk.internal.math.FDBigInteger.size:()I
istore 6 /* ySize */
start local 6 // int ySize
2: .line 1033
iload 5 /* xSize */
iload 6 /* ySize */
if_icmplt 8
3: .line 1034
aload 1 /* x */
astore 3 /* big */
start local 3 // jdk.internal.math.FDBigInteger big
4: .line 1035
aload 2 /* y */
astore 4 /* small */
start local 4 // jdk.internal.math.FDBigInteger small
5: .line 1036
iload 5 /* xSize */
istore 7 /* bSize */
start local 7 // int bSize
6: .line 1037
iload 6 /* ySize */
istore 8 /* sSize */
start local 8 // int sSize
7: .line 1038
goto 12
end local 8 // int sSize
end local 7 // int bSize
end local 4 // jdk.internal.math.FDBigInteger small
end local 3 // jdk.internal.math.FDBigInteger big
8: .line 1039
StackMap locals: jdk.internal.math.FDBigInteger jdk.internal.math.FDBigInteger jdk.internal.math.FDBigInteger top top int int
StackMap stack:
aload 2 /* y */
astore 3 /* big */
start local 3 // jdk.internal.math.FDBigInteger big
9: .line 1040
aload 1 /* x */
astore 4 /* small */
start local 4 // jdk.internal.math.FDBigInteger small
10: .line 1041
iload 6 /* ySize */
istore 7 /* bSize */
start local 7 // int bSize
11: .line 1042
iload 5 /* xSize */
istore 8 /* sSize */
start local 8 // int sSize
12: .line 1044
StackMap locals: jdk.internal.math.FDBigInteger jdk.internal.math.FDBigInteger jdk.internal.math.FDBigInteger jdk.internal.math.FDBigInteger jdk.internal.math.FDBigInteger int int int int
StackMap stack:
aload 0 /* this */
invokevirtual jdk.internal.math.FDBigInteger.size:()I
istore 9 /* thSize */
start local 9 // int thSize
13: .line 1045
iload 7 /* bSize */
ifne 17
14: .line 1046
iload 9 /* thSize */
ifne 15
iconst_0
goto 16
StackMap locals: int
StackMap stack:
15: iconst_1
StackMap locals:
StackMap stack: int
16: ireturn
17: .line 1048
StackMap locals:
StackMap stack:
iload 8 /* sSize */
ifne 19
18: .line 1049
aload 0 /* this */
aload 3 /* big */
invokevirtual jdk.internal.math.FDBigInteger.cmp:(Ljdk/internal/math/FDBigInteger;)I
ireturn
19: .line 1051
StackMap locals:
StackMap stack:
iload 7 /* bSize */
iload 9 /* thSize */
if_icmple 21
20: .line 1052
iconst_m1
ireturn
21: .line 1054
StackMap locals:
StackMap stack:
iload 7 /* bSize */
iconst_1
iadd
iload 9 /* thSize */
if_icmpge 23
22: .line 1055
iconst_1
ireturn
23: .line 1057
StackMap locals:
StackMap stack:
aload 3 /* big */
getfield jdk.internal.math.FDBigInteger.data:[I
aload 3 /* big */
getfield jdk.internal.math.FDBigInteger.nWords:I
iconst_1
isub
iaload
i2l
ldc 4294967295
land
lstore 10 /* top */
start local 10 // long top
24: .line 1058
iload 8 /* sSize */
iload 7 /* bSize */
if_icmpne 26
25: .line 1059
lload 10 /* top */
aload 4 /* small */
getfield jdk.internal.math.FDBigInteger.data:[I
aload 4 /* small */
getfield jdk.internal.math.FDBigInteger.nWords:I
iconst_1
isub
iaload
i2l
ldc 4294967295
land
ladd
lstore 10 /* top */
26: .line 1061
StackMap locals: long
StackMap stack:
lload 10 /* top */
bipush 32
lushr
lconst_0
lcmp
ifne 35
27: .line 1062
lload 10 /* top */
lconst_1
ladd
bipush 32
lushr
lconst_0
lcmp
ifne 43
28: .line 1064
iload 7 /* bSize */
iload 9 /* thSize */
if_icmpge 30
29: .line 1065
iconst_1
ireturn
30: .line 1068
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield jdk.internal.math.FDBigInteger.data:[I
aload 0 /* this */
getfield jdk.internal.math.FDBigInteger.nWords:I
iconst_1
isub
iaload
i2l
ldc 4294967295
land
lstore 12 /* v */
start local 12 // long v
31: .line 1069
lload 12 /* v */
lload 10 /* top */
lcmp
ifge 33
32: .line 1070
iconst_m1
ireturn
33: .line 1072
StackMap locals: long
StackMap stack:
lload 12 /* v */
lload 10 /* top */
lconst_1
ladd
lcmp
ifle 43
34: .line 1073
iconst_1
ireturn
end local 12 // long v
35: .line 1077
StackMap locals:
StackMap stack:
iload 7 /* bSize */
iconst_1
iadd
iload 9 /* thSize */
if_icmple 37
36: .line 1078
iconst_m1
ireturn
37: .line 1081
StackMap locals:
StackMap stack:
lload 10 /* top */
bipush 32
lushr
lstore 10 /* top */
38: .line 1082
aload 0 /* this */
getfield jdk.internal.math.FDBigInteger.data:[I
aload 0 /* this */
getfield jdk.internal.math.FDBigInteger.nWords:I
iconst_1
isub
iaload
i2l
ldc 4294967295
land
lstore 12 /* v */
start local 12 // long v
39: .line 1083
lload 12 /* v */
lload 10 /* top */
lcmp
ifge 41
40: .line 1084
iconst_m1
ireturn
41: .line 1086
StackMap locals: long
StackMap stack:
lload 12 /* v */
lload 10 /* top */
lconst_1
ladd
lcmp
ifle 43
42: .line 1087
iconst_1
ireturn
end local 12 // long v
43: .line 1090
StackMap locals:
StackMap stack:
aload 0 /* this */
aload 3 /* big */
aload 4 /* small */
invokevirtual jdk.internal.math.FDBigInteger.add:(Ljdk/internal/math/FDBigInteger;)Ljdk/internal/math/FDBigInteger;
invokevirtual jdk.internal.math.FDBigInteger.cmp:(Ljdk/internal/math/FDBigInteger;)I
ireturn
end local 10 // long top
end local 9 // int thSize
end local 8 // int sSize
end local 7 // int bSize
end local 6 // int ySize
end local 5 // int xSize
end local 4 // jdk.internal.math.FDBigInteger small
end local 3 // jdk.internal.math.FDBigInteger big
end local 2 // jdk.internal.math.FDBigInteger y
end local 1 // jdk.internal.math.FDBigInteger x
end local 0 // jdk.internal.math.FDBigInteger this
LocalVariableTable:
Start End Slot Name Signature
0 44 0 this Ljdk/internal/math/FDBigInteger;
0 44 1 x Ljdk/internal/math/FDBigInteger;
0 44 2 y Ljdk/internal/math/FDBigInteger;
4 8 3 big Ljdk/internal/math/FDBigInteger;
9 44 3 big Ljdk/internal/math/FDBigInteger;
5 8 4 small Ljdk/internal/math/FDBigInteger;
10 44 4 small Ljdk/internal/math/FDBigInteger;
1 44 5 xSize I
2 44 6 ySize I
6 8 7 bSize I
11 44 7 bSize I
7 8 8 sSize I
12 44 8 sSize I
13 44 9 thSize I
24 44 10 top J
31 35 12 v J
39 43 12 v J
MethodParameters:
Name Flags
x
y
public void makeImmutable();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 // jdk.internal.math.FDBigInteger this
0: .line 1101
aload 0 /* this */
iconst_1
putfield jdk.internal.math.FDBigInteger.isImmutable:Z
1: .line 1102
return
end local 0 // jdk.internal.math.FDBigInteger this
LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/internal/math/FDBigInteger;
private jdk.internal.math.FDBigInteger mult(int);
descriptor: (I)Ljdk/internal/math/FDBigInteger;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=3, args_size=2
start local 0 // jdk.internal.math.FDBigInteger this
start local 1 // int i
0: .line 1122
aload 0 /* this */
getfield jdk.internal.math.FDBigInteger.nWords:I
ifne 2
1: .line 1123
aload 0 /* this */
areturn
2: .line 1125
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield jdk.internal.math.FDBigInteger.nWords:I
iconst_1
iadd
newarray 10
astore 2 /* r */
start local 2 // int[] r
3: .line 1126
aload 0 /* this */
getfield jdk.internal.math.FDBigInteger.data:[I
aload 0 /* this */
getfield jdk.internal.math.FDBigInteger.nWords:I
iload 1 /* i */
aload 2 /* r */
invokestatic jdk.internal.math.FDBigInteger.mult:([III[I)V
4: .line 1127
new jdk.internal.math.FDBigInteger
dup
aload 2 /* r */
aload 0 /* this */
getfield jdk.internal.math.FDBigInteger.offset:I
invokespecial jdk.internal.math.FDBigInteger.<init>:([II)V
areturn
end local 2 // int[] r
end local 1 // int i
end local 0 // jdk.internal.math.FDBigInteger this
LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljdk/internal/math/FDBigInteger;
0 5 1 i I
3 5 2 r [I
MethodParameters:
Name Flags
i
private jdk.internal.math.FDBigInteger mult(jdk.internal.math.FDBigInteger);
descriptor: (Ljdk/internal/math/FDBigInteger;)Ljdk/internal/math/FDBigInteger;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=3, args_size=2
start local 0 // jdk.internal.math.FDBigInteger this
start local 1 // jdk.internal.math.FDBigInteger other
0: .line 1154
aload 0 /* this */
getfield jdk.internal.math.FDBigInteger.nWords:I
ifne 2
1: .line 1155
aload 0 /* this */
areturn
2: .line 1157
StackMap locals:
StackMap stack:
aload 0 /* this */
invokevirtual jdk.internal.math.FDBigInteger.size:()I
iconst_1
if_icmpne 4
3: .line 1158
aload 1 /* other */
aload 0 /* this */
getfield jdk.internal.math.FDBigInteger.data:[I
iconst_0
iaload
invokevirtual jdk.internal.math.FDBigInteger.mult:(I)Ljdk/internal/math/FDBigInteger;
areturn
4: .line 1160
StackMap locals:
StackMap stack:
aload 1 /* other */
getfield jdk.internal.math.FDBigInteger.nWords:I
ifne 6
5: .line 1161
aload 1 /* other */
areturn
6: .line 1163
StackMap locals:
StackMap stack:
aload 1 /* other */
invokevirtual jdk.internal.math.FDBigInteger.size:()I
iconst_1
if_icmpne 8
7: .line 1164
aload 0 /* this */
aload 1 /* other */
getfield jdk.internal.math.FDBigInteger.data:[I
iconst_0
iaload
invokevirtual jdk.internal.math.FDBigInteger.mult:(I)Ljdk/internal/math/FDBigInteger;
areturn
8: .line 1166
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield jdk.internal.math.FDBigInteger.nWords:I
aload 1 /* other */
getfield jdk.internal.math.FDBigInteger.nWords:I
iadd
newarray 10
astore 2 /* r */
start local 2 // int[] r
9: .line 1167
aload 0 /* this */
getfield jdk.internal.math.FDBigInteger.data:[I
aload 0 /* this */
getfield jdk.internal.math.FDBigInteger.nWords:I
aload 1 /* other */
getfield jdk.internal.math.FDBigInteger.data:[I
aload 1 /* other */
getfield jdk.internal.math.FDBigInteger.nWords:I
aload 2 /* r */
invokestatic jdk.internal.math.FDBigInteger.mult:([II[II[I)V
10: .line 1168
new jdk.internal.math.FDBigInteger
dup
aload 2 /* r */
aload 0 /* this */
getfield jdk.internal.math.FDBigInteger.offset:I
aload 1 /* other */
getfield jdk.internal.math.FDBigInteger.offset:I
iadd
invokespecial jdk.internal.math.FDBigInteger.<init>:([II)V
areturn
end local 2 // int[] r
end local 1 // jdk.internal.math.FDBigInteger other
end local 0 // jdk.internal.math.FDBigInteger this
LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Ljdk/internal/math/FDBigInteger;
0 11 1 other Ljdk/internal/math/FDBigInteger;
9 11 2 r [I
MethodParameters:
Name Flags
other
private jdk.internal.math.FDBigInteger add(jdk.internal.math.FDBigInteger);
descriptor: (Ljdk/internal/math/FDBigInteger;)Ljdk/internal/math/FDBigInteger;
flags: (0x0002) ACC_PRIVATE
Code:
stack=8, locals=12, args_size=2
start local 0 // jdk.internal.math.FDBigInteger this
start local 1 // jdk.internal.math.FDBigInteger other
0: .line 1184
aload 0 /* this */
invokevirtual jdk.internal.math.FDBigInteger.size:()I
istore 6 /* tSize */
start local 6 // int tSize
1: .line 1185
aload 1 /* other */
invokevirtual jdk.internal.math.FDBigInteger.size:()I
istore 7 /* oSize */
start local 7 // int oSize
2: .line 1186
iload 6 /* tSize */
iload 7 /* oSize */
if_icmplt 8
3: .line 1187
aload 0 /* this */
astore 2 /* big */
start local 2 // jdk.internal.math.FDBigInteger big
4: .line 1188
iload 6 /* tSize */
istore 4 /* bigLen */
start local 4 // int bigLen
5: .line 1189
aload 1 /* other */
astore 3 /* small */
start local 3 // jdk.internal.math.FDBigInteger small
6: .line 1190
iload 7 /* oSize */
istore 5 /* smallLen */
start local 5 // int smallLen
7: .line 1191
goto 12
end local 5 // int smallLen
end local 4 // int bigLen
end local 3 // jdk.internal.math.FDBigInteger small
end local 2 // jdk.internal.math.FDBigInteger big
8: .line 1192
StackMap locals: jdk.internal.math.FDBigInteger jdk.internal.math.FDBigInteger top top top top int int
StackMap stack:
aload 1 /* other */
astore 2 /* big */
start local 2 // jdk.internal.math.FDBigInteger big
9: .line 1193
iload 7 /* oSize */
istore 4 /* bigLen */
start local 4 // int bigLen
10: .line 1194
aload 0 /* this */
astore 3 /* small */
start local 3 // jdk.internal.math.FDBigInteger small
11: .line 1195
iload 6 /* tSize */
istore 5 /* smallLen */
start local 5 // int smallLen
12: .line 1197
StackMap locals: jdk.internal.math.FDBigInteger jdk.internal.math.FDBigInteger jdk.internal.math.FDBigInteger jdk.internal.math.FDBigInteger int int int int
StackMap stack:
iload 4 /* bigLen */
iconst_1
iadd
newarray 10
astore 8 /* r */
start local 8 // int[] r
13: .line 1198
iconst_0
istore 9 /* i */
start local 9 // int i
14: .line 1199
lconst_0
lstore 10 /* carry */
start local 10 // long carry
15: .line 1200
goto 24
16: .line 1201
StackMap locals: int[] int long
StackMap stack:
lload 10 /* carry */
iload 9 /* i */
aload 2 /* big */
getfield jdk.internal.math.FDBigInteger.offset:I
if_icmpge 17
lconst_0
goto 18
StackMap locals:
StackMap stack: long
17: aload 2 /* big */
getfield jdk.internal.math.FDBigInteger.data:[I
iload 9 /* i */
aload 2 /* big */
getfield jdk.internal.math.FDBigInteger.offset:I
isub
iaload
i2l
ldc 4294967295
land
18: .line 1202
StackMap locals: jdk.internal.math.FDBigInteger jdk.internal.math.FDBigInteger jdk.internal.math.FDBigInteger jdk.internal.math.FDBigInteger int int int int int[] int long
StackMap stack: long long
iload 9 /* i */
aload 3 /* small */
getfield jdk.internal.math.FDBigInteger.offset:I
if_icmpge 19
lconst_0
goto 20
StackMap locals: jdk.internal.math.FDBigInteger jdk.internal.math.FDBigInteger jdk.internal.math.FDBigInteger jdk.internal.math.FDBigInteger int int int int int[] int long
StackMap stack: long long
19: aload 3 /* small */
getfield jdk.internal.math.FDBigInteger.data:[I
iload 9 /* i */
aload 3 /* small */
getfield jdk.internal.math.FDBigInteger.offset:I
isub
iaload
i2l
ldc 4294967295
land
20: .line 1201
StackMap locals: jdk.internal.math.FDBigInteger jdk.internal.math.FDBigInteger jdk.internal.math.FDBigInteger jdk.internal.math.FDBigInteger int int int int int[] int long
StackMap stack: long long long
ladd
ladd
lstore 10 /* carry */
21: .line 1203
aload 8 /* r */
iload 9 /* i */
lload 10 /* carry */
l2i
iastore
22: .line 1204
lload 10 /* carry */
bipush 32
lshr
lstore 10 /* carry */
23: .line 1200
iinc 9 /* i */ 1
StackMap locals:
StackMap stack:
24: iload 9 /* i */
iload 5 /* smallLen */
if_icmplt 16
25: .line 1206
goto 32
26: .line 1207
StackMap locals:
StackMap stack:
lload 10 /* carry */
iload 9 /* i */
aload 2 /* big */
getfield jdk.internal.math.FDBigInteger.offset:I
if_icmpge 27
lconst_0
goto 28
StackMap locals:
StackMap stack: long
27: aload 2 /* big */
getfield jdk.internal.math.FDBigInteger.data:[I
iload 9 /* i */
aload 2 /* big */
getfield jdk.internal.math.FDBigInteger.offset:I
isub
iaload
i2l
ldc 4294967295
land
StackMap locals: jdk.internal.math.FDBigInteger jdk.internal.math.FDBigInteger jdk.internal.math.FDBigInteger jdk.internal.math.FDBigInteger int int int int int[] int long
StackMap stack: long long
28: ladd
lstore 10 /* carry */
29: .line 1208
aload 8 /* r */
iload 9 /* i */
lload 10 /* carry */
l2i
iastore
30: .line 1209
lload 10 /* carry */
bipush 32
lshr
lstore 10 /* carry */
31: .line 1206
iinc 9 /* i */ 1
StackMap locals:
StackMap stack:
32: iload 9 /* i */
iload 4 /* bigLen */
if_icmplt 26
33: .line 1211
aload 8 /* r */
iload 4 /* bigLen */
lload 10 /* carry */
l2i
iastore
34: .line 1212
new jdk.internal.math.FDBigInteger
dup
aload 8 /* r */
iconst_0
invokespecial jdk.internal.math.FDBigInteger.<init>:([II)V
areturn
end local 10 // long carry
end local 9 // int i
end local 8 // int[] r
end local 7 // int oSize
end local 6 // int tSize
end local 5 // int smallLen
end local 4 // int bigLen
end local 3 // jdk.internal.math.FDBigInteger small
end local 2 // jdk.internal.math.FDBigInteger big
end local 1 // jdk.internal.math.FDBigInteger other
end local 0 // jdk.internal.math.FDBigInteger this
LocalVariableTable:
Start End Slot Name Signature
0 35 0 this Ljdk/internal/math/FDBigInteger;
0 35 1 other Ljdk/internal/math/FDBigInteger;
4 8 2 big Ljdk/internal/math/FDBigInteger;
9 35 2 big Ljdk/internal/math/FDBigInteger;
6 8 3 small Ljdk/internal/math/FDBigInteger;
11 35 3 small Ljdk/internal/math/FDBigInteger;
5 8 4 bigLen I
10 35 4 bigLen I
7 8 5 smallLen I
12 35 5 smallLen I
1 35 6 tSize I
2 35 7 oSize I
13 35 8 r [I
14 35 9 i I
15 35 10 carry J
MethodParameters:
Name Flags
other
private void multAddMe(int, int);
descriptor: (II)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=8, locals=8, args_size=3
start local 0 // jdk.internal.math.FDBigInteger this
start local 1 // int iv
start local 2 // int addend
0: .line 1234
iload 1 /* iv */
i2l
ldc 4294967295
land
lstore 3 /* v */
start local 3 // long v
1: .line 1236
lload 3 /* v */
aload 0 /* this */
getfield jdk.internal.math.FDBigInteger.data:[I
iconst_0
iaload
i2l
ldc 4294967295
land
lmul
iload 2 /* addend */
i2l
ldc 4294967295
land
ladd
lstore 5 /* p */
start local 5 // long p
2: .line 1237
aload 0 /* this */
getfield jdk.internal.math.FDBigInteger.data:[I
iconst_0
lload 5 /* p */
l2i
iastore
3: .line 1238
lload 5 /* p */
bipush 32
lushr
lstore 5 /* p */
4: .line 1239
iconst_1
istore 7 /* i */
start local 7 // int i
5: goto 10
6: .line 1240
StackMap locals: long long int
StackMap stack:
lload 5 /* p */
lload 3 /* v */
aload 0 /* this */
getfield jdk.internal.math.FDBigInteger.data:[I
iload 7 /* i */
iaload
i2l
ldc 4294967295
land
lmul
ladd
lstore 5 /* p */
7: .line 1241
aload 0 /* this */
getfield jdk.internal.math.FDBigInteger.data:[I
iload 7 /* i */
lload 5 /* p */
l2i
iastore
8: .line 1242
lload 5 /* p */
bipush 32
lushr
lstore 5 /* p */
9: .line 1239
iinc 7 /* i */ 1
StackMap locals:
StackMap stack:
10: iload 7 /* i */
aload 0 /* this */
getfield jdk.internal.math.FDBigInteger.nWords:I
if_icmplt 6
end local 7 // int i
11: .line 1244
lload 5 /* p */
lconst_0
lcmp
ifeq 13
12: .line 1245
aload 0 /* this */
getfield jdk.internal.math.FDBigInteger.data:[I
aload 0 /* this */
dup
getfield jdk.internal.math.FDBigInteger.nWords:I
dup_x1
iconst_1
iadd
putfield jdk.internal.math.FDBigInteger.nWords:I
lload 5 /* p */
l2i
iastore
13: .line 1247
StackMap locals:
StackMap stack:
return
end local 5 // long p
end local 3 // long v
end local 2 // int addend
end local 1 // int iv
end local 0 // jdk.internal.math.FDBigInteger this
LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Ljdk/internal/math/FDBigInteger;
0 14 1 iv I
0 14 2 addend I
1 14 3 v J
2 14 5 p J
5 11 7 i I
MethodParameters:
Name Flags
iv
addend
private long multDiffMe(long, jdk.internal.math.FDBigInteger);
descriptor: (JLjdk/internal/math/FDBigInteger;)J
flags: (0x0002) ACC_PRIVATE
Code:
stack=10, locals=13, args_size=3
start local 0 // jdk.internal.math.FDBigInteger this
start local 1 // long q
start local 3 // jdk.internal.math.FDBigInteger S
0: .line 1290
lconst_0
lstore 4 /* diff */
start local 4 // long diff
1: .line 1291
lload 1 /* q */
lconst_0
lcmp
ifeq 37
2: .line 1292
aload 3 /* S */
getfield jdk.internal.math.FDBigInteger.offset:I
aload 0 /* this */
getfield jdk.internal.math.FDBigInteger.offset:I
isub
istore 6 /* deltaSize */
start local 6 // int deltaSize
3: .line 1293
iload 6 /* deltaSize */
iflt 15
4: .line 1294
aload 3 /* S */
getfield jdk.internal.math.FDBigInteger.data:[I
astore 7 /* sd */
start local 7 // int[] sd
5: .line 1295
aload 0 /* this */
getfield jdk.internal.math.FDBigInteger.data:[I
astore 8 /* td */
start local 8 // int[] td
6: .line 1296
iconst_0
istore 9 /* sIndex */
start local 9 // int sIndex
7: iload 6 /* deltaSize */
istore 10 /* tIndex */
start local 10 // int tIndex
8: goto 13
9: .line 1297
StackMap locals: jdk.internal.math.FDBigInteger long jdk.internal.math.FDBigInteger long int int[] int[] int int
StackMap stack:
lload 4 /* diff */
aload 8 /* td */
iload 10 /* tIndex */
iaload
i2l
ldc 4294967295
land
lload 1 /* q */
aload 7 /* sd */
iload 9 /* sIndex */
iaload
i2l
ldc 4294967295
land
lmul
lsub
ladd
lstore 4 /* diff */
10: .line 1298
aload 8 /* td */
iload 10 /* tIndex */
lload 4 /* diff */
l2i
iastore
11: .line 1299
lload 4 /* diff */
bipush 32
lshr
lstore 4 /* diff */
12: .line 1296
iinc 9 /* sIndex */ 1
iinc 10 /* tIndex */ 1
StackMap locals:
StackMap stack:
13: iload 9 /* sIndex */
aload 3 /* S */
getfield jdk.internal.math.FDBigInteger.nWords:I
if_icmplt 9
end local 10 // int tIndex
end local 9 // int sIndex
end local 8 // int[] td
end local 7 // int[] sd
14: .line 1301
goto 37
15: .line 1302
StackMap locals: jdk.internal.math.FDBigInteger long jdk.internal.math.FDBigInteger long int
StackMap stack:
iload 6 /* deltaSize */
ineg
istore 6 /* deltaSize */
16: .line 1303
aload 0 /* this */
getfield jdk.internal.math.FDBigInteger.nWords:I
iload 6 /* deltaSize */
iadd
newarray 10
astore 7 /* rd */
start local 7 // int[] rd
17: .line 1304
iconst_0
istore 8 /* sIndex */
start local 8 // int sIndex
18: .line 1305
iconst_0
istore 9 /* rIndex */
start local 9 // int rIndex
19: .line 1306
aload 3 /* S */
getfield jdk.internal.math.FDBigInteger.data:[I
astore 10 /* sd */
start local 10 // int[] sd
20: .line 1307
goto 25
21: .line 1308
StackMap locals: jdk.internal.math.FDBigInteger long jdk.internal.math.FDBigInteger long int int[] int int int[]
StackMap stack:
lload 4 /* diff */
lload 1 /* q */
aload 10 /* sd */
iload 8 /* sIndex */
iaload
i2l
ldc 4294967295
land
lmul
lsub
lstore 4 /* diff */
22: .line 1309
aload 7 /* rd */
iload 9 /* rIndex */
lload 4 /* diff */
l2i
iastore
23: .line 1310
lload 4 /* diff */
bipush 32
lshr
lstore 4 /* diff */
24: .line 1307
iinc 8 /* sIndex */ 1
iinc 9 /* rIndex */ 1
StackMap locals:
StackMap stack:
25: iload 9 /* rIndex */
iload 6 /* deltaSize */
if_icmpge 26
iload 8 /* sIndex */
aload 3 /* S */
getfield jdk.internal.math.FDBigInteger.nWords:I
if_icmplt 21
26: .line 1312
StackMap locals:
StackMap stack:
iconst_0
istore 11 /* tIndex */
start local 11 // int tIndex
27: .line 1313
aload 0 /* this */
getfield jdk.internal.math.FDBigInteger.data:[I
astore 12 /* td */
start local 12 // int[] td
28: .line 1314
goto 33
29: .line 1315
StackMap locals: int int[]
StackMap stack:
lload 4 /* diff */
aload 12 /* td */
iload 11 /* tIndex */
iaload
i2l
ldc 4294967295
land
lload 1 /* q */
aload 10 /* sd */
iload 8 /* sIndex */
iaload
i2l
ldc 4294967295
land
lmul
lsub
ladd
lstore 4 /* diff */
30: .line 1316
aload 7 /* rd */
iload 9 /* rIndex */
lload 4 /* diff */
l2i
iastore
31: .line 1317
lload 4 /* diff */
bipush 32
lshr
lstore 4 /* diff */
32: .line 1314
iinc 8 /* sIndex */ 1
iinc 11 /* tIndex */ 1
iinc 9 /* rIndex */ 1
StackMap locals:
StackMap stack:
33: iload 8 /* sIndex */
aload 3 /* S */
getfield jdk.internal.math.FDBigInteger.nWords:I
if_icmplt 29
34: .line 1319
aload 0 /* this */
dup
getfield jdk.internal.math.FDBigInteger.nWords:I
iload 6 /* deltaSize */
iadd
putfield jdk.internal.math.FDBigInteger.nWords:I
35: .line 1320
aload 0 /* this */
dup
getfield jdk.internal.math.FDBigInteger.offset:I
iload 6 /* deltaSize */
isub
putfield jdk.internal.math.FDBigInteger.offset:I
36: .line 1321
aload 0 /* this */
aload 7 /* rd */
putfield jdk.internal.math.FDBigInteger.data:[I
end local 12 // int[] td
end local 11 // int tIndex
end local 10 // int[] sd
end local 9 // int rIndex
end local 8 // int sIndex
end local 7 // int[] rd
end local 6 // int deltaSize
37: .line 1324
StackMap locals: jdk.internal.math.FDBigInteger long jdk.internal.math.FDBigInteger long
StackMap stack:
lload 4 /* diff */
lreturn
end local 4 // long diff
end local 3 // jdk.internal.math.FDBigInteger S
end local 1 // long q
end local 0 // jdk.internal.math.FDBigInteger this
LocalVariableTable:
Start End Slot Name Signature
0 38 0 this Ljdk/internal/math/FDBigInteger;
0 38 1 q J
0 38 3 S Ljdk/internal/math/FDBigInteger;
1 38 4 diff J
3 37 6 deltaSize I
5 14 7 sd [I
6 14 8 td [I
7 14 9 sIndex I
8 14 10 tIndex I
17 37 7 rd [I
18 37 8 sIndex I
19 37 9 rIndex I
20 37 10 sd [I
27 37 11 tIndex I
28 37 12 td [I
MethodParameters:
Name Flags
q
S
private static int multAndCarryBy10(int[], int, int[]);
descriptor: ([II[I)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=8, args_size=3
start local 0 // int[] src
start local 1 // int srcLen
start local 2 // int[] dst
0: .line 1344
lconst_0
lstore 3 /* carry */
start local 3 // long carry
1: .line 1345
iconst_0
istore 5 /* i */
start local 5 // int i
2: goto 7
3: .line 1346
StackMap locals: long int
StackMap stack:
aload 0 /* src */
iload 5 /* i */
iaload
i2l
ldc 4294967295
land
ldc 10
lmul
lload 3 /* carry */
ladd
lstore 6 /* product */
start local 6 // long product
4: .line 1347
aload 2 /* dst */
iload 5 /* i */
lload 6 /* product */
l2i
iastore
5: .line 1348
lload 6 /* product */
bipush 32
lushr
lstore 3 /* carry */
end local 6 // long product
6: .line 1345
iinc 5 /* i */ 1
StackMap locals:
StackMap stack:
7: iload 5 /* i */
iload 1 /* srcLen */
if_icmplt 3
end local 5 // int i
8: .line 1350
lload 3 /* carry */
l2i
ireturn
end local 3 // long carry
end local 2 // int[] dst
end local 1 // int srcLen
end local 0 // int[] src
LocalVariableTable:
Start End Slot Name Signature
0 9 0 src [I
0 9 1 srcLen I
0 9 2 dst [I
1 9 3 carry J
2 8 5 i I
4 6 6 product J
MethodParameters:
Name Flags
src
srcLen
dst
private static void mult(int[], int, int, int[]);
descriptor: ([III[I)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=11, args_size=4
start local 0 // int[] src
start local 1 // int srcLen
start local 2 // int value
start local 3 // int[] dst
0: .line 1368
iload 2 /* value */
i2l
ldc 4294967295
land
lstore 4 /* val */
start local 4 // long val
1: .line 1369
lconst_0
lstore 6 /* carry */
start local 6 // long carry
2: .line 1370
iconst_0
istore 8 /* i */
start local 8 // int i
3: goto 8
4: .line 1371
StackMap locals: long long int
StackMap stack:
aload 0 /* src */
iload 8 /* i */
iaload
i2l
ldc 4294967295
land
lload 4 /* val */
lmul
lload 6 /* carry */
ladd
lstore 9 /* product */
start local 9 // long product
5: .line 1372
aload 3 /* dst */
iload 8 /* i */
lload 9 /* product */
l2i
iastore
6: .line 1373
lload 9 /* product */
bipush 32
lushr
lstore 6 /* carry */
end local 9 // long product
7: .line 1370
iinc 8 /* i */ 1
StackMap locals:
StackMap stack:
8: iload 8 /* i */
iload 1 /* srcLen */
if_icmplt 4
end local 8 // int i
9: .line 1375
aload 3 /* dst */
iload 1 /* srcLen */
lload 6 /* carry */
l2i
iastore
10: .line 1376
return
end local 6 // long carry
end local 4 // long val
end local 3 // int[] dst
end local 2 // int value
end local 1 // int srcLen
end local 0 // int[] src
LocalVariableTable:
Start End Slot Name Signature
0 11 0 src [I
0 11 1 srcLen I
0 11 2 value I
0 11 3 dst [I
1 11 4 val J
2 11 6 carry J
3 9 8 i I
5 7 9 product J
MethodParameters:
Name Flags
src
srcLen
value
dst
private static void mult(int[], int, int, int, int[]);
descriptor: ([IIII[I)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=8, locals=12, args_size=5
start local 0 // int[] src
start local 1 // int srcLen
start local 2 // int v0
start local 3 // int v1
start local 4 // int[] dst
0: .line 1395
iload 2 /* v0 */
i2l
ldc 4294967295
land
lstore 5 /* v */
start local 5 // long v
1: .line 1396
lconst_0
lstore 7 /* carry */
start local 7 // long carry
2: .line 1397
iconst_0
istore 9 /* j */
start local 9 // int j
3: goto 8
4: .line 1398
StackMap locals: long long int
StackMap stack:
lload 5 /* v */
aload 0 /* src */
iload 9 /* j */
iaload
i2l
ldc 4294967295
land
lmul
lload 7 /* carry */
ladd
lstore 10 /* product */
start local 10 // long product
5: .line 1399
aload 4 /* dst */
iload 9 /* j */
lload 10 /* product */
l2i
iastore
6: .line 1400
lload 10 /* product */
bipush 32
lushr
lstore 7 /* carry */
end local 10 // long product
7: .line 1397
iinc 9 /* j */ 1
StackMap locals:
StackMap stack:
8: iload 9 /* j */
iload 1 /* srcLen */
if_icmplt 4
end local 9 // int j
9: .line 1402
aload 4 /* dst */
iload 1 /* srcLen */
lload 7 /* carry */
l2i
iastore
10: .line 1403
iload 3 /* v1 */
i2l
ldc 4294967295
land
lstore 5 /* v */
11: .line 1404
lconst_0
lstore 7 /* carry */
12: .line 1405
iconst_0
istore 9 /* j */
start local 9 // int j
13: goto 18
14: .line 1406
StackMap locals:
StackMap stack:
aload 4 /* dst */
iload 9 /* j */
iconst_1
iadd
iaload
i2l
ldc 4294967295
land
lload 5 /* v */
aload 0 /* src */
iload 9 /* j */
iaload
i2l
ldc 4294967295
land
lmul
ladd
lload 7 /* carry */
ladd
lstore 10 /* product */
start local 10 // long product
15: .line 1407
aload 4 /* dst */
iload 9 /* j */
iconst_1
iadd
lload 10 /* product */
l2i
iastore
16: .line 1408
lload 10 /* product */
bipush 32
lushr
lstore 7 /* carry */
end local 10 // long product
17: .line 1405
iinc 9 /* j */ 1
StackMap locals:
StackMap stack:
18: iload 9 /* j */
iload 1 /* srcLen */
if_icmplt 14
end local 9 // int j
19: .line 1410
aload 4 /* dst */
iload 1 /* srcLen */
iconst_1
iadd
lload 7 /* carry */
l2i
iastore
20: .line 1411
return
end local 7 // long carry
end local 5 // long v
end local 4 // int[] dst
end local 3 // int v1
end local 2 // int v0
end local 1 // int srcLen
end local 0 // int[] src
LocalVariableTable:
Start End Slot Name Signature
0 21 0 src [I
0 21 1 srcLen I
0 21 2 v0 I
0 21 3 v1 I
0 21 4 dst [I
1 21 5 v J
2 21 7 carry J
3 9 9 j I
5 7 10 product J
13 19 9 j I
15 17 10 product J
MethodParameters:
Name Flags
src
srcLen
v0
v1
dst
private static jdk.internal.math.FDBigInteger big5pow(int);
descriptor: (I)Ljdk/internal/math/FDBigInteger;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 // int p
0: .line 1421
getstatic jdk.internal.math.FDBigInteger.$assertionsDisabled:Z
ifne 1
iload 0 /* p */
ifge 1
new java.lang.AssertionError
dup
iload 0 /* p */
invokespecial java.lang.AssertionError.<init>:(I)V
athrow
1: .line 1422
StackMap locals:
StackMap stack:
iload 0 /* p */
sipush 340
if_icmpge 3
2: .line 1423
getstatic jdk.internal.math.FDBigInteger.POW_5_CACHE:[Ljdk/internal/math/FDBigInteger;
iload 0 /* p */
aaload
areturn
3: .line 1425
StackMap locals:
StackMap stack:
iload 0 /* p */
invokestatic jdk.internal.math.FDBigInteger.big5powRec:(I)Ljdk/internal/math/FDBigInteger;
areturn
end local 0 // int p
LocalVariableTable:
Start End Slot Name Signature
0 4 0 p I
MethodParameters:
Name Flags
p
private static jdk.internal.math.FDBigInteger big5powRec(int);
descriptor: (I)Ljdk/internal/math/FDBigInteger;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=4, args_size=1
start local 0 // int p
0: .line 1436
iload 0 /* p */
sipush 340
if_icmpge 2
1: .line 1437
getstatic jdk.internal.math.FDBigInteger.POW_5_CACHE:[Ljdk/internal/math/FDBigInteger;
iload 0 /* p */
aaload
areturn
2: .line 1446
StackMap locals:
StackMap stack:
iload 0 /* p */
iconst_1
ishr
istore 1 /* q */
start local 1 // int q
3: .line 1447
iload 0 /* p */
iload 1 /* q */
isub
istore 2 /* r */
start local 2 // int r
4: .line 1448
iload 1 /* q */
invokestatic jdk.internal.math.FDBigInteger.big5powRec:(I)Ljdk/internal/math/FDBigInteger;
astore 3 /* bigq */
start local 3 // jdk.internal.math.FDBigInteger bigq
5: .line 1449
iload 2 /* r */
getstatic jdk.internal.math.FDBigInteger.SMALL_5_POW:[I
arraylength
if_icmpge 7
6: .line 1450
aload 3 /* bigq */
getstatic jdk.internal.math.FDBigInteger.SMALL_5_POW:[I
iload 2 /* r */
iaload
invokevirtual jdk.internal.math.FDBigInteger.mult:(I)Ljdk/internal/math/FDBigInteger;
areturn
7: .line 1452
StackMap locals: int int jdk.internal.math.FDBigInteger
StackMap stack:
aload 3 /* bigq */
iload 2 /* r */
invokestatic jdk.internal.math.FDBigInteger.big5powRec:(I)Ljdk/internal/math/FDBigInteger;
invokevirtual jdk.internal.math.FDBigInteger.mult:(Ljdk/internal/math/FDBigInteger;)Ljdk/internal/math/FDBigInteger;
areturn
end local 3 // jdk.internal.math.FDBigInteger bigq
end local 2 // int r
end local 1 // int q
end local 0 // int p
LocalVariableTable:
Start End Slot Name Signature
0 8 0 p I
3 8 1 q I
4 8 2 r I
5 8 3 bigq Ljdk/internal/math/FDBigInteger;
MethodParameters:
Name Flags
p
public java.lang.String toHexString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=1
start local 0 // jdk.internal.math.FDBigInteger this
0: .line 1463
aload 0 /* this */
getfield jdk.internal.math.FDBigInteger.nWords:I
ifne 2
1: .line 1464
ldc "0"
areturn
2: .line 1466
StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
aload 0 /* this */
getfield jdk.internal.math.FDBigInteger.nWords:I
aload 0 /* this */
getfield jdk.internal.math.FDBigInteger.offset:I
iadd
bipush 8
imul
invokespecial java.lang.StringBuilder.<init>:(I)V
astore 1 /* sb */
start local 1 // java.lang.StringBuilder sb
3: .line 1467
aload 0 /* this */
getfield jdk.internal.math.FDBigInteger.nWords:I
iconst_1
isub
istore 2 /* i */
start local 2 // int i
4: goto 13
5: .line 1468
StackMap locals: java.lang.StringBuilder int
StackMap stack:
aload 0 /* this */
getfield jdk.internal.math.FDBigInteger.data:[I
iload 2 /* i */
iaload
invokestatic java.lang.Integer.toHexString:(I)Ljava/lang/String;
astore 3 /* subStr */
start local 3 // java.lang.String subStr
6: .line 1469
aload 3 /* subStr */
invokevirtual java.lang.String.length:()I
istore 4 /* j */
start local 4 // int j
7: goto 10
8: .line 1470
StackMap locals: java.lang.String int
StackMap stack:
aload 1 /* sb */
bipush 48
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
9: .line 1469
iinc 4 /* j */ 1
StackMap locals:
StackMap stack:
10: iload 4 /* j */
bipush 8
if_icmplt 8
end local 4 // int j
11: .line 1472
aload 1 /* sb */
aload 3 /* subStr */
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
end local 3 // java.lang.String subStr
12: .line 1467
iinc 2 /* i */ -1
StackMap locals:
StackMap stack:
13: iload 2 /* i */
ifge 5
end local 2 // int i
14: .line 1474
aload 0 /* this */
getfield jdk.internal.math.FDBigInteger.offset:I
istore 2 /* i */
start local 2 // int i
15: goto 18
16: .line 1475
StackMap locals:
StackMap stack:
aload 1 /* sb */
ldc "00000000"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
17: .line 1474
iinc 2 /* i */ -1
StackMap locals:
StackMap stack:
18: iload 2 /* i */
ifgt 16
end local 2 // int i
19: .line 1477
aload 1 /* sb */
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 1 // java.lang.StringBuilder sb
end local 0 // jdk.internal.math.FDBigInteger this
LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Ljdk/internal/math/FDBigInteger;
3 20 1 sb Ljava/lang/StringBuilder;
4 14 2 i I
6 12 3 subStr Ljava/lang/String;
7 11 4 j I
15 19 2 i I
public java.math.BigInteger toBigInteger();
descriptor: ()Ljava/math/BigInteger;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=1
start local 0 // jdk.internal.math.FDBigInteger this
0: .line 1487
aload 0 /* this */
getfield jdk.internal.math.FDBigInteger.nWords:I
iconst_4
imul
iconst_1
iadd
newarray 8
astore 1 /* magnitude */
start local 1 // byte[] magnitude
1: .line 1488
iconst_0
istore 2 /* i */
start local 2 // int i
2: goto 9
3: .line 1489
StackMap locals: byte[] int
StackMap stack:
aload 0 /* this */
getfield jdk.internal.math.FDBigInteger.data:[I
iload 2 /* i */
iaload
istore 3 /* w */
start local 3 // int w
4: .line 1490
aload 1 /* magnitude */
aload 1 /* magnitude */
arraylength
iconst_4
iload 2 /* i */
imul
isub
iconst_1
isub
iload 3 /* w */
i2b
bastore
5: .line 1491
aload 1 /* magnitude */
aload 1 /* magnitude */
arraylength
iconst_4
iload 2 /* i */
imul
isub
iconst_2
isub
iload 3 /* w */
bipush 8
ishr
i2b
bastore
6: .line 1492
aload 1 /* magnitude */
aload 1 /* magnitude */
arraylength
iconst_4
iload 2 /* i */
imul
isub
iconst_3
isub
iload 3 /* w */
bipush 16
ishr
i2b
bastore
7: .line 1493
aload 1 /* magnitude */
aload 1 /* magnitude */
arraylength
iconst_4
iload 2 /* i */
imul
isub
iconst_4
isub
iload 3 /* w */
bipush 24
ishr
i2b
bastore
end local 3 // int w
8: .line 1488
iinc 2 /* i */ 1
StackMap locals:
StackMap stack:
9: iload 2 /* i */
aload 0 /* this */
getfield jdk.internal.math.FDBigInteger.nWords:I
if_icmplt 3
end local 2 // int i
10: .line 1495
new java.math.BigInteger
dup
aload 1 /* magnitude */
invokespecial java.math.BigInteger.<init>:([B)V
aload 0 /* this */
getfield jdk.internal.math.FDBigInteger.offset:I
bipush 32
imul
invokevirtual java.math.BigInteger.shiftLeft:(I)Ljava/math/BigInteger;
areturn
end local 1 // byte[] magnitude
end local 0 // jdk.internal.math.FDBigInteger this
LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Ljdk/internal/math/FDBigInteger;
1 11 1 magnitude [B
2 10 2 i I
4 8 3 w I
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 // jdk.internal.math.FDBigInteger this
0: .line 1506
aload 0 /* this */
invokevirtual jdk.internal.math.FDBigInteger.toBigInteger:()Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.toString:()Ljava/lang/String;
areturn
end local 0 // jdk.internal.math.FDBigInteger this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/internal/math/FDBigInteger;
}
SourceFile: "FDBigInteger.java"