public class org.bouncycastle.math.ec.custom.gm.SM2P256V1FieldElement extends org.bouncycastle.math.ec.ECFieldElement$AbstractFp
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.bouncycastle.math.ec.custom.gm.SM2P256V1FieldElement
super_class: org.bouncycastle.math.ec.ECFieldElement$AbstractFp
{
public static final java.math.BigInteger Q;
descriptor: Ljava/math/BigInteger;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
protected int[] x;
descriptor: [I
flags: (0x0004) ACC_PROTECTED
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: getstatic org.bouncycastle.math.ec.custom.gm.SM2P256V1Curve.q:Ljava/math/BigInteger;
putstatic org.bouncycastle.math.ec.custom.gm.SM2P256V1FieldElement.Q:Ljava/math/BigInteger;
return
LocalVariableTable:
Start End Slot Name Signature
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 start local 1 0: aload 0
invokespecial org.bouncycastle.math.ec.ECFieldElement$AbstractFp.<init>:()V
1: aload 1
ifnull 2
aload 1
invokevirtual java.math.BigInteger.signum:()I
iflt 2
aload 1
getstatic org.bouncycastle.math.ec.custom.gm.SM2P256V1FieldElement.Q:Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.compareTo:(Ljava/math/BigInteger;)I
iflt 3
2: StackMap locals: org.bouncycastle.math.ec.custom.gm.SM2P256V1FieldElement java.math.BigInteger
StackMap stack:
new java.lang.IllegalArgumentException
dup
ldc "x value invalid for SM2P256V1FieldElement"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals:
StackMap stack:
aload 0
aload 1
invokestatic org.bouncycastle.math.ec.custom.gm.SM2P256V1Field.fromBigInteger:(Ljava/math/BigInteger;)[I
putfield org.bouncycastle.math.ec.custom.gm.SM2P256V1FieldElement.x:[I
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/bouncycastle/math/ec/custom/gm/SM2P256V1FieldElement;
0 5 1 x Ljava/math/BigInteger;
MethodParameters:
Name Flags
x
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokespecial org.bouncycastle.math.ec.ECFieldElement$AbstractFp.<init>:()V
1: aload 0
invokestatic org.bouncycastle.math.raw.Nat256.create:()[I
putfield org.bouncycastle.math.ec.custom.gm.SM2P256V1FieldElement.x:[I
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/bouncycastle/math/ec/custom/gm/SM2P256V1FieldElement;
protected void <init>(int[]);
descriptor: ([I)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial org.bouncycastle.math.ec.ECFieldElement$AbstractFp.<init>:()V
1: aload 0
aload 1
putfield org.bouncycastle.math.ec.custom.gm.SM2P256V1FieldElement.x:[I
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/bouncycastle/math/ec/custom/gm/SM2P256V1FieldElement;
0 3 1 x [I
MethodParameters:
Name Flags
x
public boolean isZero();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.bouncycastle.math.ec.custom.gm.SM2P256V1FieldElement.x:[I
invokestatic org.bouncycastle.math.raw.Nat256.isZero:([I)Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/math/ec/custom/gm/SM2P256V1FieldElement;
public boolean isOne();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.bouncycastle.math.ec.custom.gm.SM2P256V1FieldElement.x:[I
invokestatic org.bouncycastle.math.raw.Nat256.isOne:([I)Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/math/ec/custom/gm/SM2P256V1FieldElement;
public boolean testBitZero();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield org.bouncycastle.math.ec.custom.gm.SM2P256V1FieldElement.x:[I
iconst_0
invokestatic org.bouncycastle.math.raw.Nat256.getBit:([II)I
iconst_1
if_icmpne 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/bouncycastle/math/ec/custom/gm/SM2P256V1FieldElement;
public java.math.BigInteger toBigInteger();
descriptor: ()Ljava/math/BigInteger;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.bouncycastle.math.ec.custom.gm.SM2P256V1FieldElement.x:[I
invokestatic org.bouncycastle.math.raw.Nat256.toBigInteger:([I)Ljava/math/BigInteger;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/math/ec/custom/gm/SM2P256V1FieldElement;
public java.lang.String getFieldName();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: ldc "SM2P256V1Field"
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/math/ec/custom/gm/SM2P256V1FieldElement;
public int getFieldSize();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: getstatic org.bouncycastle.math.ec.custom.gm.SM2P256V1FieldElement.Q:Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.bitLength:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/math/ec/custom/gm/SM2P256V1FieldElement;
public org.bouncycastle.math.ec.ECFieldElement add(org.bouncycastle.math.ec.ECFieldElement);
descriptor: (Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: invokestatic org.bouncycastle.math.raw.Nat256.create:()[I
astore 2
start local 2 1: aload 0
getfield org.bouncycastle.math.ec.custom.gm.SM2P256V1FieldElement.x:[I
aload 1
checkcast org.bouncycastle.math.ec.custom.gm.SM2P256V1FieldElement
getfield org.bouncycastle.math.ec.custom.gm.SM2P256V1FieldElement.x:[I
aload 2
invokestatic org.bouncycastle.math.ec.custom.gm.SM2P256V1Field.add:([I[I[I)V
2: new org.bouncycastle.math.ec.custom.gm.SM2P256V1FieldElement
dup
aload 2
invokespecial org.bouncycastle.math.ec.custom.gm.SM2P256V1FieldElement.<init>:([I)V
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/bouncycastle/math/ec/custom/gm/SM2P256V1FieldElement;
0 3 1 b Lorg/bouncycastle/math/ec/ECFieldElement;
1 3 2 z [I
MethodParameters:
Name Flags
b
public org.bouncycastle.math.ec.ECFieldElement addOne();
descriptor: ()Lorg/bouncycastle/math/ec/ECFieldElement;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: invokestatic org.bouncycastle.math.raw.Nat256.create:()[I
astore 1
start local 1 1: aload 0
getfield org.bouncycastle.math.ec.custom.gm.SM2P256V1FieldElement.x:[I
aload 1
invokestatic org.bouncycastle.math.ec.custom.gm.SM2P256V1Field.addOne:([I[I)V
2: new org.bouncycastle.math.ec.custom.gm.SM2P256V1FieldElement
dup
aload 1
invokespecial org.bouncycastle.math.ec.custom.gm.SM2P256V1FieldElement.<init>:([I)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/bouncycastle/math/ec/custom/gm/SM2P256V1FieldElement;
1 3 1 z [I
public org.bouncycastle.math.ec.ECFieldElement subtract(org.bouncycastle.math.ec.ECFieldElement);
descriptor: (Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: invokestatic org.bouncycastle.math.raw.Nat256.create:()[I
astore 2
start local 2 1: aload 0
getfield org.bouncycastle.math.ec.custom.gm.SM2P256V1FieldElement.x:[I
aload 1
checkcast org.bouncycastle.math.ec.custom.gm.SM2P256V1FieldElement
getfield org.bouncycastle.math.ec.custom.gm.SM2P256V1FieldElement.x:[I
aload 2
invokestatic org.bouncycastle.math.ec.custom.gm.SM2P256V1Field.subtract:([I[I[I)V
2: new org.bouncycastle.math.ec.custom.gm.SM2P256V1FieldElement
dup
aload 2
invokespecial org.bouncycastle.math.ec.custom.gm.SM2P256V1FieldElement.<init>:([I)V
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/bouncycastle/math/ec/custom/gm/SM2P256V1FieldElement;
0 3 1 b Lorg/bouncycastle/math/ec/ECFieldElement;
1 3 2 z [I
MethodParameters:
Name Flags
b
public org.bouncycastle.math.ec.ECFieldElement multiply(org.bouncycastle.math.ec.ECFieldElement);
descriptor: (Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: invokestatic org.bouncycastle.math.raw.Nat256.create:()[I
astore 2
start local 2 1: aload 0
getfield org.bouncycastle.math.ec.custom.gm.SM2P256V1FieldElement.x:[I
aload 1
checkcast org.bouncycastle.math.ec.custom.gm.SM2P256V1FieldElement
getfield org.bouncycastle.math.ec.custom.gm.SM2P256V1FieldElement.x:[I
aload 2
invokestatic org.bouncycastle.math.ec.custom.gm.SM2P256V1Field.multiply:([I[I[I)V
2: new org.bouncycastle.math.ec.custom.gm.SM2P256V1FieldElement
dup
aload 2
invokespecial org.bouncycastle.math.ec.custom.gm.SM2P256V1FieldElement.<init>:([I)V
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/bouncycastle/math/ec/custom/gm/SM2P256V1FieldElement;
0 3 1 b Lorg/bouncycastle/math/ec/ECFieldElement;
1 3 2 z [I
MethodParameters:
Name Flags
b
public org.bouncycastle.math.ec.ECFieldElement divide(org.bouncycastle.math.ec.ECFieldElement);
descriptor: (Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: invokestatic org.bouncycastle.math.raw.Nat256.create:()[I
astore 2
start local 2 1: getstatic org.bouncycastle.math.ec.custom.gm.SM2P256V1Field.P:[I
aload 1
checkcast org.bouncycastle.math.ec.custom.gm.SM2P256V1FieldElement
getfield org.bouncycastle.math.ec.custom.gm.SM2P256V1FieldElement.x:[I
aload 2
invokestatic org.bouncycastle.math.raw.Mod.invert:([I[I[I)V
2: aload 2
aload 0
getfield org.bouncycastle.math.ec.custom.gm.SM2P256V1FieldElement.x:[I
aload 2
invokestatic org.bouncycastle.math.ec.custom.gm.SM2P256V1Field.multiply:([I[I[I)V
3: new org.bouncycastle.math.ec.custom.gm.SM2P256V1FieldElement
dup
aload 2
invokespecial org.bouncycastle.math.ec.custom.gm.SM2P256V1FieldElement.<init>:([I)V
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/bouncycastle/math/ec/custom/gm/SM2P256V1FieldElement;
0 4 1 b Lorg/bouncycastle/math/ec/ECFieldElement;
1 4 2 z [I
MethodParameters:
Name Flags
b
public org.bouncycastle.math.ec.ECFieldElement negate();
descriptor: ()Lorg/bouncycastle/math/ec/ECFieldElement;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: invokestatic org.bouncycastle.math.raw.Nat256.create:()[I
astore 1
start local 1 1: aload 0
getfield org.bouncycastle.math.ec.custom.gm.SM2P256V1FieldElement.x:[I
aload 1
invokestatic org.bouncycastle.math.ec.custom.gm.SM2P256V1Field.negate:([I[I)V
2: new org.bouncycastle.math.ec.custom.gm.SM2P256V1FieldElement
dup
aload 1
invokespecial org.bouncycastle.math.ec.custom.gm.SM2P256V1FieldElement.<init>:([I)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/bouncycastle/math/ec/custom/gm/SM2P256V1FieldElement;
1 3 1 z [I
public org.bouncycastle.math.ec.ECFieldElement square();
descriptor: ()Lorg/bouncycastle/math/ec/ECFieldElement;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: invokestatic org.bouncycastle.math.raw.Nat256.create:()[I
astore 1
start local 1 1: aload 0
getfield org.bouncycastle.math.ec.custom.gm.SM2P256V1FieldElement.x:[I
aload 1
invokestatic org.bouncycastle.math.ec.custom.gm.SM2P256V1Field.square:([I[I)V
2: new org.bouncycastle.math.ec.custom.gm.SM2P256V1FieldElement
dup
aload 1
invokespecial org.bouncycastle.math.ec.custom.gm.SM2P256V1FieldElement.<init>:([I)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/bouncycastle/math/ec/custom/gm/SM2P256V1FieldElement;
1 3 1 z [I
public org.bouncycastle.math.ec.ECFieldElement invert();
descriptor: ()Lorg/bouncycastle/math/ec/ECFieldElement;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: invokestatic org.bouncycastle.math.raw.Nat256.create:()[I
astore 1
start local 1 1: getstatic org.bouncycastle.math.ec.custom.gm.SM2P256V1Field.P:[I
aload 0
getfield org.bouncycastle.math.ec.custom.gm.SM2P256V1FieldElement.x:[I
aload 1
invokestatic org.bouncycastle.math.raw.Mod.invert:([I[I[I)V
2: new org.bouncycastle.math.ec.custom.gm.SM2P256V1FieldElement
dup
aload 1
invokespecial org.bouncycastle.math.ec.custom.gm.SM2P256V1FieldElement.<init>:([I)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/bouncycastle/math/ec/custom/gm/SM2P256V1FieldElement;
1 3 1 z [I
public org.bouncycastle.math.ec.ECFieldElement sqrt();
descriptor: ()Lorg/bouncycastle/math/ec/ECFieldElement;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=12, args_size=1
start local 0 0: aload 0
getfield org.bouncycastle.math.ec.custom.gm.SM2P256V1FieldElement.x:[I
astore 1
start local 1 1: aload 1
invokestatic org.bouncycastle.math.raw.Nat256.isZero:([I)Z
ifne 2
aload 1
invokestatic org.bouncycastle.math.raw.Nat256.isOne:([I)Z
ifeq 3
2: StackMap locals: int[]
StackMap stack:
aload 0
areturn
3: StackMap locals:
StackMap stack:
invokestatic org.bouncycastle.math.raw.Nat256.create:()[I
astore 2
start local 2 4: aload 1
aload 2
invokestatic org.bouncycastle.math.ec.custom.gm.SM2P256V1Field.square:([I[I)V
5: aload 2
aload 1
aload 2
invokestatic org.bouncycastle.math.ec.custom.gm.SM2P256V1Field.multiply:([I[I[I)V
6: invokestatic org.bouncycastle.math.raw.Nat256.create:()[I
astore 3
start local 3 7: aload 2
iconst_2
aload 3
invokestatic org.bouncycastle.math.ec.custom.gm.SM2P256V1Field.squareN:([II[I)V
8: aload 3
aload 2
aload 3
invokestatic org.bouncycastle.math.ec.custom.gm.SM2P256V1Field.multiply:([I[I[I)V
9: invokestatic org.bouncycastle.math.raw.Nat256.create:()[I
astore 4
start local 4 10: aload 3
iconst_2
aload 4
invokestatic org.bouncycastle.math.ec.custom.gm.SM2P256V1Field.squareN:([II[I)V
11: aload 4
aload 2
aload 4
invokestatic org.bouncycastle.math.ec.custom.gm.SM2P256V1Field.multiply:([I[I[I)V
12: aload 2
astore 5
start local 5 13: aload 4
bipush 6
aload 5
invokestatic org.bouncycastle.math.ec.custom.gm.SM2P256V1Field.squareN:([II[I)V
14: aload 5
aload 4
aload 5
invokestatic org.bouncycastle.math.ec.custom.gm.SM2P256V1Field.multiply:([I[I[I)V
15: invokestatic org.bouncycastle.math.raw.Nat256.create:()[I
astore 6
start local 6 16: aload 5
bipush 12
aload 6
invokestatic org.bouncycastle.math.ec.custom.gm.SM2P256V1Field.squareN:([II[I)V
17: aload 6
aload 5
aload 6
invokestatic org.bouncycastle.math.ec.custom.gm.SM2P256V1Field.multiply:([I[I[I)V
18: aload 5
astore 7
start local 7 19: aload 6
bipush 6
aload 7
invokestatic org.bouncycastle.math.ec.custom.gm.SM2P256V1Field.squareN:([II[I)V
20: aload 7
aload 4
aload 7
invokestatic org.bouncycastle.math.ec.custom.gm.SM2P256V1Field.multiply:([I[I[I)V
21: aload 4
astore 8
start local 8 22: aload 7
aload 8
invokestatic org.bouncycastle.math.ec.custom.gm.SM2P256V1Field.square:([I[I)V
23: aload 8
aload 1
aload 8
invokestatic org.bouncycastle.math.ec.custom.gm.SM2P256V1Field.multiply:([I[I[I)V
24: aload 6
astore 9
start local 9 25: aload 8
bipush 31
aload 9
invokestatic org.bouncycastle.math.ec.custom.gm.SM2P256V1Field.squareN:([II[I)V
26: aload 7
astore 10
start local 10 27: aload 9
aload 8
aload 10
invokestatic org.bouncycastle.math.ec.custom.gm.SM2P256V1Field.multiply:([I[I[I)V
28: aload 9
bipush 32
aload 9
invokestatic org.bouncycastle.math.ec.custom.gm.SM2P256V1Field.squareN:([II[I)V
29: aload 9
aload 10
aload 9
invokestatic org.bouncycastle.math.ec.custom.gm.SM2P256V1Field.multiply:([I[I[I)V
30: aload 9
bipush 62
aload 9
invokestatic org.bouncycastle.math.ec.custom.gm.SM2P256V1Field.squareN:([II[I)V
31: aload 9
aload 10
aload 9
invokestatic org.bouncycastle.math.ec.custom.gm.SM2P256V1Field.multiply:([I[I[I)V
32: aload 9
iconst_4
aload 9
invokestatic org.bouncycastle.math.ec.custom.gm.SM2P256V1Field.squareN:([II[I)V
33: aload 9
aload 3
aload 9
invokestatic org.bouncycastle.math.ec.custom.gm.SM2P256V1Field.multiply:([I[I[I)V
34: aload 9
bipush 32
aload 9
invokestatic org.bouncycastle.math.ec.custom.gm.SM2P256V1Field.squareN:([II[I)V
35: aload 9
aload 1
aload 9
invokestatic org.bouncycastle.math.ec.custom.gm.SM2P256V1Field.multiply:([I[I[I)V
36: aload 9
bipush 62
aload 9
invokestatic org.bouncycastle.math.ec.custom.gm.SM2P256V1Field.squareN:([II[I)V
37: aload 3
astore 11
start local 11 38: aload 9
aload 11
invokestatic org.bouncycastle.math.ec.custom.gm.SM2P256V1Field.square:([I[I)V
39: aload 1
aload 11
invokestatic org.bouncycastle.math.raw.Nat256.eq:([I[I)Z
ifeq 40
new org.bouncycastle.math.ec.custom.gm.SM2P256V1FieldElement
dup
aload 9
invokespecial org.bouncycastle.math.ec.custom.gm.SM2P256V1FieldElement.<init>:([I)V
goto 41
StackMap locals: org.bouncycastle.math.ec.custom.gm.SM2P256V1FieldElement int[] int[] int[] int[] int[] int[] int[] int[] int[] int[] int[]
StackMap stack:
40: aconst_null
StackMap locals:
StackMap stack: org.bouncycastle.math.ec.custom.gm.SM2P256V1FieldElement
41: areturn
end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 42 0 this Lorg/bouncycastle/math/ec/custom/gm/SM2P256V1FieldElement;
1 42 1 x1 [I
4 42 2 x2 [I
7 42 3 x4 [I
10 42 4 x6 [I
13 42 5 x12 [I
16 42 6 x24 [I
19 42 7 x30 [I
22 42 8 x31 [I
25 42 9 t1 [I
27 42 10 x62 [I
38 42 11 t2 [I
public boolean equals(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
aload 0
if_acmpne 2
1: iconst_1
ireturn
2: StackMap locals:
StackMap stack:
aload 1
instanceof org.bouncycastle.math.ec.custom.gm.SM2P256V1FieldElement
ifne 4
3: iconst_0
ireturn
4: StackMap locals:
StackMap stack:
aload 1
checkcast org.bouncycastle.math.ec.custom.gm.SM2P256V1FieldElement
astore 2
start local 2 5: aload 0
getfield org.bouncycastle.math.ec.custom.gm.SM2P256V1FieldElement.x:[I
aload 2
getfield org.bouncycastle.math.ec.custom.gm.SM2P256V1FieldElement.x:[I
invokestatic org.bouncycastle.math.raw.Nat256.eq:([I[I)Z
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/bouncycastle/math/ec/custom/gm/SM2P256V1FieldElement;
0 6 1 other Ljava/lang/Object;
5 6 2 o Lorg/bouncycastle/math/ec/custom/gm/SM2P256V1FieldElement;
MethodParameters:
Name Flags
other
public int hashCode();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: getstatic org.bouncycastle.math.ec.custom.gm.SM2P256V1FieldElement.Q:Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.hashCode:()I
aload 0
getfield org.bouncycastle.math.ec.custom.gm.SM2P256V1FieldElement.x:[I
iconst_0
bipush 8
invokestatic org.bouncycastle.util.Arrays.hashCode:([III)I
ixor
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/math/ec/custom/gm/SM2P256V1FieldElement;
}
SourceFile: "SM2P256V1FieldElement.java"
InnerClasses:
public abstract AbstractFp = org.bouncycastle.math.ec.ECFieldElement$AbstractFp of org.bouncycastle.math.ec.ECFieldElement