final class com.sun.crypto.provider.GHASH implements java.lang.Cloneable, com.sun.crypto.provider.GCM
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: com.sun.crypto.provider.GHASH
super_class: java.lang.Object
{
private static final int AES_BLOCK_SIZE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 16
private static final java.lang.invoke.VarHandle asLongView;
descriptor: Ljava/lang/invoke/VarHandle;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final int MAX_LEN;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1024
private long[] subkeyHtbl;
descriptor: [J
flags: (0x0002) ACC_PRIVATE
private final long[] state;
descriptor: [J
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: ldc [J
1: getstatic java.nio.ByteOrder.BIG_ENDIAN:Ljava/nio/ByteOrder;
2: invokestatic java.lang.invoke.MethodHandles.byteArrayViewVarHandle:(Ljava/lang/Class;Ljava/nio/ByteOrder;)Ljava/lang/invoke/VarHandle;
3: putstatic com.sun.crypto.provider.GHASH.asLongView:Ljava/lang/invoke/VarHandle;
4: return
LocalVariableTable:
Start End Slot Name Signature
private static void blockMult(long[], long[]);
descriptor: ([J[J)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=17, args_size=2
start local 0 start local 1 0: lconst_0
lstore 2
start local 2 1: lconst_0
lstore 4
start local 4 2: aload 1
iconst_0
laload
lstore 6
start local 6 3: aload 1
iconst_1
laload
lstore 8
start local 8 4: aload 0
iconst_0
laload
lstore 10
start local 10 5: iconst_0
istore 12
start local 12 6: goto 17
7: StackMap locals: long[] long[] long long long long long int
StackMap stack:
lload 10
bipush 63
lshr
lstore 13
start local 13 8: lload 2
lload 6
lload 13
land
lxor
lstore 2
9: lload 4
lload 8
lload 13
land
lxor
lstore 4
10: lload 8
bipush 63
lshl
bipush 63
lshr
lstore 13
11: lload 6
lconst_1
land
lstore 15
start local 15 12: lload 6
iconst_1
lushr
lstore 6
13: lload 8
iconst_1
lushr
lload 15
bipush 63
lshl
lor
lstore 8
14: lload 6
ldc -2233785415175766016
lload 13
land
lxor
lstore 6
15: lload 10
iconst_1
lshl
lstore 10
end local 15 end local 13 16: iinc 12 1
StackMap locals:
StackMap stack:
17: iload 12
bipush 64
if_icmplt 7
end local 12 18: aload 0
iconst_1
laload
lstore 10
19: bipush 64
istore 12
start local 12 20: goto 31
21: StackMap locals:
StackMap stack:
lload 10
bipush 63
lshr
lstore 13
start local 13 22: lload 2
lload 6
lload 13
land
lxor
lstore 2
23: lload 4
lload 8
lload 13
land
lxor
lstore 4
24: lload 8
bipush 63
lshl
bipush 63
lshr
lstore 13
25: lload 6
lconst_1
land
lstore 15
start local 15 26: lload 6
iconst_1
lushr
lstore 6
27: lload 8
iconst_1
lushr
lload 15
bipush 63
lshl
lor
lstore 8
28: lload 6
ldc -2233785415175766016
lload 13
land
lxor
lstore 6
29: lload 10
iconst_1
lshl
lstore 10
end local 15 end local 13 30: iinc 12 1
StackMap locals:
StackMap stack:
31: iload 12
bipush 127
if_icmplt 21
end local 12 32: lload 10
bipush 63
lshr
lstore 12
start local 12 33: lload 2
lload 6
lload 12
land
lxor
lstore 2
34: lload 4
lload 8
lload 12
land
lxor
lstore 4
35: aload 0
iconst_0
lload 2
lastore
36: aload 0
iconst_1
lload 4
lastore
37: return
end local 12 end local 10 end local 8 end local 6 end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 38 0 st [J
0 38 1 subH [J
1 38 2 Z0 J
2 38 4 Z1 J
3 38 6 V0 J
4 38 8 V1 J
5 38 10 X J
6 18 12 i I
8 16 13 mask J
12 16 15 carry J
20 32 12 i I
22 30 13 mask J
26 30 15 carry J
33 38 12 mask J
MethodParameters:
Name Flags
st
subH
void <init>(byte[]);
descriptor: ([B)V
flags: (0x0000)
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 1
ifnull 2
aload 1
arraylength
bipush 16
if_icmpeq 3
2: StackMap locals: com.sun.crypto.provider.GHASH byte[]
StackMap stack:
new java.security.ProviderException
dup
ldc "Internal error"
invokespecial java.security.ProviderException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals:
StackMap stack:
aload 0
iconst_2
newarray 11
putfield com.sun.crypto.provider.GHASH.state:[J
4: aload 0
bipush 18
newarray 11
putfield com.sun.crypto.provider.GHASH.subkeyHtbl:[J
5: aload 0
getfield com.sun.crypto.provider.GHASH.subkeyHtbl:[J
iconst_0
getstatic com.sun.crypto.provider.GHASH.asLongView:Ljava/lang/invoke/VarHandle;
aload 1
iconst_0
invokevirtual java.lang.invoke.VarHandle.get:([BI)J
lastore
6: aload 0
getfield com.sun.crypto.provider.GHASH.subkeyHtbl:[J
iconst_1
getstatic com.sun.crypto.provider.GHASH.asLongView:Ljava/lang/invoke/VarHandle;
aload 1
bipush 8
invokevirtual java.lang.invoke.VarHandle.get:([BI)J
lastore
7: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/sun/crypto/provider/GHASH;
0 8 1 subkeyH [B
Exceptions:
throws java.security.ProviderException
MethodParameters:
Name Flags
subkeyH
private void <init>(com.sun.crypto.provider.GHASH);
descriptor: (Lcom/sun/crypto/provider/GHASH;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
getfield com.sun.crypto.provider.GHASH.state:[J
invokevirtual long[].clone:()Ljava/lang/Object;
checkcast long[]
putfield com.sun.crypto.provider.GHASH.state:[J
2: aload 0
aload 1
getfield com.sun.crypto.provider.GHASH.subkeyHtbl:[J
invokevirtual long[].clone:()Ljava/lang/Object;
checkcast long[]
putfield com.sun.crypto.provider.GHASH.subkeyHtbl:[J
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/sun/crypto/provider/GHASH;
0 4 1 g Lcom/sun/crypto/provider/GHASH;
MethodParameters:
Name Flags
g
public com.sun.crypto.provider.GHASH clone();
descriptor: ()Lcom/sun/crypto/provider/GHASH;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new com.sun.crypto.provider.GHASH
dup
aload 0
invokespecial com.sun.crypto.provider.GHASH.<init>:(Lcom/sun/crypto/provider/GHASH;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/crypto/provider/GHASH;
private static void processBlock(byte[], int, long[], long[]);
descriptor: ([BI[J[J)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=8, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
iconst_0
dup2
laload
getstatic com.sun.crypto.provider.GHASH.asLongView:Ljava/lang/invoke/VarHandle;
aload 0
iload 1
invokevirtual java.lang.invoke.VarHandle.get:([BI)J
lxor
lastore
1: aload 2
iconst_1
dup2
laload
getstatic com.sun.crypto.provider.GHASH.asLongView:Ljava/lang/invoke/VarHandle;
aload 0
iload 1
bipush 8
iadd
invokevirtual java.lang.invoke.VarHandle.get:([BI)J
lxor
lastore
2: aload 2
aload 3
invokestatic com.sun.crypto.provider.GHASH.blockMult:([J[J)V
3: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 data [B
0 4 1 ofs I
0 4 2 st [J
0 4 3 subH [J
MethodParameters:
Name Flags
data
ofs
st
subH
int update(byte[]);
descriptor: ([B)I
flags: (0x0000)
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
iconst_0
aload 1
arraylength
invokevirtual com.sun.crypto.provider.GHASH.update:([BII)I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/crypto/provider/GHASH;
0 1 1 in [B
MethodParameters:
Name Flags
in
int update(byte[], int, int);
descriptor: ([BII)I
flags: (0x0000)
Code:
stack=5, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 3
ifne 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
iload 3
iload 3
bipush 16
irem
isub
istore 4
start local 4 3: aload 1
iload 2
iload 4
aload 0
getfield com.sun.crypto.provider.GHASH.state:[J
aload 0
getfield com.sun.crypto.provider.GHASH.subkeyHtbl:[J
invokestatic com.sun.crypto.provider.GHASH.ghashRangeCheck:([BII[J[J)V
4: aload 1
iload 2
iload 4
bipush 16
idiv
aload 0
getfield com.sun.crypto.provider.GHASH.state:[J
aload 0
getfield com.sun.crypto.provider.GHASH.subkeyHtbl:[J
invokestatic com.sun.crypto.provider.GHASH.processBlocks:([BII[J[J)V
5: iload 4
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/sun/crypto/provider/GHASH;
0 6 1 in [B
0 6 2 inOfs I
0 6 3 inLen I
3 6 4 len I
MethodParameters:
Name Flags
in
inOfs
inLen
int update(java.nio.ByteBuffer, int);
descriptor: (Ljava/nio/ByteBuffer;I)I
flags: (0x0000)
Code:
stack=4, locals=5, args_size=3
start local 0 start local 1 start local 2 0: iload 2
iload 2
bipush 16
irem
isub
istore 2
1: iload 2
ifne 3
2: iconst_0
ireturn
3: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.nio.ByteBuffer.isDirect:()Z
ifeq 7
4: iload 2
istore 3
start local 3 5: aload 0
aload 1
iload 2
invokevirtual com.sun.crypto.provider.GHASH.processBlocksDirect:(Ljava/nio/ByteBuffer;I)V
6: iload 3
ireturn
end local 3 7: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.nio.ByteBuffer.isReadOnly:()Z
ifne 14
8: aload 0
aload 1
invokevirtual java.nio.ByteBuffer.array:()[B
9: aload 1
invokevirtual java.nio.ByteBuffer.arrayOffset:()I
aload 1
invokevirtual java.nio.ByteBuffer.position:()I
iadd
10: iload 2
11: invokevirtual com.sun.crypto.provider.GHASH.update:([BII)I
istore 3
start local 3 12: aload 1
aload 1
invokevirtual java.nio.ByteBuffer.position:()I
iload 3
iadd
invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
pop
13: iload 3
ireturn
end local 3 14: StackMap locals:
StackMap stack:
iload 2
istore 3
start local 3 15: sipush 1024
iload 2
invokestatic java.lang.Math.min:(II)I
newarray 8
astore 4
start local 4 16: goto 20
17: StackMap locals: int byte[]
StackMap stack:
aload 1
aload 4
iconst_0
sipush 1024
invokevirtual java.nio.ByteBuffer.get:([BII)Ljava/nio/ByteBuffer;
pop
18: aload 0
aload 4
iconst_0
sipush 1024
invokevirtual com.sun.crypto.provider.GHASH.update:([BII)I
pop
19: iinc 3 -1024
20: StackMap locals:
StackMap stack:
iload 3
sipush 1024
if_icmpgt 17
21: aload 1
aload 4
iconst_0
iload 3
invokevirtual java.nio.ByteBuffer.get:([BII)Ljava/nio/ByteBuffer;
pop
22: aload 0
aload 4
iconst_0
iload 3
invokevirtual com.sun.crypto.provider.GHASH.update:([BII)I
pop
23: iload 2
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 24 0 this Lcom/sun/crypto/provider/GHASH;
0 24 1 ct Ljava/nio/ByteBuffer;
0 24 2 inLen I
5 7 3 processed I
12 14 3 processed I
15 24 3 to_process I
16 24 4 in [B
MethodParameters:
Name Flags
ct
inLen
int doFinal(java.nio.ByteBuffer, int);
descriptor: (Ljava/nio/ByteBuffer;I)I
flags: (0x0000)
Code:
stack=5, locals=5, args_size=3
start local 0 start local 1 start local 2 0: iconst_0
istore 3
start local 3 1: iload 2
bipush 16
if_icmplt 3
2: aload 0
aload 1
iload 2
invokevirtual com.sun.crypto.provider.GHASH.update:(Ljava/nio/ByteBuffer;I)I
istore 3
3: StackMap locals: int
StackMap stack:
iload 2
iload 3
if_icmpne 5
4: iload 3
ireturn
5: StackMap locals:
StackMap stack:
bipush 16
newarray 8
astore 4
start local 4 6: aload 1
aload 4
iconst_0
iload 2
iload 3
isub
invokevirtual java.nio.ByteBuffer.get:([BII)Ljava/nio/ByteBuffer;
pop
7: aload 0
aload 4
iconst_0
bipush 16
invokevirtual com.sun.crypto.provider.GHASH.update:([BII)I
pop
8: iload 2
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/sun/crypto/provider/GHASH;
0 9 1 src Ljava/nio/ByteBuffer;
0 9 2 inLen I
1 9 3 processed I
6 9 4 block [B
MethodParameters:
Name Flags
src
inLen
int doFinal(byte[], int, int);
descriptor: ([BII)I
flags: (0x0000)
Code:
stack=6, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 3
bipush 16
irem
istore 4
start local 4 1: iload 2
aload 0
aload 1
iload 2
iload 3
iload 4
isub
invokevirtual com.sun.crypto.provider.GHASH.update:([BII)I
iadd
istore 2
2: iload 4
ifle 8
3: bipush 16
newarray 8
astore 5
start local 5 4: aload 1
iload 2
aload 5
iconst_0
5: iload 4
6: invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
7: aload 0
aload 5
iconst_0
bipush 16
invokevirtual com.sun.crypto.provider.GHASH.update:([BII)I
pop
end local 5 8: StackMap locals: int
StackMap stack:
iload 3
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/sun/crypto/provider/GHASH;
0 9 1 in [B
0 9 2 inOfs I
0 9 3 inLen I
1 9 4 remainder I
4 8 5 block [B
MethodParameters:
Name Flags
in
inOfs
inLen
private static void ghashRangeCheck(byte[], int, int, long[], long[]);
descriptor: ([BII[J[J)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: iload 2
ifge 2
1: new java.lang.RuntimeException
dup
new java.lang.StringBuilder
dup
ldc "invalid input length: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 2
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
iload 1
ifge 4
3: new java.lang.RuntimeException
dup
new java.lang.StringBuilder
dup
ldc "invalid offset: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 1
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
iload 2
aload 0
arraylength
iload 1
isub
if_icmple 8
5: new java.lang.RuntimeException
dup
new java.lang.StringBuilder
dup
ldc "input length out of bound: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
6: iload 2
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " > "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
arraylength
iload 1
isub
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
7: invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
8: StackMap locals:
StackMap stack:
iload 2
bipush 16
irem
ifeq 12
9: new java.lang.RuntimeException
dup
new java.lang.StringBuilder
dup
ldc "input length/block size mismatch: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
10: iload 2
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
11: invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
12: StackMap locals:
StackMap stack:
aload 3
arraylength
iconst_2
if_icmpeq 16
13: new java.lang.RuntimeException
dup
new java.lang.StringBuilder
dup
ldc "internal state has invalid length: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
14: aload 3
arraylength
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
15: invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
16: StackMap locals:
StackMap stack:
aload 4
arraylength
bipush 18
if_icmpeq 20
17: new java.lang.RuntimeException
dup
new java.lang.StringBuilder
dup
ldc "internal subkeyHtbl has invalid length: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
18: aload 4
arraylength
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
19: invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
20: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 in [B
0 21 1 inOfs I
0 21 2 inLen I
0 21 3 st [J
0 21 4 subH [J
MethodParameters:
Name Flags
in
inOfs
inLen
st
subH
private static void processBlocks(byte[], int, int, long[], long[]);
descriptor: ([BII[J[J)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: iload 1
istore 5
start local 5 1: goto 5
2: StackMap locals: int
StackMap stack:
aload 0
iload 5
aload 3
aload 4
invokestatic com.sun.crypto.provider.GHASH.processBlock:([BI[J[J)V
3: iinc 2 -1
4: iinc 5 16
5: StackMap locals:
StackMap stack:
iload 2
ifgt 2
6: return
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 data [B
0 7 1 inOfs I
0 7 2 blocks I
0 7 3 st [J
0 7 4 subH [J
1 7 5 offset I
RuntimeVisibleAnnotations:
jdk.internal.vm.annotation.IntrinsicCandidate()
MethodParameters:
Name Flags
data
inOfs
blocks
st
subH
private void processBlocksDirect(java.nio.ByteBuffer, int);
descriptor: (Ljava/nio/ByteBuffer;I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=5, args_size=3
start local 0 start local 1 start local 2 0: sipush 1024
iload 2
invokestatic java.lang.Math.min:(II)I
newarray 8
astore 3
start local 3 1: goto 7
2: StackMap locals: byte[]
StackMap stack:
aload 1
aload 3
iconst_0
sipush 1024
invokevirtual java.nio.ByteBuffer.get:([BII)Ljava/nio/ByteBuffer;
pop
3: aload 3
iconst_0
bipush 64
aload 0
getfield com.sun.crypto.provider.GHASH.state:[J
4: aload 0
getfield com.sun.crypto.provider.GHASH.subkeyHtbl:[J
5: invokestatic com.sun.crypto.provider.GHASH.processBlocks:([BII[J[J)V
6: iinc 2 -1024
7: StackMap locals:
StackMap stack:
iload 2
sipush 1024
if_icmpgt 2
8: iload 2
bipush 16
if_icmplt 14
9: iload 2
iload 2
bipush 16
irem
isub
istore 4
start local 4 10: aload 1
aload 3
iconst_0
iload 4
invokevirtual java.nio.ByteBuffer.get:([BII)Ljava/nio/ByteBuffer;
pop
11: aload 3
iconst_0
iload 4
bipush 16
idiv
aload 0
getfield com.sun.crypto.provider.GHASH.state:[J
12: aload 0
getfield com.sun.crypto.provider.GHASH.subkeyHtbl:[J
13: invokestatic com.sun.crypto.provider.GHASH.processBlocks:([BII[J[J)V
end local 4 14: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lcom/sun/crypto/provider/GHASH;
0 15 1 ct Ljava/nio/ByteBuffer;
0 15 2 inLen I
1 15 3 data [B
10 14 4 len I
MethodParameters:
Name Flags
ct
inLen
byte[] digest();
descriptor: ()[B
flags: (0x0000)
Code:
stack=5, locals=2, args_size=1
start local 0 0: bipush 16
newarray 8
astore 1
start local 1 1: getstatic com.sun.crypto.provider.GHASH.asLongView:Ljava/lang/invoke/VarHandle;
aload 1
iconst_0
aload 0
getfield com.sun.crypto.provider.GHASH.state:[J
iconst_0
laload
invokevirtual java.lang.invoke.VarHandle.set:([BIJ)V
2: getstatic com.sun.crypto.provider.GHASH.asLongView:Ljava/lang/invoke/VarHandle;
aload 1
bipush 8
aload 0
getfield com.sun.crypto.provider.GHASH.state:[J
iconst_1
laload
invokevirtual java.lang.invoke.VarHandle.set:([BIJ)V
3: aload 0
getfield com.sun.crypto.provider.GHASH.state:[J
iconst_0
lconst_0
lastore
4: aload 0
getfield com.sun.crypto.provider.GHASH.state:[J
iconst_1
lconst_0
lastore
5: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/sun/crypto/provider/GHASH;
1 6 1 result [B
public int update(byte[], int, int, byte[], int);
descriptor: ([BII[BI)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=6, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
aload 1
iload 2
iload 3
invokevirtual com.sun.crypto.provider.GHASH.update:([BII)I
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 1 0 this Lcom/sun/crypto/provider/GHASH;
0 1 1 in [B
0 1 2 inOfs I
0 1 3 inLen I
0 1 4 out [B
0 1 5 outOfs I
MethodParameters:
Name Flags
in
inOfs
inLen
out
outOfs
public int update(byte[], int, int, java.nio.ByteBuffer);
descriptor: ([BIILjava/nio/ByteBuffer;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
aload 1
iload 2
iload 3
invokevirtual com.sun.crypto.provider.GHASH.update:([BII)I
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/crypto/provider/GHASH;
0 1 1 in [B
0 1 2 inOfs I
0 1 3 inLen I
0 1 4 dst Ljava/nio/ByteBuffer;
MethodParameters:
Name Flags
in
inOfs
inLen
dst
public int update(java.nio.ByteBuffer, java.nio.ByteBuffer);
descriptor: (Ljava/nio/ByteBuffer;Ljava/nio/ByteBuffer;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 1
invokevirtual java.nio.ByteBuffer.remaining:()I
invokevirtual com.sun.crypto.provider.GHASH.update:(Ljava/nio/ByteBuffer;I)I
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/crypto/provider/GHASH;
0 1 1 src Ljava/nio/ByteBuffer;
0 1 2 dst Ljava/nio/ByteBuffer;
MethodParameters:
Name Flags
src
dst
public int doFinal(byte[], int, int, byte[], int);
descriptor: ([BII[BI)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=6, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
aload 1
iload 2
iload 3
invokevirtual com.sun.crypto.provider.GHASH.doFinal:([BII)I
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 1 0 this Lcom/sun/crypto/provider/GHASH;
0 1 1 in [B
0 1 2 inOfs I
0 1 3 inLen I
0 1 4 out [B
0 1 5 outOfs I
MethodParameters:
Name Flags
in
inOfs
inLen
out
outOfs
public int doFinal(java.nio.ByteBuffer, java.nio.ByteBuffer);
descriptor: (Ljava/nio/ByteBuffer;Ljava/nio/ByteBuffer;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 1
invokevirtual java.nio.ByteBuffer.remaining:()I
invokevirtual com.sun.crypto.provider.GHASH.doFinal:(Ljava/nio/ByteBuffer;I)I
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/crypto/provider/GHASH;
0 1 1 src Ljava/nio/ByteBuffer;
0 1 2 dst Ljava/nio/ByteBuffer;
MethodParameters:
Name Flags
src
dst
public java.lang.Object clone();
descriptor: ()Ljava/lang/Object;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokevirtual com.sun.crypto.provider.GHASH.clone:()Lcom/sun/crypto/provider/GHASH;
areturn
LocalVariableTable:
Start End Slot Name Signature
Exceptions:
throws java.lang.CloneNotSupportedException
}
SourceFile: "GHASH.java"