class org.bouncycastle.math.ec.IntArray
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: org.bouncycastle.math.ec.IntArray
super_class: java.lang.Object
{
private int[] m_ints;
descriptor: [I
flags: (0x0002) ACC_PRIVATE
public void <init>(int);
descriptor: (I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 // org.bouncycastle.math.ec.IntArray this
start local 1 // int intLen
0: .line 13
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
1: .line 15
aload 0 /* this */
iload 1 /* intLen */
newarray 10
putfield org.bouncycastle.math.ec.IntArray.m_ints:[I
2: .line 16
return
end local 1 // int intLen
end local 0 // org.bouncycastle.math.ec.IntArray this
LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/bouncycastle/math/ec/IntArray;
0 3 1 intLen I
MethodParameters:
Name Flags
intLen
public void <init>(int[]);
descriptor: ([I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 // org.bouncycastle.math.ec.IntArray this
start local 1 // int[] ints
0: .line 18
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
1: .line 20
aload 0 /* this */
aload 1 /* ints */
putfield org.bouncycastle.math.ec.IntArray.m_ints:[I
2: .line 21
return
end local 1 // int[] ints
end local 0 // org.bouncycastle.math.ec.IntArray this
LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/bouncycastle/math/ec/IntArray;
0 3 1 ints [I
MethodParameters:
Name Flags
ints
public void <init>(java.math.BigInteger);
descriptor: (Ljava/math/BigInteger;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 // org.bouncycastle.math.ec.IntArray this
start local 1 // java.math.BigInteger bigInt
0: .line 25
aload 0 /* this */
aload 1 /* bigInt */
iconst_0
invokespecial org.bouncycastle.math.ec.IntArray.<init>:(Ljava/math/BigInteger;I)V
1: .line 26
return
end local 1 // java.math.BigInteger bigInt
end local 0 // org.bouncycastle.math.ec.IntArray this
LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/bouncycastle/math/ec/IntArray;
0 2 1 bigInt Ljava/math/BigInteger;
MethodParameters:
Name Flags
bigInt
public void <init>(java.math.BigInteger, int);
descriptor: (Ljava/math/BigInteger;I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=13, args_size=3
start local 0 // org.bouncycastle.math.ec.IntArray this
start local 1 // java.math.BigInteger bigInt
start local 2 // int minIntLen
0: .line 28
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
1: .line 30
aload 1 /* bigInt */
invokevirtual java.math.BigInteger.signum:()I
iconst_m1
if_icmpne 3
2: .line 32
new java.lang.IllegalArgumentException
dup
ldc "Only positive Integers allowed"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
3: .line 34
StackMap locals: org.bouncycastle.math.ec.IntArray java.math.BigInteger int
StackMap stack:
aload 1 /* bigInt */
getstatic org.bouncycastle.math.ec.ECConstants.ZERO:Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.equals:(Ljava/lang/Object;)Z
ifeq 6
4: .line 36
aload 0 /* this */
iconst_1
newarray 10
putfield org.bouncycastle.math.ec.IntArray.m_ints:[I
5: .line 37
return
6: .line 40
StackMap locals:
StackMap stack:
aload 1 /* bigInt */
invokevirtual java.math.BigInteger.toByteArray:()[B
astore 3 /* barr */
start local 3 // byte[] barr
7: .line 41
aload 3 /* barr */
arraylength
istore 4 /* barrLen */
start local 4 // int barrLen
8: .line 42
iconst_0
istore 5 /* barrStart */
start local 5 // int barrStart
9: .line 43
aload 3 /* barr */
iconst_0
baload
ifne 12
10: .line 47
iinc 4 /* barrLen */ -1
11: .line 48
iconst_1
istore 5 /* barrStart */
12: .line 50
StackMap locals: byte[] int int
StackMap stack:
iload 4 /* barrLen */
iconst_3
iadd
iconst_4
idiv
istore 6 /* intLen */
start local 6 // int intLen
13: .line 51
iload 6 /* intLen */
iload 2 /* minIntLen */
if_icmpge 16
14: .line 53
aload 0 /* this */
iload 2 /* minIntLen */
newarray 10
putfield org.bouncycastle.math.ec.IntArray.m_ints:[I
15: .line 54
goto 17
16: .line 57
StackMap locals: int
StackMap stack:
aload 0 /* this */
iload 6 /* intLen */
newarray 10
putfield org.bouncycastle.math.ec.IntArray.m_ints:[I
17: .line 60
StackMap locals:
StackMap stack:
iload 6 /* intLen */
iconst_1
isub
istore 7 /* iarrJ */
start local 7 // int iarrJ
18: .line 61
iload 4 /* barrLen */
iconst_4
irem
iload 5 /* barrStart */
iadd
istore 8 /* rem */
start local 8 // int rem
19: .line 62
iconst_0
istore 9 /* temp */
start local 9 // int temp
20: .line 63
iload 5 /* barrStart */
istore 10 /* barrI */
start local 10 // int barrI
21: .line 64
iload 5 /* barrStart */
iload 8 /* rem */
if_icmpge 44
22: .line 66
goto 29
23: .line 68
StackMap locals: org.bouncycastle.math.ec.IntArray java.math.BigInteger int byte[] int int int int int int int
StackMap stack:
iload 9 /* temp */
bipush 8
ishl
istore 9 /* temp */
24: .line 69
aload 3 /* barr */
iload 10 /* barrI */
baload
istore 11 /* barrBarrI */
start local 11 // int barrBarrI
25: .line 70
iload 11 /* barrBarrI */
ifge 27
26: .line 72
iinc 11 /* barrBarrI */ 256
27: .line 74
StackMap locals: int
StackMap stack:
iload 9 /* temp */
iload 11 /* barrBarrI */
ior
istore 9 /* temp */
end local 11 // int barrBarrI
28: .line 66
iinc 10 /* barrI */ 1
StackMap locals:
StackMap stack:
29: iload 10 /* barrI */
iload 8 /* rem */
if_icmplt 23
30: .line 76
aload 0 /* this */
getfield org.bouncycastle.math.ec.IntArray.m_ints:[I
iload 7 /* iarrJ */
iinc 7 /* iarrJ */ -1
iload 9 /* temp */
iastore
31: .line 79
goto 44
32: .line 81
StackMap locals:
StackMap stack:
iconst_0
istore 9 /* temp */
33: .line 82
iconst_0
istore 11 /* i */
start local 11 // int i
34: goto 41
35: .line 84
StackMap locals: int
StackMap stack:
iload 9 /* temp */
bipush 8
ishl
istore 9 /* temp */
36: .line 85
aload 3 /* barr */
iload 10 /* barrI */
iinc 10 /* barrI */ 1
baload
istore 12 /* barrBarrI */
start local 12 // int barrBarrI
37: .line 86
iload 12 /* barrBarrI */
ifge 39
38: .line 88
iinc 12 /* barrBarrI */ 256
39: .line 90
StackMap locals: int
StackMap stack:
iload 9 /* temp */
iload 12 /* barrBarrI */
ior
istore 9 /* temp */
end local 12 // int barrBarrI
40: .line 82
iinc 11 /* i */ 1
StackMap locals:
StackMap stack:
41: iload 11 /* i */
iconst_4
if_icmplt 35
end local 11 // int i
42: .line 92
aload 0 /* this */
getfield org.bouncycastle.math.ec.IntArray.m_ints:[I
iload 7 /* iarrJ */
iload 9 /* temp */
iastore
43: .line 79
iinc 7 /* iarrJ */ -1
StackMap locals:
StackMap stack:
44: iload 7 /* iarrJ */
ifge 32
45: .line 94
return
end local 10 // int barrI
end local 9 // int temp
end local 8 // int rem
end local 7 // int iarrJ
end local 6 // int intLen
end local 5 // int barrStart
end local 4 // int barrLen
end local 3 // byte[] barr
end local 2 // int minIntLen
end local 1 // java.math.BigInteger bigInt
end local 0 // org.bouncycastle.math.ec.IntArray this
LocalVariableTable:
Start End Slot Name Signature
0 46 0 this Lorg/bouncycastle/math/ec/IntArray;
0 46 1 bigInt Ljava/math/BigInteger;
0 46 2 minIntLen I
7 46 3 barr [B
8 46 4 barrLen I
9 46 5 barrStart I
13 46 6 intLen I
18 46 7 iarrJ I
19 46 8 rem I
20 46 9 temp I
21 46 10 barrI I
25 28 11 barrBarrI I
34 42 11 i I
37 40 12 barrBarrI I
MethodParameters:
Name Flags
bigInt
minIntLen
public boolean isZero();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 // org.bouncycastle.math.ec.IntArray this
0: .line 98
aload 0 /* this */
getfield org.bouncycastle.math.ec.IntArray.m_ints:[I
arraylength
ifeq 3
1: .line 99
aload 0 /* this */
getfield org.bouncycastle.math.ec.IntArray.m_ints:[I
iconst_0
iaload
ifne 2
aload 0 /* this */
invokevirtual org.bouncycastle.math.ec.IntArray.getUsedLength:()I
ifeq 3
2: .line 98
StackMap locals:
StackMap stack:
iconst_0
ireturn
StackMap locals:
StackMap stack:
3: iconst_1
ireturn
end local 0 // org.bouncycastle.math.ec.IntArray this
LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/bouncycastle/math/ec/IntArray;
public int getUsedLength();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 // org.bouncycastle.math.ec.IntArray this
0: .line 104
aload 0 /* this */
getfield org.bouncycastle.math.ec.IntArray.m_ints:[I
arraylength
istore 1 /* highestIntPos */
start local 1 // int highestIntPos
1: .line 106
iload 1 /* highestIntPos */
iconst_1
if_icmpge 3
2: .line 108
iconst_0
ireturn
3: .line 112
StackMap locals: int
StackMap stack:
aload 0 /* this */
getfield org.bouncycastle.math.ec.IntArray.m_ints:[I
iconst_0
iaload
ifeq 6
4: .line 114
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield org.bouncycastle.math.ec.IntArray.m_ints:[I
iinc 1 /* highestIntPos */ -1
iload 1 /* highestIntPos */
iaload
ifeq 4
5: .line 117
iload 1 /* highestIntPos */
iconst_1
iadd
ireturn
6: .line 122
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield org.bouncycastle.math.ec.IntArray.m_ints:[I
iinc 1 /* highestIntPos */ -1
iload 1 /* highestIntPos */
iaload
ifeq 8
7: .line 124
iload 1 /* highestIntPos */
iconst_1
iadd
ireturn
8: .line 127
StackMap locals:
StackMap stack:
iload 1 /* highestIntPos */
9: .line 120
ifgt 6
10: .line 129
iconst_0
ireturn
end local 1 // int highestIntPos
end local 0 // org.bouncycastle.math.ec.IntArray this
LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/bouncycastle/math/ec/IntArray;
1 11 1 highestIntPos I
public int bitLength();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=5, args_size=1
start local 0 // org.bouncycastle.math.ec.IntArray this
0: .line 135
aload 0 /* this */
invokevirtual org.bouncycastle.math.ec.IntArray.getUsedLength:()I
istore 1 /* intLen */
start local 1 // int intLen
1: .line 136
iload 1 /* intLen */
ifne 3
2: .line 138
iconst_0
ireturn
3: .line 141
StackMap locals: int
StackMap stack:
iload 1 /* intLen */
iconst_1
isub
istore 2 /* last */
start local 2 // int last
4: .line 142
aload 0 /* this */
getfield org.bouncycastle.math.ec.IntArray.m_ints:[I
iload 2 /* last */
iaload
istore 3 /* highest */
start local 3 // int highest
5: .line 143
iload 2 /* last */
iconst_5
ishl
iconst_1
iadd
istore 4 /* bits */
start local 4 // int bits
6: .line 146
iload 3 /* highest */
ldc -65536
iand
ifeq 14
7: .line 148
iload 3 /* highest */
ldc -16777216
iand
ifeq 11
8: .line 150
iinc 4 /* bits */ 24
9: .line 151
iload 3 /* highest */
bipush 24
iushr
istore 3 /* highest */
10: .line 152
goto 20
11: .line 155
StackMap locals: int int int
StackMap stack:
iinc 4 /* bits */ 16
12: .line 156
iload 3 /* highest */
bipush 16
iushr
istore 3 /* highest */
13: .line 158
goto 20
14: .line 159
StackMap locals:
StackMap stack:
iload 3 /* highest */
sipush 255
if_icmple 20
15: .line 161
iinc 4 /* bits */ 8
16: .line 162
iload 3 /* highest */
bipush 8
iushr
istore 3 /* highest */
17: .line 165
goto 20
18: .line 167
StackMap locals:
StackMap stack:
iinc 4 /* bits */ 1
19: .line 168
iload 3 /* highest */
iconst_1
iushr
istore 3 /* highest */
20: .line 165
StackMap locals:
StackMap stack:
iload 3 /* highest */
iconst_1
if_icmpne 18
21: .line 171
iload 4 /* bits */
ireturn
end local 4 // int bits
end local 3 // int highest
end local 2 // int last
end local 1 // int intLen
end local 0 // org.bouncycastle.math.ec.IntArray this
LocalVariableTable:
Start End Slot Name Signature
0 22 0 this Lorg/bouncycastle/math/ec/IntArray;
1 22 1 intLen I
4 22 2 last I
5 22 3 highest I
6 22 4 bits I
private int[] resizedInts(int);
descriptor: (I)[I
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=5, args_size=2
start local 0 // org.bouncycastle.math.ec.IntArray this
start local 1 // int newLen
0: .line 176
iload 1 /* newLen */
newarray 10
astore 2 /* newInts */
start local 2 // int[] newInts
1: .line 177
aload 0 /* this */
getfield org.bouncycastle.math.ec.IntArray.m_ints:[I
arraylength
istore 3 /* oldLen */
start local 3 // int oldLen
2: .line 178
iload 3 /* oldLen */
iload 1 /* newLen */
if_icmpge 3
iload 3 /* oldLen */
goto 4
StackMap locals: int[] int
StackMap stack:
3: iload 1 /* newLen */
StackMap locals:
StackMap stack: int
4: istore 4 /* copyLen */
start local 4 // int copyLen
5: .line 179
aload 0 /* this */
getfield org.bouncycastle.math.ec.IntArray.m_ints:[I
iconst_0
aload 2 /* newInts */
iconst_0
iload 4 /* copyLen */
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
6: .line 180
aload 2 /* newInts */
areturn
end local 4 // int copyLen
end local 3 // int oldLen
end local 2 // int[] newInts
end local 1 // int newLen
end local 0 // org.bouncycastle.math.ec.IntArray this
LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/bouncycastle/math/ec/IntArray;
0 7 1 newLen I
1 7 2 newInts [I
2 7 3 oldLen I
5 7 4 copyLen I
MethodParameters:
Name Flags
newLen
public java.math.BigInteger toBigInteger();
descriptor: ()Ljava/math/BigInteger;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=10, args_size=1
start local 0 // org.bouncycastle.math.ec.IntArray this
0: .line 185
aload 0 /* this */
invokevirtual org.bouncycastle.math.ec.IntArray.getUsedLength:()I
istore 1 /* usedLen */
start local 1 // int usedLen
1: .line 186
iload 1 /* usedLen */
ifne 3
2: .line 188
getstatic org.bouncycastle.math.ec.ECConstants.ZERO:Ljava/math/BigInteger;
areturn
3: .line 191
StackMap locals: int
StackMap stack:
aload 0 /* this */
getfield org.bouncycastle.math.ec.IntArray.m_ints:[I
iload 1 /* usedLen */
iconst_1
isub
iaload
istore 2 /* highestInt */
start local 2 // int highestInt
4: .line 192
iconst_4
newarray 8
astore 3 /* temp */
start local 3 // byte[] temp
5: .line 193
iconst_0
istore 4 /* barrI */
start local 4 // int barrI
6: .line 194
iconst_0
istore 5 /* trailingZeroBytesDone */
start local 5 // boolean trailingZeroBytesDone
7: .line 195
iconst_3
istore 6 /* j */
start local 6 // int j
8: goto 14
9: .line 197
StackMap locals: org.bouncycastle.math.ec.IntArray int int byte[] int int int
StackMap stack:
iload 2 /* highestInt */
bipush 8
iload 6 /* j */
imul
iushr
i2b
istore 7 /* thisByte */
start local 7 // byte thisByte
10: .line 198
iload 5 /* trailingZeroBytesDone */
ifne 11
iload 7 /* thisByte */
ifeq 13
11: .line 200
StackMap locals: int
StackMap stack:
iconst_1
istore 5 /* trailingZeroBytesDone */
12: .line 201
aload 3 /* temp */
iload 4 /* barrI */
iinc 4 /* barrI */ 1
iload 7 /* thisByte */
bastore
end local 7 // byte thisByte
13: .line 195
StackMap locals:
StackMap stack:
iinc 6 /* j */ -1
StackMap locals:
StackMap stack:
14: iload 6 /* j */
ifge 9
end local 6 // int j
15: .line 205
iconst_4
iload 1 /* usedLen */
iconst_1
isub
imul
iload 4 /* barrI */
iadd
istore 6 /* barrLen */
start local 6 // int barrLen
16: .line 206
iload 6 /* barrLen */
newarray 8
astore 7 /* barr */
start local 7 // byte[] barr
17: .line 207
iconst_0
istore 8 /* j */
start local 8 // int j
18: goto 21
19: .line 209
StackMap locals: byte[] int
StackMap stack:
aload 7 /* barr */
iload 8 /* j */
aload 3 /* temp */
iload 8 /* j */
baload
bastore
20: .line 207
iinc 8 /* j */ 1
StackMap locals:
StackMap stack:
21: iload 8 /* j */
iload 4 /* barrI */
if_icmplt 19
end local 8 // int j
22: .line 213
iload 1 /* usedLen */
iconst_2
isub
istore 8 /* iarrJ */
start local 8 // int iarrJ
23: goto 30
24: .line 215
StackMap locals:
StackMap stack:
iconst_3
istore 9 /* j */
start local 9 // int j
25: goto 28
26: .line 217
StackMap locals: int
StackMap stack:
aload 7 /* barr */
iload 4 /* barrI */
iinc 4 /* barrI */ 1
aload 0 /* this */
getfield org.bouncycastle.math.ec.IntArray.m_ints:[I
iload 8 /* iarrJ */
iaload
bipush 8
iload 9 /* j */
imul
iushr
i2b
bastore
27: .line 215
iinc 9 /* j */ -1
StackMap locals:
StackMap stack:
28: iload 9 /* j */
ifge 26
end local 9 // int j
29: .line 213
iinc 8 /* iarrJ */ -1
StackMap locals:
StackMap stack:
30: iload 8 /* iarrJ */
ifge 24
end local 8 // int iarrJ
31: .line 220
new java.math.BigInteger
dup
iconst_1
aload 7 /* barr */
invokespecial java.math.BigInteger.<init>:(I[B)V
areturn
end local 7 // byte[] barr
end local 6 // int barrLen
end local 5 // boolean trailingZeroBytesDone
end local 4 // int barrI
end local 3 // byte[] temp
end local 2 // int highestInt
end local 1 // int usedLen
end local 0 // org.bouncycastle.math.ec.IntArray this
LocalVariableTable:
Start End Slot Name Signature
0 32 0 this Lorg/bouncycastle/math/ec/IntArray;
1 32 1 usedLen I
4 32 2 highestInt I
5 32 3 temp [B
6 32 4 barrI I
7 32 5 trailingZeroBytesDone Z
8 15 6 j I
10 13 7 thisByte B
16 32 6 barrLen I
17 32 7 barr [B
18 22 8 j I
23 31 8 iarrJ I
25 29 9 j I
public void shiftLeft();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=1
start local 0 // org.bouncycastle.math.ec.IntArray this
0: .line 225
aload 0 /* this */
invokevirtual org.bouncycastle.math.ec.IntArray.getUsedLength:()I
istore 1 /* usedLen */
start local 1 // int usedLen
1: .line 226
iload 1 /* usedLen */
ifne 3
2: .line 228
return
3: .line 230
StackMap locals: int
StackMap stack:
aload 0 /* this */
getfield org.bouncycastle.math.ec.IntArray.m_ints:[I
iload 1 /* usedLen */
iconst_1
isub
iaload
ifge 7
4: .line 234
iinc 1 /* usedLen */ 1
5: .line 235
iload 1 /* usedLen */
aload 0 /* this */
getfield org.bouncycastle.math.ec.IntArray.m_ints:[I
arraylength
if_icmple 7
6: .line 239
aload 0 /* this */
aload 0 /* this */
aload 0 /* this */
getfield org.bouncycastle.math.ec.IntArray.m_ints:[I
arraylength
iconst_1
iadd
invokevirtual org.bouncycastle.math.ec.IntArray.resizedInts:(I)[I
putfield org.bouncycastle.math.ec.IntArray.m_ints:[I
7: .line 243
StackMap locals:
StackMap stack:
iconst_0
istore 2 /* carry */
start local 2 // boolean carry
8: .line 244
iconst_0
istore 3 /* i */
start local 3 // int i
9: goto 18
10: .line 247
StackMap locals: int int
StackMap stack:
aload 0 /* this */
getfield org.bouncycastle.math.ec.IntArray.m_ints:[I
iload 3 /* i */
iaload
ifge 11
iconst_1
goto 12
StackMap locals:
StackMap stack:
11: iconst_0
StackMap locals:
StackMap stack: int
12: istore 4 /* nextCarry */
start local 4 // boolean nextCarry
13: .line 248
aload 0 /* this */
getfield org.bouncycastle.math.ec.IntArray.m_ints:[I
iload 3 /* i */
dup2
iaload
iconst_1
ishl
iastore
14: .line 249
iload 2 /* carry */
ifeq 16
15: .line 252
aload 0 /* this */
getfield org.bouncycastle.math.ec.IntArray.m_ints:[I
iload 3 /* i */
dup2
iaload
iconst_1
ior
iastore
16: .line 254
StackMap locals: int
StackMap stack:
iload 4 /* nextCarry */
istore 2 /* carry */
end local 4 // boolean nextCarry
17: .line 244
iinc 3 /* i */ 1
StackMap locals:
StackMap stack:
18: iload 3 /* i */
iload 1 /* usedLen */
if_icmplt 10
end local 3 // int i
19: .line 256
return
end local 2 // boolean carry
end local 1 // int usedLen
end local 0 // org.bouncycastle.math.ec.IntArray this
LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Lorg/bouncycastle/math/ec/IntArray;
1 20 1 usedLen I
8 20 2 carry Z
9 19 3 i I
13 17 4 nextCarry Z
public org.bouncycastle.math.ec.IntArray shiftLeft(int);
descriptor: (I)Lorg/bouncycastle/math/ec/IntArray;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=6, args_size=2
start local 0 // org.bouncycastle.math.ec.IntArray this
start local 1 // int n
0: .line 260
aload 0 /* this */
invokevirtual org.bouncycastle.math.ec.IntArray.getUsedLength:()I
istore 2 /* usedLen */
start local 2 // int usedLen
1: .line 261
iload 2 /* usedLen */
ifne 3
2: .line 263
aload 0 /* this */
areturn
3: .line 266
StackMap locals: int
StackMap stack:
iload 1 /* n */
ifne 5
4: .line 268
aload 0 /* this */
areturn
5: .line 271
StackMap locals:
StackMap stack:
iload 1 /* n */
bipush 31
if_icmple 9
6: .line 273
new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "shiftLeft() for max 31 bits , "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
7: .line 274
iload 1 /* n */
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "bit shift is not possible"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
8: .line 273
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
9: .line 277
StackMap locals:
StackMap stack:
iload 2 /* usedLen */
iconst_1
iadd
newarray 10
astore 3 /* newInts */
start local 3 // int[] newInts
10: .line 279
bipush 32
iload 1 /* n */
isub
istore 4 /* nm32 */
start local 4 // int nm32
11: .line 280
aload 3 /* newInts */
iconst_0
aload 0 /* this */
getfield org.bouncycastle.math.ec.IntArray.m_ints:[I
iconst_0
iaload
iload 1 /* n */
ishl
iastore
12: .line 281
iconst_1
istore 5 /* i */
start local 5 // int i
13: goto 16
14: .line 283
StackMap locals: int[] int int
StackMap stack:
aload 3 /* newInts */
iload 5 /* i */
aload 0 /* this */
getfield org.bouncycastle.math.ec.IntArray.m_ints:[I
iload 5 /* i */
iaload
iload 1 /* n */
ishl
aload 0 /* this */
getfield org.bouncycastle.math.ec.IntArray.m_ints:[I
iload 5 /* i */
iconst_1
isub
iaload
iload 4 /* nm32 */
iushr
ior
iastore
15: .line 281
iinc 5 /* i */ 1
StackMap locals:
StackMap stack:
16: iload 5 /* i */
iload 2 /* usedLen */
if_icmplt 14
end local 5 // int i
17: .line 285
aload 3 /* newInts */
iload 2 /* usedLen */
aload 0 /* this */
getfield org.bouncycastle.math.ec.IntArray.m_ints:[I
iload 2 /* usedLen */
iconst_1
isub
iaload
iload 4 /* nm32 */
iushr
iastore
18: .line 287
new org.bouncycastle.math.ec.IntArray
dup
aload 3 /* newInts */
invokespecial org.bouncycastle.math.ec.IntArray.<init>:([I)V
areturn
end local 4 // int nm32
end local 3 // int[] newInts
end local 2 // int usedLen
end local 1 // int n
end local 0 // org.bouncycastle.math.ec.IntArray this
LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lorg/bouncycastle/math/ec/IntArray;
0 19 1 n I
1 19 2 usedLen I
10 19 3 newInts [I
11 19 4 nm32 I
13 17 5 i I
MethodParameters:
Name Flags
n
public void addShifted(org.bouncycastle.math.ec.IntArray, int);
descriptor: (Lorg/bouncycastle/math/ec/IntArray;I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=6, args_size=3
start local 0 // org.bouncycastle.math.ec.IntArray this
start local 1 // org.bouncycastle.math.ec.IntArray other
start local 2 // int shift
0: .line 292
aload 1 /* other */
invokevirtual org.bouncycastle.math.ec.IntArray.getUsedLength:()I
istore 3 /* usedLenOther */
start local 3 // int usedLenOther
1: .line 293
iload 3 /* usedLenOther */
iload 2 /* shift */
iadd
istore 4 /* newMinUsedLen */
start local 4 // int newMinUsedLen
2: .line 294
iload 4 /* newMinUsedLen */
aload 0 /* this */
getfield org.bouncycastle.math.ec.IntArray.m_ints:[I
arraylength
if_icmple 4
3: .line 296
aload 0 /* this */
aload 0 /* this */
iload 4 /* newMinUsedLen */
invokevirtual org.bouncycastle.math.ec.IntArray.resizedInts:(I)[I
putfield org.bouncycastle.math.ec.IntArray.m_ints:[I
4: .line 300
StackMap locals: int int
StackMap stack:
iconst_0
istore 5 /* i */
start local 5 // int i
5: goto 8
6: .line 302
StackMap locals: int
StackMap stack:
aload 0 /* this */
getfield org.bouncycastle.math.ec.IntArray.m_ints:[I
iload 5 /* i */
iload 2 /* shift */
iadd
dup2
iaload
aload 1 /* other */
getfield org.bouncycastle.math.ec.IntArray.m_ints:[I
iload 5 /* i */
iaload
ixor
iastore
7: .line 300
iinc 5 /* i */ 1
StackMap locals:
StackMap stack:
8: iload 5 /* i */
iload 3 /* usedLenOther */
if_icmplt 6
end local 5 // int i
9: .line 304
return
end local 4 // int newMinUsedLen
end local 3 // int usedLenOther
end local 2 // int shift
end local 1 // org.bouncycastle.math.ec.IntArray other
end local 0 // org.bouncycastle.math.ec.IntArray this
LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lorg/bouncycastle/math/ec/IntArray;
0 10 1 other Lorg/bouncycastle/math/ec/IntArray;
0 10 2 shift I
1 10 3 usedLenOther I
2 10 4 newMinUsedLen I
5 9 5 i I
MethodParameters:
Name Flags
other
shift
public int getLength();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 // org.bouncycastle.math.ec.IntArray this
0: .line 308
aload 0 /* this */
getfield org.bouncycastle.math.ec.IntArray.m_ints:[I
arraylength
ireturn
end local 0 // org.bouncycastle.math.ec.IntArray this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/math/ec/IntArray;
public boolean testBit(int);
descriptor: (I)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=5, args_size=2
start local 0 // org.bouncycastle.math.ec.IntArray this
start local 1 // int n
0: .line 314
iload 1 /* n */
iconst_5
ishr
istore 2 /* theInt */
start local 2 // int theInt
1: .line 316
iload 1 /* n */
bipush 31
iand
istore 3 /* theBit */
start local 3 // int theBit
2: .line 317
iconst_1
iload 3 /* theBit */
ishl
istore 4 /* tester */
start local 4 // int tester
3: .line 318
aload 0 /* this */
getfield org.bouncycastle.math.ec.IntArray.m_ints:[I
iload 2 /* theInt */
iaload
iload 4 /* tester */
iand
ifeq 4
iconst_1
ireturn
StackMap locals: int int int
StackMap stack:
4: iconst_0
ireturn
end local 4 // int tester
end local 3 // int theBit
end local 2 // int theInt
end local 1 // int n
end local 0 // org.bouncycastle.math.ec.IntArray this
LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/bouncycastle/math/ec/IntArray;
0 5 1 n I
1 5 2 theInt I
2 5 3 theBit I
3 5 4 tester I
MethodParameters:
Name Flags
n
public void flipBit(int);
descriptor: (I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=2
start local 0 // org.bouncycastle.math.ec.IntArray this
start local 1 // int n
0: .line 324
iload 1 /* n */
iconst_5
ishr
istore 2 /* theInt */
start local 2 // int theInt
1: .line 326
iload 1 /* n */
bipush 31
iand
istore 3 /* theBit */
start local 3 // int theBit
2: .line 327
iconst_1
iload 3 /* theBit */
ishl
istore 4 /* flipper */
start local 4 // int flipper
3: .line 328
aload 0 /* this */
getfield org.bouncycastle.math.ec.IntArray.m_ints:[I
iload 2 /* theInt */
dup2
iaload
iload 4 /* flipper */
ixor
iastore
4: .line 329
return
end local 4 // int flipper
end local 3 // int theBit
end local 2 // int theInt
end local 1 // int n
end local 0 // org.bouncycastle.math.ec.IntArray this
LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/bouncycastle/math/ec/IntArray;
0 5 1 n I
1 5 2 theInt I
2 5 3 theBit I
3 5 4 flipper I
MethodParameters:
Name Flags
n
public void setBit(int);
descriptor: (I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=2
start local 0 // org.bouncycastle.math.ec.IntArray this
start local 1 // int n
0: .line 334
iload 1 /* n */
iconst_5
ishr
istore 2 /* theInt */
start local 2 // int theInt
1: .line 336
iload 1 /* n */
bipush 31
iand
istore 3 /* theBit */
start local 3 // int theBit
2: .line 337
iconst_1
iload 3 /* theBit */
ishl
istore 4 /* setter */
start local 4 // int setter
3: .line 338
aload 0 /* this */
getfield org.bouncycastle.math.ec.IntArray.m_ints:[I
iload 2 /* theInt */
dup2
iaload
iload 4 /* setter */
ior
iastore
4: .line 339
return
end local 4 // int setter
end local 3 // int theBit
end local 2 // int theInt
end local 1 // int n
end local 0 // org.bouncycastle.math.ec.IntArray this
LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/bouncycastle/math/ec/IntArray;
0 5 1 n I
1 5 2 theInt I
2 5 3 theBit I
3 5 4 setter I
MethodParameters:
Name Flags
n
public org.bouncycastle.math.ec.IntArray multiply(org.bouncycastle.math.ec.IntArray, int);
descriptor: (Lorg/bouncycastle/math/ec/IntArray;I)Lorg/bouncycastle/math/ec/IntArray;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=9, args_size=3
start local 0 // org.bouncycastle.math.ec.IntArray this
start local 1 // org.bouncycastle.math.ec.IntArray other
start local 2 // int m
0: .line 344
iload 2 /* m */
bipush 31
iadd
iconst_5
ishr
istore 3 /* t */
start local 3 // int t
1: .line 345
aload 0 /* this */
getfield org.bouncycastle.math.ec.IntArray.m_ints:[I
arraylength
iload 3 /* t */
if_icmpge 3
2: .line 347
aload 0 /* this */
aload 0 /* this */
iload 3 /* t */
invokevirtual org.bouncycastle.math.ec.IntArray.resizedInts:(I)[I
putfield org.bouncycastle.math.ec.IntArray.m_ints:[I
3: .line 350
StackMap locals: int
StackMap stack:
new org.bouncycastle.math.ec.IntArray
dup
aload 1 /* other */
aload 1 /* other */
invokevirtual org.bouncycastle.math.ec.IntArray.getLength:()I
iconst_1
iadd
invokevirtual org.bouncycastle.math.ec.IntArray.resizedInts:(I)[I
invokespecial org.bouncycastle.math.ec.IntArray.<init>:([I)V
astore 4 /* b */
start local 4 // org.bouncycastle.math.ec.IntArray b
4: .line 351
new org.bouncycastle.math.ec.IntArray
dup
iload 2 /* m */
iload 2 /* m */
iadd
bipush 31
iadd
iconst_5
ishr
invokespecial org.bouncycastle.math.ec.IntArray.<init>:(I)V
astore 5 /* c */
start local 5 // org.bouncycastle.math.ec.IntArray c
5: .line 353
iconst_1
istore 6 /* testBit */
start local 6 // int testBit
6: .line 354
iconst_0
istore 7 /* k */
start local 7 // int k
7: goto 17
8: .line 356
StackMap locals: org.bouncycastle.math.ec.IntArray org.bouncycastle.math.ec.IntArray int int org.bouncycastle.math.ec.IntArray org.bouncycastle.math.ec.IntArray int int
StackMap stack:
iconst_0
istore 8 /* j */
start local 8 // int j
9: goto 13
10: .line 358
StackMap locals: int
StackMap stack:
aload 0 /* this */
getfield org.bouncycastle.math.ec.IntArray.m_ints:[I
iload 8 /* j */
iaload
iload 6 /* testBit */
iand
ifeq 12
11: .line 361
aload 5 /* c */
aload 4 /* b */
iload 8 /* j */
invokevirtual org.bouncycastle.math.ec.IntArray.addShifted:(Lorg/bouncycastle/math/ec/IntArray;I)V
12: .line 356
StackMap locals:
StackMap stack:
iinc 8 /* j */ 1
StackMap locals:
StackMap stack:
13: iload 8 /* j */
iload 3 /* t */
if_icmplt 10
end local 8 // int j
14: .line 364
iload 6 /* testBit */
iconst_1
ishl
istore 6 /* testBit */
15: .line 365
aload 4 /* b */
invokevirtual org.bouncycastle.math.ec.IntArray.shiftLeft:()V
16: .line 354
iinc 7 /* k */ 1
StackMap locals:
StackMap stack:
17: iload 7 /* k */
bipush 32
if_icmplt 8
end local 7 // int k
18: .line 367
aload 5 /* c */
areturn
end local 6 // int testBit
end local 5 // org.bouncycastle.math.ec.IntArray c
end local 4 // org.bouncycastle.math.ec.IntArray b
end local 3 // int t
end local 2 // int m
end local 1 // org.bouncycastle.math.ec.IntArray other
end local 0 // org.bouncycastle.math.ec.IntArray this
LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lorg/bouncycastle/math/ec/IntArray;
0 19 1 other Lorg/bouncycastle/math/ec/IntArray;
0 19 2 m I
1 19 3 t I
4 19 4 b Lorg/bouncycastle/math/ec/IntArray;
5 19 5 c Lorg/bouncycastle/math/ec/IntArray;
6 19 6 testBit I
7 18 7 k I
9 14 8 j I
MethodParameters:
Name Flags
other
m
public void reduce(int, int[]);
descriptor: (I[I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=6, args_size=3
start local 0 // org.bouncycastle.math.ec.IntArray this
start local 1 // int m
start local 2 // int[] redPol
0: .line 399
iload 1 /* m */
iload 1 /* m */
iadd
iconst_2
isub
istore 3 /* i */
start local 3 // int i
1: goto 11
2: .line 401
StackMap locals: int
StackMap stack:
aload 0 /* this */
iload 3 /* i */
invokevirtual org.bouncycastle.math.ec.IntArray.testBit:(I)Z
ifeq 10
3: .line 403
iload 3 /* i */
iload 1 /* m */
isub
istore 4 /* bit */
start local 4 // int bit
4: .line 404
aload 0 /* this */
iload 4 /* bit */
invokevirtual org.bouncycastle.math.ec.IntArray.flipBit:(I)V
5: .line 405
aload 0 /* this */
iload 3 /* i */
invokevirtual org.bouncycastle.math.ec.IntArray.flipBit:(I)V
6: .line 406
aload 2 /* redPol */
arraylength
istore 5 /* l */
start local 5 // int l
7: .line 407
goto 9
8: .line 409
StackMap locals: int int
StackMap stack:
aload 0 /* this */
aload 2 /* redPol */
iload 5 /* l */
iaload
iload 4 /* bit */
iadd
invokevirtual org.bouncycastle.math.ec.IntArray.flipBit:(I)V
9: .line 407
StackMap locals:
StackMap stack:
iinc 5 /* l */ -1
iload 5 /* l */
ifge 8
end local 5 // int l
end local 4 // int bit
10: .line 399
StackMap locals:
StackMap stack:
iinc 3 /* i */ -1
StackMap locals:
StackMap stack:
11: iload 3 /* i */
iload 1 /* m */
if_icmpge 2
end local 3 // int i
12: .line 413
aload 0 /* this */
aload 0 /* this */
iload 1 /* m */
bipush 31
iadd
iconst_5
ishr
invokevirtual org.bouncycastle.math.ec.IntArray.resizedInts:(I)[I
putfield org.bouncycastle.math.ec.IntArray.m_ints:[I
13: .line 414
return
end local 2 // int[] redPol
end local 1 // int m
end local 0 // org.bouncycastle.math.ec.IntArray this
LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lorg/bouncycastle/math/ec/IntArray;
0 14 1 m I
0 14 2 redPol [I
1 12 3 i I
4 10 4 bit I
7 10 5 l I
MethodParameters:
Name Flags
m
redPol
public org.bouncycastle.math.ec.IntArray square(int);
descriptor: (I)Lorg/bouncycastle/math/ec/IntArray;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=11, args_size=2
start local 0 // org.bouncycastle.math.ec.IntArray this
start local 1 // int m
0: .line 419
bipush 16
newarray 10
dup
iconst_1
iconst_1
iastore
dup
iconst_2
iconst_4
iastore
dup
iconst_3
iconst_5
iastore
dup
iconst_4
bipush 16
iastore
dup
iconst_5
bipush 17
iastore
dup
bipush 6
bipush 20
iastore
dup
bipush 7
bipush 21
iastore
dup
bipush 8
bipush 64
iastore
dup
bipush 9
1: .line 420
bipush 65
iastore
dup
bipush 10
bipush 68
iastore
dup
bipush 11
bipush 69
iastore
dup
bipush 12
bipush 80
iastore
dup
bipush 13
bipush 81
iastore
dup
bipush 14
bipush 84
iastore
dup
bipush 15
bipush 85
iastore
2: .line 419
astore 2 /* table */
start local 2 // int[] table
3: .line 422
iload 1 /* m */
bipush 31
iadd
iconst_5
ishr
istore 3 /* t */
start local 3 // int t
4: .line 423
aload 0 /* this */
getfield org.bouncycastle.math.ec.IntArray.m_ints:[I
arraylength
iload 3 /* t */
if_icmpge 6
5: .line 425
aload 0 /* this */
aload 0 /* this */
iload 3 /* t */
invokevirtual org.bouncycastle.math.ec.IntArray.resizedInts:(I)[I
putfield org.bouncycastle.math.ec.IntArray.m_ints:[I
6: .line 428
StackMap locals: int[] int
StackMap stack:
new org.bouncycastle.math.ec.IntArray
dup
iload 3 /* t */
iload 3 /* t */
iadd
invokespecial org.bouncycastle.math.ec.IntArray.<init>:(I)V
astore 4 /* c */
start local 4 // org.bouncycastle.math.ec.IntArray c
7: .line 431
iconst_0
istore 5 /* i */
start local 5 // int i
8: goto 31
9: .line 433
StackMap locals: org.bouncycastle.math.ec.IntArray int
StackMap stack:
iconst_0
istore 6 /* v0 */
start local 6 // int v0
10: .line 434
iconst_0
istore 7 /* j */
start local 7 // int j
11: goto 17
12: .line 436
StackMap locals: int int
StackMap stack:
iload 6 /* v0 */
bipush 8
iushr
istore 6 /* v0 */
13: .line 437
aload 0 /* this */
getfield org.bouncycastle.math.ec.IntArray.m_ints:[I
iload 5 /* i */
iaload
iload 7 /* j */
iconst_4
imul
iushr
bipush 15
iand
istore 8 /* u */
start local 8 // int u
14: .line 438
aload 2 /* table */
iload 8 /* u */
iaload
bipush 24
ishl
istore 9 /* w */
start local 9 // int w
15: .line 439
iload 6 /* v0 */
iload 9 /* w */
ior
istore 6 /* v0 */
end local 9 // int w
end local 8 // int u
16: .line 434
iinc 7 /* j */ 1
StackMap locals:
StackMap stack:
17: iload 7 /* j */
iconst_4
if_icmplt 12
end local 7 // int j
18: .line 441
aload 4 /* c */
getfield org.bouncycastle.math.ec.IntArray.m_ints:[I
iload 5 /* i */
iload 5 /* i */
iadd
iload 6 /* v0 */
iastore
19: .line 443
iconst_0
istore 6 /* v0 */
20: .line 444
aload 0 /* this */
getfield org.bouncycastle.math.ec.IntArray.m_ints:[I
iload 5 /* i */
iaload
bipush 16
iushr
istore 7 /* upper */
start local 7 // int upper
21: .line 445
iconst_0
istore 8 /* j */
start local 8 // int j
22: goto 28
23: .line 447
StackMap locals: int
StackMap stack:
iload 6 /* v0 */
bipush 8
iushr
istore 6 /* v0 */
24: .line 448
iload 7 /* upper */
iload 8 /* j */
iconst_4
imul
iushr
bipush 15
iand
istore 9 /* u */
start local 9 // int u
25: .line 449
aload 2 /* table */
iload 9 /* u */
iaload
bipush 24
ishl
istore 10 /* w */
start local 10 // int w
26: .line 450
iload 6 /* v0 */
iload 10 /* w */
ior
istore 6 /* v0 */
end local 10 // int w
end local 9 // int u
27: .line 445
iinc 8 /* j */ 1
StackMap locals:
StackMap stack:
28: iload 8 /* j */
iconst_4
if_icmplt 23
end local 8 // int j
29: .line 452
aload 4 /* c */
getfield org.bouncycastle.math.ec.IntArray.m_ints:[I
iload 5 /* i */
iload 5 /* i */
iadd
iconst_1
iadd
iload 6 /* v0 */
iastore
end local 7 // int upper
end local 6 // int v0
30: .line 431
iinc 5 /* i */ 1
StackMap locals:
StackMap stack:
31: iload 5 /* i */
iload 3 /* t */
if_icmplt 9
end local 5 // int i
32: .line 454
aload 4 /* c */
areturn
end local 4 // org.bouncycastle.math.ec.IntArray c
end local 3 // int t
end local 2 // int[] table
end local 1 // int m
end local 0 // org.bouncycastle.math.ec.IntArray this
LocalVariableTable:
Start End Slot Name Signature
0 33 0 this Lorg/bouncycastle/math/ec/IntArray;
0 33 1 m I
3 33 2 table [I
4 33 3 t I
7 33 4 c Lorg/bouncycastle/math/ec/IntArray;
8 32 5 i I
10 30 6 v0 I
11 18 7 j I
14 16 8 u I
15 16 9 w I
21 30 7 upper I
22 29 8 j I
25 27 9 u I
26 27 10 w I
MethodParameters:
Name Flags
m
public boolean equals(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=2
start local 0 // org.bouncycastle.math.ec.IntArray this
start local 1 // java.lang.Object o
0: .line 459
aload 1 /* o */
instanceof org.bouncycastle.math.ec.IntArray
ifne 2
1: .line 461
iconst_0
ireturn
2: .line 463
StackMap locals:
StackMap stack:
aload 1 /* o */
checkcast org.bouncycastle.math.ec.IntArray
astore 2 /* other */
start local 2 // org.bouncycastle.math.ec.IntArray other
3: .line 464
aload 0 /* this */
invokevirtual org.bouncycastle.math.ec.IntArray.getUsedLength:()I
istore 3 /* usedLen */
start local 3 // int usedLen
4: .line 465
aload 2 /* other */
invokevirtual org.bouncycastle.math.ec.IntArray.getUsedLength:()I
iload 3 /* usedLen */
if_icmpeq 6
5: .line 467
iconst_0
ireturn
6: .line 469
StackMap locals: org.bouncycastle.math.ec.IntArray int
StackMap stack:
iconst_0
istore 4 /* i */
start local 4 // int i
7: goto 11
8: .line 471
StackMap locals: int
StackMap stack:
aload 0 /* this */
getfield org.bouncycastle.math.ec.IntArray.m_ints:[I
iload 4 /* i */
iaload
aload 2 /* other */
getfield org.bouncycastle.math.ec.IntArray.m_ints:[I
iload 4 /* i */
iaload
if_icmpeq 10
9: .line 473
iconst_0
ireturn
10: .line 469
StackMap locals:
StackMap stack:
iinc 4 /* i */ 1
StackMap locals:
StackMap stack:
11: iload 4 /* i */
iload 3 /* usedLen */
if_icmplt 8
end local 4 // int i
12: .line 476
iconst_1
ireturn
end local 3 // int usedLen
end local 2 // org.bouncycastle.math.ec.IntArray other
end local 1 // java.lang.Object o
end local 0 // org.bouncycastle.math.ec.IntArray this
LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lorg/bouncycastle/math/ec/IntArray;
0 13 1 o Ljava/lang/Object;
3 13 2 other Lorg/bouncycastle/math/ec/IntArray;
4 13 3 usedLen I
7 12 4 i I
MethodParameters:
Name Flags
o
public int hashCode();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=1
start local 0 // org.bouncycastle.math.ec.IntArray this
0: .line 481
aload 0 /* this */
invokevirtual org.bouncycastle.math.ec.IntArray.getUsedLength:()I
istore 1 /* usedLen */
start local 1 // int usedLen
1: .line 482
iconst_1
istore 2 /* hash */
start local 2 // int hash
2: .line 483
iconst_0
istore 3 /* i */
start local 3 // int i
3: goto 6
4: .line 485
StackMap locals: int int int
StackMap stack:
iload 2 /* hash */
bipush 31
imul
aload 0 /* this */
getfield org.bouncycastle.math.ec.IntArray.m_ints:[I
iload 3 /* i */
iaload
iadd
istore 2 /* hash */
5: .line 483
iinc 3 /* i */ 1
StackMap locals:
StackMap stack:
6: iload 3 /* i */
iload 1 /* usedLen */
if_icmplt 4
end local 3 // int i
7: .line 487
iload 2 /* hash */
ireturn
end local 2 // int hash
end local 1 // int usedLen
end local 0 // org.bouncycastle.math.ec.IntArray this
LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/bouncycastle/math/ec/IntArray;
1 8 1 usedLen I
2 8 2 hash I
3 7 3 i I
public java.lang.Object clone();
descriptor: ()Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 // org.bouncycastle.math.ec.IntArray this
0: .line 492
new org.bouncycastle.math.ec.IntArray
dup
aload 0 /* this */
getfield org.bouncycastle.math.ec.IntArray.m_ints:[I
invokestatic org.bouncycastle.util.Arrays.clone:([I)[I
invokespecial org.bouncycastle.math.ec.IntArray.<init>:([I)V
areturn
end local 0 // org.bouncycastle.math.ec.IntArray this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/math/ec/IntArray;
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=6, args_size=1
start local 0 // org.bouncycastle.math.ec.IntArray this
0: .line 497
aload 0 /* this */
invokevirtual org.bouncycastle.math.ec.IntArray.getUsedLength:()I
istore 1 /* usedLen */
start local 1 // int usedLen
1: .line 498
iload 1 /* usedLen */
ifne 3
2: .line 500
ldc "0"
areturn
3: .line 503
StackMap locals: int
StackMap stack:
new java.lang.StringBuffer
dup
4: .line 504
aload 0 /* this */
getfield org.bouncycastle.math.ec.IntArray.m_ints:[I
iload 1 /* usedLen */
iconst_1
isub
iaload
invokestatic java.lang.Integer.toBinaryString:(I)Ljava/lang/String;
5: .line 503
invokespecial java.lang.StringBuffer.<init>:(Ljava/lang/String;)V
astore 2 /* sb */
start local 2 // java.lang.StringBuffer sb
6: .line 505
iload 1 /* usedLen */
iconst_2
isub
istore 3 /* iarrJ */
start local 3 // int iarrJ
7: goto 16
8: .line 507
StackMap locals: java.lang.StringBuffer int
StackMap stack:
aload 0 /* this */
getfield org.bouncycastle.math.ec.IntArray.m_ints:[I
iload 3 /* iarrJ */
iaload
invokestatic java.lang.Integer.toBinaryString:(I)Ljava/lang/String;
astore 4 /* hexString */
start local 4 // java.lang.String hexString
9: .line 510
aload 4 /* hexString */
invokevirtual java.lang.String.length:()I
istore 5 /* i */
start local 5 // int i
10: goto 13
11: .line 512
StackMap locals: java.lang.String int
StackMap stack:
new java.lang.StringBuilder
dup
ldc "0"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4 /* hexString */
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 4 /* hexString */
12: .line 510
iinc 5 /* i */ 1
StackMap locals:
StackMap stack:
13: iload 5 /* i */
bipush 8
if_icmplt 11
end local 5 // int i
14: .line 514
aload 2 /* sb */
aload 4 /* hexString */
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
end local 4 // java.lang.String hexString
15: .line 505
iinc 3 /* iarrJ */ -1
StackMap locals:
StackMap stack:
16: iload 3 /* iarrJ */
ifge 8
end local 3 // int iarrJ
17: .line 516
aload 2 /* sb */
invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
areturn
end local 2 // java.lang.StringBuffer sb
end local 1 // int usedLen
end local 0 // org.bouncycastle.math.ec.IntArray this
LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lorg/bouncycastle/math/ec/IntArray;
1 18 1 usedLen I
6 18 2 sb Ljava/lang/StringBuffer;
7 17 3 iarrJ I
9 15 4 hexString Ljava/lang/String;
10 14 5 i I
}
SourceFile: "IntArray.java"