class org.bouncycastle.math.ec.ECCurve$F2m$1 implements org.bouncycastle.math.ec.ECLookupTable
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: org.bouncycastle.math.ec.ECCurve$F2m$1
super_class: java.lang.Object
{
final org.bouncycastle.math.ec.ECCurve$F2m this$1;
descriptor: Lorg/bouncycastle/math/ec/ECCurve$F2m;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
private final int val$len;
descriptor: I
flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC
private final int val$FE_LONGS;
descriptor: I
flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC
private final long[] val$table;
descriptor: [J
flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC
private final int[] val$ks;
descriptor: [I
flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC
void <init>(org.bouncycastle.math.ec.ECCurve$F2m, int, int, long[], int[]);
descriptor: (Lorg/bouncycastle/math/ec/ECCurve$F2m;II[J[I)V
flags: (0x0000)
Code:
stack=2, locals=6, args_size=6
start local 0 0: aload 0
aload 1
putfield org.bouncycastle.math.ec.ECCurve$F2m$1.this$1:Lorg/bouncycastle/math/ec/ECCurve$F2m;
aload 0
iload 2
putfield org.bouncycastle.math.ec.ECCurve$F2m$1.val$len:I
aload 0
iload 3
putfield org.bouncycastle.math.ec.ECCurve$F2m$1.val$FE_LONGS:I
aload 0
aload 4
putfield org.bouncycastle.math.ec.ECCurve$F2m$1.val$table:[J
aload 0
aload 5
putfield org.bouncycastle.math.ec.ECCurve$F2m$1.val$ks:[I
aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/math/ec/ECCurve$F2m$1;
MethodParameters:
Name Flags
this$0 final
val$len final
val$FE_LONGS final
val$table final
val$ks final
public int getSize();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.bouncycastle.math.ec.ECCurve$F2m$1.val$len:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/math/ec/ECCurve$F2m$1;
public org.bouncycastle.math.ec.ECPoint lookup(int);
descriptor: (I)Lorg/bouncycastle/math/ec/ECPoint;
flags: (0x0001) ACC_PUBLIC
Code:
stack=9, locals=9, args_size=2
start local 0 start local 1 0: aload 0
getfield org.bouncycastle.math.ec.ECCurve$F2m$1.val$FE_LONGS:I
invokestatic org.bouncycastle.math.raw.Nat.create64:(I)[J
astore 2
start local 2 1: aload 0
getfield org.bouncycastle.math.ec.ECCurve$F2m$1.val$FE_LONGS:I
invokestatic org.bouncycastle.math.raw.Nat.create64:(I)[J
astore 3
start local 3 2: iconst_0
istore 4
start local 4 3: iconst_0
istore 5
start local 5 4: goto 14
5: StackMap locals: org.bouncycastle.math.ec.ECCurve$F2m$1 int long[] long[] int int
StackMap stack:
iload 5
iload 1
ixor
iconst_1
isub
bipush 31
ishr
i2l
lstore 6
start local 6 6: iconst_0
istore 8
start local 8 7: goto 11
8: StackMap locals: long int
StackMap stack:
aload 2
iload 8
dup2
laload
aload 0
getfield org.bouncycastle.math.ec.ECCurve$F2m$1.val$table:[J
iload 4
iload 8
iadd
laload
lload 6
land
lxor
lastore
9: aload 3
iload 8
dup2
laload
aload 0
getfield org.bouncycastle.math.ec.ECCurve$F2m$1.val$table:[J
iload 4
aload 0
getfield org.bouncycastle.math.ec.ECCurve$F2m$1.val$FE_LONGS:I
iadd
iload 8
iadd
laload
lload 6
land
lxor
lastore
10: iinc 8 1
StackMap locals:
StackMap stack:
11: iload 8
aload 0
getfield org.bouncycastle.math.ec.ECCurve$F2m$1.val$FE_LONGS:I
if_icmplt 8
end local 8 12: iload 4
aload 0
getfield org.bouncycastle.math.ec.ECCurve$F2m$1.val$FE_LONGS:I
iconst_2
imul
iadd
istore 4
end local 6 13: iinc 5 1
StackMap locals:
StackMap stack:
14: iload 5
aload 0
getfield org.bouncycastle.math.ec.ECCurve$F2m$1.val$len:I
if_icmplt 5
end local 5 15: aload 0
getfield org.bouncycastle.math.ec.ECCurve$F2m$1.this$1:Lorg/bouncycastle/math/ec/ECCurve$F2m;
new org.bouncycastle.math.ec.ECFieldElement$F2m
dup
aload 0
getfield org.bouncycastle.math.ec.ECCurve$F2m$1.this$1:Lorg/bouncycastle/math/ec/ECCurve$F2m;
getfield org.bouncycastle.math.ec.ECCurve$F2m.m:I
aload 0
getfield org.bouncycastle.math.ec.ECCurve$F2m$1.val$ks:[I
new org.bouncycastle.math.ec.LongArray
dup
aload 2
invokespecial org.bouncycastle.math.ec.LongArray.<init>:([J)V
invokespecial org.bouncycastle.math.ec.ECFieldElement$F2m.<init>:(I[ILorg/bouncycastle/math/ec/LongArray;)V
new org.bouncycastle.math.ec.ECFieldElement$F2m
dup
aload 0
getfield org.bouncycastle.math.ec.ECCurve$F2m$1.this$1:Lorg/bouncycastle/math/ec/ECCurve$F2m;
getfield org.bouncycastle.math.ec.ECCurve$F2m.m:I
aload 0
getfield org.bouncycastle.math.ec.ECCurve$F2m$1.val$ks:[I
new org.bouncycastle.math.ec.LongArray
dup
aload 3
invokespecial org.bouncycastle.math.ec.LongArray.<init>:([J)V
invokespecial org.bouncycastle.math.ec.ECFieldElement$F2m.<init>:(I[ILorg/bouncycastle/math/ec/LongArray;)V
iconst_0
invokevirtual org.bouncycastle.math.ec.ECCurve$F2m.createRawPoint:(Lorg/bouncycastle/math/ec/ECFieldElement;Lorg/bouncycastle/math/ec/ECFieldElement;Z)Lorg/bouncycastle/math/ec/ECPoint;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lorg/bouncycastle/math/ec/ECCurve$F2m$1;
0 16 1 index I
1 16 2 x [J
2 16 3 y [J
3 16 4 pos I
4 15 5 i I
6 13 6 MASK J
7 12 8 j I
MethodParameters:
Name Flags
index
}
SourceFile: "ECCurve.java"
EnclosingMethod: org.bouncycastle.math.ec.ECCurve$F2m.createCacheSafeLookupTable:([Lorg/bouncycastle/math/ec/ECPoint;II)Lorg/bouncycastle/math/ec/ECLookupTable;
NestHost: org.bouncycastle.math.ec.ECCurve
InnerClasses:
public F2m = org.bouncycastle.math.ec.ECCurve$F2m of org.bouncycastle.math.ec.ECCurve
org.bouncycastle.math.ec.ECCurve$F2m$1
public F2m = org.bouncycastle.math.ec.ECFieldElement$F2m of org.bouncycastle.math.ec.ECFieldElement