public class sun.security.ec.XECOperations
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: sun.security.ec.XECOperations
super_class: java.lang.Object
{
private final sun.security.ec.XECParameters params;
descriptor: Lsun/security/ec/XECParameters;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final sun.security.util.math.IntegerFieldModuloP field;
descriptor: Lsun/security/util/math/IntegerFieldModuloP;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final sun.security.util.math.ImmutableIntegerModuloP zero;
descriptor: Lsun/security/util/math/ImmutableIntegerModuloP;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final sun.security.util.math.ImmutableIntegerModuloP one;
descriptor: Lsun/security/util/math/ImmutableIntegerModuloP;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final sun.security.util.math.SmallValue a24;
descriptor: Lsun/security/util/math/SmallValue;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final sun.security.util.math.ImmutableIntegerModuloP basePoint;
descriptor: Lsun/security/util/math/ImmutableIntegerModuloP;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
public void <init>(sun.security.ec.XECParameters);
descriptor: (Lsun/security/ec/XECParameters;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield sun.security.ec.XECOperations.params:Lsun/security/ec/XECParameters;
2: aload 0
getfield sun.security.ec.XECOperations.params:Lsun/security/ec/XECParameters;
invokevirtual sun.security.ec.XECParameters.getP:()Ljava/math/BigInteger;
astore 2
start local 2 3: aload 0
aload 2
invokestatic sun.security.ec.XECOperations.getIntegerFieldModulo:(Ljava/math/BigInteger;)Lsun/security/util/math/IntegerFieldModuloP;
putfield sun.security.ec.XECOperations.field:Lsun/security/util/math/IntegerFieldModuloP;
4: aload 0
aload 0
getfield sun.security.ec.XECOperations.field:Lsun/security/util/math/IntegerFieldModuloP;
getstatic java.math.BigInteger.ZERO:Ljava/math/BigInteger;
invokeinterface sun.security.util.math.IntegerFieldModuloP.getElement:(Ljava/math/BigInteger;)Lsun/security/util/math/ImmutableIntegerModuloP;
invokeinterface sun.security.util.math.ImmutableIntegerModuloP.fixed:()Lsun/security/util/math/ImmutableIntegerModuloP;
putfield sun.security.ec.XECOperations.zero:Lsun/security/util/math/ImmutableIntegerModuloP;
5: aload 0
aload 0
getfield sun.security.ec.XECOperations.field:Lsun/security/util/math/IntegerFieldModuloP;
invokeinterface sun.security.util.math.IntegerFieldModuloP.get1:()Lsun/security/util/math/ImmutableIntegerModuloP;
invokeinterface sun.security.util.math.ImmutableIntegerModuloP.fixed:()Lsun/security/util/math/ImmutableIntegerModuloP;
putfield sun.security.ec.XECOperations.one:Lsun/security/util/math/ImmutableIntegerModuloP;
6: aload 0
aload 0
getfield sun.security.ec.XECOperations.field:Lsun/security/util/math/IntegerFieldModuloP;
aload 0
getfield sun.security.ec.XECOperations.params:Lsun/security/ec/XECParameters;
invokevirtual sun.security.ec.XECParameters.getA24:()I
invokeinterface sun.security.util.math.IntegerFieldModuloP.getSmallValue:(I)Lsun/security/util/math/SmallValue;
putfield sun.security.ec.XECOperations.a24:Lsun/security/util/math/SmallValue;
7: aload 0
aload 0
getfield sun.security.ec.XECOperations.field:Lsun/security/util/math/IntegerFieldModuloP;
8: aload 1
invokevirtual sun.security.ec.XECParameters.getBasePoint:()B
i2l
invokestatic java.math.BigInteger.valueOf:(J)Ljava/math/BigInteger;
9: invokeinterface sun.security.util.math.IntegerFieldModuloP.getElement:(Ljava/math/BigInteger;)Lsun/security/util/math/ImmutableIntegerModuloP;
putfield sun.security.ec.XECOperations.basePoint:Lsun/security/util/math/ImmutableIntegerModuloP;
10: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lsun/security/ec/XECOperations;
0 11 1 c Lsun/security/ec/XECParameters;
3 11 2 p Ljava/math/BigInteger;
MethodParameters:
Name Flags
c
public sun.security.ec.XECParameters getParameters();
descriptor: ()Lsun/security/ec/XECParameters;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.security.ec.XECOperations.params:Lsun/security/ec/XECParameters;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/ec/XECOperations;
public byte[] generatePrivate(java.security.SecureRandom);
descriptor: (Ljava/security/SecureRandom;)[B
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.security.ec.XECOperations.params:Lsun/security/ec/XECParameters;
invokevirtual sun.security.ec.XECParameters.getBytes:()I
newarray 8
astore 2
start local 2 1: aload 1
aload 2
invokevirtual java.security.SecureRandom.nextBytes:([B)V
2: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/security/ec/XECOperations;
0 3 1 random Ljava/security/SecureRandom;
1 3 2 result [B
MethodParameters:
Name Flags
random
public java.math.BigInteger computePublic(byte[]);
descriptor: ([B)Ljava/math/BigInteger;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual sun.security.ec.XECOperations.pruneK:([B)V
1: aload 0
aload 1
aload 0
getfield sun.security.ec.XECOperations.basePoint:Lsun/security/util/math/ImmutableIntegerModuloP;
invokevirtual sun.security.ec.XECOperations.pointMultiply:([BLsun/security/util/math/ImmutableIntegerModuloP;)Lsun/security/util/math/IntegerModuloP;
invokeinterface sun.security.util.math.IntegerModuloP.asBigInteger:()Ljava/math/BigInteger;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/security/ec/XECOperations;
0 2 1 k [B
MethodParameters:
Name Flags
k
public byte[] encodedPointMultiply(byte[], java.math.BigInteger);
descriptor: ([BLjava/math/BigInteger;)[B
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokevirtual sun.security.ec.XECOperations.pruneK:([B)V
1: aload 0
getfield sun.security.ec.XECOperations.field:Lsun/security/util/math/IntegerFieldModuloP;
aload 2
invokeinterface sun.security.util.math.IntegerFieldModuloP.getElement:(Ljava/math/BigInteger;)Lsun/security/util/math/ImmutableIntegerModuloP;
astore 3
start local 3 2: aload 0
aload 1
aload 3
invokevirtual sun.security.ec.XECOperations.pointMultiply:([BLsun/security/util/math/ImmutableIntegerModuloP;)Lsun/security/util/math/IntegerModuloP;
aload 0
getfield sun.security.ec.XECOperations.params:Lsun/security/ec/XECParameters;
invokevirtual sun.security.ec.XECParameters.getBytes:()I
invokeinterface sun.security.util.math.IntegerModuloP.asByteArray:(I)[B
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/security/ec/XECOperations;
0 3 1 k [B
0 3 2 u Ljava/math/BigInteger;
2 3 3 elemU Lsun/security/util/math/ImmutableIntegerModuloP;
MethodParameters:
Name Flags
k
u
public byte[] encodedPointMultiply(byte[], byte[]);
descriptor: ([B[B)[B
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokevirtual sun.security.ec.XECOperations.pruneK:([B)V
1: aload 0
aload 2
invokevirtual sun.security.ec.XECOperations.decodeU:([B)Lsun/security/util/math/ImmutableIntegerModuloP;
astore 3
start local 3 2: aload 0
aload 1
aload 3
invokevirtual sun.security.ec.XECOperations.pointMultiply:([BLsun/security/util/math/ImmutableIntegerModuloP;)Lsun/security/util/math/IntegerModuloP;
aload 0
getfield sun.security.ec.XECOperations.params:Lsun/security/ec/XECParameters;
invokevirtual sun.security.ec.XECParameters.getBytes:()I
invokeinterface sun.security.util.math.IntegerModuloP.asByteArray:(I)[B
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/security/ec/XECOperations;
0 3 1 k [B
0 3 2 u [B
2 3 3 elemU Lsun/security/util/math/ImmutableIntegerModuloP;
MethodParameters:
Name Flags
k
u
private sun.security.util.math.ImmutableIntegerModuloP decodeU(byte[], int);
descriptor: ([BI)Lsun/security/util/math/ImmutableIntegerModuloP;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
iload 2
invokestatic sun.security.ec.XECOperations.maskHighOrder:([BI)B
pop
1: aload 0
getfield sun.security.ec.XECOperations.field:Lsun/security/util/math/IntegerFieldModuloP;
aload 1
invokeinterface sun.security.util.math.IntegerFieldModuloP.getElement:([B)Lsun/security/util/math/ImmutableIntegerModuloP;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/security/ec/XECOperations;
0 2 1 u [B
0 2 2 bits I
MethodParameters:
Name Flags
u
bits
private static byte maskHighOrder(byte[], int);
descriptor: ([BI)B
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=6, args_size=2
start local 0 start local 1 0: aload 0
arraylength
iconst_1
isub
istore 2
start local 2 1: iload 1
bipush 8
irem
i2b
istore 3
start local 3 2: iload 3
ifne 3
bipush 8
goto 4
StackMap locals: int int
StackMap stack:
3: iload 3
StackMap locals:
StackMap stack: int
4: istore 4
start local 4 5: iconst_1
iload 4
ishl
iconst_1
isub
i2b
istore 5
start local 5 6: aload 0
iload 2
dup2
baload
iload 5
iand
i2b
bastore
7: iload 4
ireturn
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 8 0 arr [B
0 8 1 bits I
1 8 2 lastByteIndex I
2 8 3 bitsMod8 B
5 8 4 highBits B
6 8 5 msbMaskOff B
MethodParameters:
Name Flags
arr
bits
private static void pruneK(byte[], int, int);
descriptor: ([BII)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 0
arraylength
iconst_1
isub
istore 3
start local 3 1: aload 0
iload 1
invokestatic sun.security.ec.XECOperations.maskHighOrder:([BI)B
istore 4
start local 4 2: iconst_1
iload 4
iconst_1
isub
ishl
i2b
istore 5
start local 5 3: aload 0
iload 3
dup2
baload
iload 5
ior
i2b
bastore
4: sipush 255
iload 2
ishl
i2b
istore 6
start local 6 5: aload 0
iconst_0
dup2
baload
iload 6
iand
i2b
bastore
6: return
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 7 0 k [B
0 7 1 bits I
0 7 2 logCofactor I
1 7 3 lastByteIndex I
2 7 4 highBits B
3 7 5 msbMaskOn B
5 7 6 lsbMaskOff B
MethodParameters:
Name Flags
k
bits
logCofactor
private void pruneK(byte[]);
descriptor: ([B)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 1
aload 0
getfield sun.security.ec.XECOperations.params:Lsun/security/ec/XECParameters;
invokevirtual sun.security.ec.XECParameters.getBits:()I
aload 0
getfield sun.security.ec.XECOperations.params:Lsun/security/ec/XECParameters;
invokevirtual sun.security.ec.XECParameters.getLogCofactor:()I
invokestatic sun.security.ec.XECOperations.pruneK:([BII)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/security/ec/XECOperations;
0 2 1 k [B
MethodParameters:
Name Flags
k
private sun.security.util.math.ImmutableIntegerModuloP decodeU(byte[]);
descriptor: ([B)Lsun/security/util/math/ImmutableIntegerModuloP;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
aload 0
getfield sun.security.ec.XECOperations.params:Lsun/security/ec/XECParameters;
invokevirtual sun.security.ec.XECParameters.getBits:()I
invokevirtual sun.security.ec.XECOperations.decodeU:([BI)Lsun/security/util/math/ImmutableIntegerModuloP;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/ec/XECOperations;
0 1 1 u [B
MethodParameters:
Name Flags
u
private static void cswap(int, sun.security.util.math.MutableIntegerModuloP, sun.security.util.math.MutableIntegerModuloP);
descriptor: (ILsun/security/util/math/MutableIntegerModuloP;Lsun/security/util/math/MutableIntegerModuloP;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
aload 2
iload 0
invokeinterface sun.security.util.math.MutableIntegerModuloP.conditionalSwapWith:(Lsun/security/util/math/MutableIntegerModuloP;I)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 swap I
0 2 1 x1 Lsun/security/util/math/MutableIntegerModuloP;
0 2 2 x2 Lsun/security/util/math/MutableIntegerModuloP;
MethodParameters:
Name Flags
swap
x1
x2
private static sun.security.util.math.IntegerFieldModuloP getIntegerFieldModulo(java.math.BigInteger);
descriptor: (Ljava/math/BigInteger;)Lsun/security/util/math/IntegerFieldModuloP;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=1, args_size=1
start local 0 0: aload 0
getstatic sun.security.util.math.intpoly.IntegerPolynomial25519.MODULUS:Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.equals:(Ljava/lang/Object;)Z
ifeq 2
1: new sun.security.util.math.intpoly.IntegerPolynomial25519
dup
invokespecial sun.security.util.math.intpoly.IntegerPolynomial25519.<init>:()V
areturn
2: StackMap locals:
StackMap stack:
aload 0
getstatic sun.security.util.math.intpoly.IntegerPolynomial448.MODULUS:Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.equals:(Ljava/lang/Object;)Z
ifeq 4
3: new sun.security.util.math.intpoly.IntegerPolynomial448
dup
invokespecial sun.security.util.math.intpoly.IntegerPolynomial448.<init>:()V
areturn
4: StackMap locals:
StackMap stack:
new java.security.ProviderException
dup
new java.lang.StringBuilder
dup
ldc "Unsupported prime: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.math.BigInteger.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.security.ProviderException.<init>:(Ljava/lang/String;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 p Ljava/math/BigInteger;
MethodParameters:
Name Flags
p
private int bitAt(byte[], int);
descriptor: ([BI)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=5, args_size=3
start local 0 start local 1 start local 2 0: iload 2
bipush 8
idiv
istore 3
start local 3 1: iload 2
bipush 8
irem
istore 4
start local 4 2: aload 1
iload 3
baload
iconst_1
iload 4
ishl
iand
iload 4
ishr
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/security/ec/XECOperations;
0 3 1 arr [B
0 3 2 index I
1 3 3 byteIndex I
2 3 4 bitIndex I
MethodParameters:
Name Flags
arr
index
private sun.security.util.math.IntegerModuloP pointMultiply(byte[], sun.security.util.math.ImmutableIntegerModuloP);
descriptor: ([BLsun/security/util/math/ImmutableIntegerModuloP;)Lsun/security/util/math/IntegerModuloP;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=15, args_size=3
start local 0 start local 1 start local 2 0: aload 2
astore 3
start local 3 1: aload 0
getfield sun.security.ec.XECOperations.one:Lsun/security/util/math/ImmutableIntegerModuloP;
invokeinterface sun.security.util.math.ImmutableIntegerModuloP.mutable:()Lsun/security/util/math/MutableIntegerModuloP;
astore 4
start local 4 2: aload 0
getfield sun.security.ec.XECOperations.zero:Lsun/security/util/math/ImmutableIntegerModuloP;
invokeinterface sun.security.util.math.ImmutableIntegerModuloP.mutable:()Lsun/security/util/math/MutableIntegerModuloP;
astore 5
start local 5 3: aload 2
invokeinterface sun.security.util.math.ImmutableIntegerModuloP.mutable:()Lsun/security/util/math/MutableIntegerModuloP;
astore 6
start local 6 4: aload 0
getfield sun.security.ec.XECOperations.one:Lsun/security/util/math/ImmutableIntegerModuloP;
invokeinterface sun.security.util.math.ImmutableIntegerModuloP.mutable:()Lsun/security/util/math/MutableIntegerModuloP;
astore 7
start local 7 5: iconst_0
istore 8
start local 8 6: aload 0
getfield sun.security.ec.XECOperations.zero:Lsun/security/util/math/ImmutableIntegerModuloP;
invokeinterface sun.security.util.math.ImmutableIntegerModuloP.mutable:()Lsun/security/util/math/MutableIntegerModuloP;
astore 9
start local 9 7: aload 0
getfield sun.security.ec.XECOperations.zero:Lsun/security/util/math/ImmutableIntegerModuloP;
invokeinterface sun.security.util.math.ImmutableIntegerModuloP.mutable:()Lsun/security/util/math/MutableIntegerModuloP;
astore 10
start local 10 8: aload 0
getfield sun.security.ec.XECOperations.zero:Lsun/security/util/math/ImmutableIntegerModuloP;
invokeinterface sun.security.util.math.ImmutableIntegerModuloP.mutable:()Lsun/security/util/math/MutableIntegerModuloP;
astore 11
start local 11 9: aload 0
getfield sun.security.ec.XECOperations.zero:Lsun/security/util/math/ImmutableIntegerModuloP;
invokeinterface sun.security.util.math.ImmutableIntegerModuloP.mutable:()Lsun/security/util/math/MutableIntegerModuloP;
astore 12
start local 12 10: aload 0
getfield sun.security.ec.XECOperations.params:Lsun/security/ec/XECParameters;
invokevirtual sun.security.ec.XECParameters.getBits:()I
iconst_1
isub
istore 13
start local 13 11: goto 31
12: StackMap locals: sun.security.ec.XECOperations byte[] sun.security.util.math.ImmutableIntegerModuloP sun.security.util.math.ImmutableIntegerModuloP sun.security.util.math.MutableIntegerModuloP sun.security.util.math.MutableIntegerModuloP sun.security.util.math.MutableIntegerModuloP sun.security.util.math.MutableIntegerModuloP int sun.security.util.math.MutableIntegerModuloP sun.security.util.math.MutableIntegerModuloP sun.security.util.math.MutableIntegerModuloP sun.security.util.math.MutableIntegerModuloP int
StackMap stack:
aload 0
aload 1
iload 13
invokevirtual sun.security.ec.XECOperations.bitAt:([BI)I
istore 14
start local 14 13: iload 8
iload 14
ixor
istore 8
14: iload 8
aload 4
aload 6
invokestatic sun.security.ec.XECOperations.cswap:(ILsun/security/util/math/MutableIntegerModuloP;Lsun/security/util/math/MutableIntegerModuloP;)V
15: iload 8
aload 5
aload 7
invokestatic sun.security.ec.XECOperations.cswap:(ILsun/security/util/math/MutableIntegerModuloP;Lsun/security/util/math/MutableIntegerModuloP;)V
16: iload 14
istore 8
17: aload 9
aload 4
invokeinterface sun.security.util.math.MutableIntegerModuloP.setValue:(Lsun/security/util/math/IntegerModuloP;)Lsun/security/util/math/MutableIntegerModuloP;
aload 5
invokeinterface sun.security.util.math.MutableIntegerModuloP.setSum:(Lsun/security/util/math/IntegerModuloP;)Lsun/security/util/math/MutableIntegerModuloP;
pop
18: aload 10
aload 6
invokeinterface sun.security.util.math.MutableIntegerModuloP.setValue:(Lsun/security/util/math/IntegerModuloP;)Lsun/security/util/math/MutableIntegerModuloP;
aload 7
invokeinterface sun.security.util.math.MutableIntegerModuloP.setDifference:(Lsun/security/util/math/IntegerModuloP;)Lsun/security/util/math/MutableIntegerModuloP;
aload 9
invokeinterface sun.security.util.math.MutableIntegerModuloP.setProduct:(Lsun/security/util/math/IntegerModuloP;)Lsun/security/util/math/MutableIntegerModuloP;
pop
19: aload 9
invokeinterface sun.security.util.math.MutableIntegerModuloP.setSquare:()Lsun/security/util/math/MutableIntegerModuloP;
pop
20: aload 4
aload 5
invokeinterface sun.security.util.math.MutableIntegerModuloP.setDifference:(Lsun/security/util/math/IntegerModuloP;)Lsun/security/util/math/MutableIntegerModuloP;
pop
21: aload 6
aload 7
invokeinterface sun.security.util.math.MutableIntegerModuloP.setSum:(Lsun/security/util/math/IntegerModuloP;)Lsun/security/util/math/MutableIntegerModuloP;
aload 4
invokeinterface sun.security.util.math.MutableIntegerModuloP.setProduct:(Lsun/security/util/math/IntegerModuloP;)Lsun/security/util/math/MutableIntegerModuloP;
pop
22: aload 4
invokeinterface sun.security.util.math.MutableIntegerModuloP.setSquare:()Lsun/security/util/math/MutableIntegerModuloP;
pop
23: aload 11
aload 9
invokeinterface sun.security.util.math.MutableIntegerModuloP.setValue:(Lsun/security/util/math/IntegerModuloP;)Lsun/security/util/math/MutableIntegerModuloP;
aload 4
invokeinterface sun.security.util.math.MutableIntegerModuloP.setDifference:(Lsun/security/util/math/IntegerModuloP;)Lsun/security/util/math/MutableIntegerModuloP;
pop
24: aload 12
aload 11
invokeinterface sun.security.util.math.MutableIntegerModuloP.setValue:(Lsun/security/util/math/IntegerModuloP;)Lsun/security/util/math/MutableIntegerModuloP;
pop
25: aload 12
aload 0
getfield sun.security.ec.XECOperations.a24:Lsun/security/util/math/SmallValue;
invokeinterface sun.security.util.math.MutableIntegerModuloP.setProduct:(Lsun/security/util/math/SmallValue;)Lsun/security/util/math/MutableIntegerModuloP;
pop
26: aload 4
aload 9
invokeinterface sun.security.util.math.MutableIntegerModuloP.setProduct:(Lsun/security/util/math/IntegerModuloP;)Lsun/security/util/math/MutableIntegerModuloP;
pop
27: aload 5
aload 9
invokeinterface sun.security.util.math.MutableIntegerModuloP.setValue:(Lsun/security/util/math/IntegerModuloP;)Lsun/security/util/math/MutableIntegerModuloP;
aload 12
invokeinterface sun.security.util.math.MutableIntegerModuloP.setSum:(Lsun/security/util/math/IntegerModuloP;)Lsun/security/util/math/MutableIntegerModuloP;
aload 11
invokeinterface sun.security.util.math.MutableIntegerModuloP.setProduct:(Lsun/security/util/math/IntegerModuloP;)Lsun/security/util/math/MutableIntegerModuloP;
pop
28: aload 7
aload 10
invokeinterface sun.security.util.math.MutableIntegerModuloP.setValue:(Lsun/security/util/math/IntegerModuloP;)Lsun/security/util/math/MutableIntegerModuloP;
aload 6
invokeinterface sun.security.util.math.MutableIntegerModuloP.setDifference:(Lsun/security/util/math/IntegerModuloP;)Lsun/security/util/math/MutableIntegerModuloP;
invokeinterface sun.security.util.math.MutableIntegerModuloP.setSquare:()Lsun/security/util/math/MutableIntegerModuloP;
aload 3
invokeinterface sun.security.util.math.MutableIntegerModuloP.setProduct:(Lsun/security/util/math/IntegerModuloP;)Lsun/security/util/math/MutableIntegerModuloP;
pop
29: aload 6
aload 10
invokeinterface sun.security.util.math.MutableIntegerModuloP.setSum:(Lsun/security/util/math/IntegerModuloP;)Lsun/security/util/math/MutableIntegerModuloP;
invokeinterface sun.security.util.math.MutableIntegerModuloP.setSquare:()Lsun/security/util/math/MutableIntegerModuloP;
pop
end local 14 30: iinc 13 -1
StackMap locals:
StackMap stack:
31: iload 13
ifge 12
end local 13 32: iload 8
aload 4
aload 6
invokestatic sun.security.ec.XECOperations.cswap:(ILsun/security/util/math/MutableIntegerModuloP;Lsun/security/util/math/MutableIntegerModuloP;)V
33: iload 8
aload 5
aload 7
invokestatic sun.security.ec.XECOperations.cswap:(ILsun/security/util/math/MutableIntegerModuloP;Lsun/security/util/math/MutableIntegerModuloP;)V
34: aload 4
aload 5
invokeinterface sun.security.util.math.MutableIntegerModuloP.multiplicativeInverse:()Lsun/security/util/math/ImmutableIntegerModuloP;
invokeinterface sun.security.util.math.MutableIntegerModuloP.setProduct:(Lsun/security/util/math/IntegerModuloP;)Lsun/security/util/math/MutableIntegerModuloP;
areturn
end local 12 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 35 0 this Lsun/security/ec/XECOperations;
0 35 1 k [B
0 35 2 u Lsun/security/util/math/ImmutableIntegerModuloP;
1 35 3 x_1 Lsun/security/util/math/ImmutableIntegerModuloP;
2 35 4 x_2 Lsun/security/util/math/MutableIntegerModuloP;
3 35 5 z_2 Lsun/security/util/math/MutableIntegerModuloP;
4 35 6 x_3 Lsun/security/util/math/MutableIntegerModuloP;
5 35 7 z_3 Lsun/security/util/math/MutableIntegerModuloP;
6 35 8 swap I
7 35 9 m1 Lsun/security/util/math/MutableIntegerModuloP;
8 35 10 DA Lsun/security/util/math/MutableIntegerModuloP;
9 35 11 E Lsun/security/util/math/MutableIntegerModuloP;
10 35 12 a24_times_E Lsun/security/util/math/MutableIntegerModuloP;
11 32 13 t I
13 30 14 k_t I
MethodParameters:
Name Flags
k
u
}
SourceFile: "XECOperations.java"