public final class java.util.zip.CRC32C implements java.util.zip.Checksum
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: java.util.zip.CRC32C
super_class: java.lang.Object
{
private static final int CRC32C_POLY;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 517762881
private static final int REVERSED_CRC32C_POLY;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final jdk.internal.misc.Unsafe UNSAFE;
descriptor: Ljdk/internal/misc/Unsafe;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final int[] byteTable;
descriptor: [I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final int[][] byteTables;
descriptor: [[I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final int[] byteTable0;
descriptor: [I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final int[] byteTable1;
descriptor: [I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final int[] byteTable2;
descriptor: [I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final int[] byteTable3;
descriptor: [I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final int[] byteTable4;
descriptor: [I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final int[] byteTable5;
descriptor: [I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final int[] byteTable6;
descriptor: [I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final int[] byteTable7;
descriptor: [I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private int crc;
descriptor: I
flags: (0x0002) ACC_PRIVATE
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=5, args_size=0
0: ldc Ljava/util/zip/CRC32C;
invokevirtual java.lang.Class.desiredAssertionStatus:()Z
ifne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: putstatic java.util.zip.CRC32C.$assertionsDisabled:Z
3: ldc 517762881
invokestatic java.lang.Integer.reverse:(I)I
putstatic java.util.zip.CRC32C.REVERSED_CRC32C_POLY:I
4: invokestatic jdk.internal.misc.Unsafe.getUnsafe:()Ljdk/internal/misc/Unsafe;
putstatic java.util.zip.CRC32C.UNSAFE:Ljdk/internal/misc/Unsafe;
5: bipush 8
sipush 256
multianewarray [[I 2
putstatic java.util.zip.CRC32C.byteTables:[[I
6: getstatic java.util.zip.CRC32C.byteTables:[[I
iconst_0
aaload
putstatic java.util.zip.CRC32C.byteTable0:[I
7: getstatic java.util.zip.CRC32C.byteTables:[[I
iconst_1
aaload
putstatic java.util.zip.CRC32C.byteTable1:[I
8: getstatic java.util.zip.CRC32C.byteTables:[[I
iconst_2
aaload
putstatic java.util.zip.CRC32C.byteTable2:[I
9: getstatic java.util.zip.CRC32C.byteTables:[[I
iconst_3
aaload
putstatic java.util.zip.CRC32C.byteTable3:[I
10: getstatic java.util.zip.CRC32C.byteTables:[[I
iconst_4
aaload
putstatic java.util.zip.CRC32C.byteTable4:[I
11: getstatic java.util.zip.CRC32C.byteTables:[[I
iconst_5
aaload
putstatic java.util.zip.CRC32C.byteTable5:[I
12: getstatic java.util.zip.CRC32C.byteTables:[[I
bipush 6
aaload
putstatic java.util.zip.CRC32C.byteTable6:[I
13: getstatic java.util.zip.CRC32C.byteTables:[[I
bipush 7
aaload
putstatic java.util.zip.CRC32C.byteTable7:[I
14: iconst_0
istore 0
start local 0 15: goto 27
16: StackMap locals: int
StackMap stack:
iload 0
istore 1
start local 1 17: iconst_0
istore 2
start local 2 18: goto 24
19: StackMap locals: int int
StackMap stack:
iload 1
iconst_1
iand
ifeq 22
20: iload 1
iconst_1
iushr
getstatic java.util.zip.CRC32C.REVERSED_CRC32C_POLY:I
ixor
istore 1
21: goto 23
22: StackMap locals:
StackMap stack:
iload 1
iconst_1
iushr
istore 1
23: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
24: iload 2
bipush 8
if_icmplt 19
end local 2 25: getstatic java.util.zip.CRC32C.byteTables:[[I
iconst_0
aaload
iload 0
iload 1
iastore
end local 1 26: iinc 0 1
StackMap locals:
StackMap stack:
27: iload 0
getstatic java.util.zip.CRC32C.byteTables:[[I
iconst_0
aaload
arraylength
if_icmplt 16
end local 0 28: iconst_0
istore 0
start local 0 29: goto 38
30: StackMap locals:
StackMap stack:
getstatic java.util.zip.CRC32C.byteTables:[[I
iconst_0
aaload
iload 0
iaload
istore 1
start local 1 31: iconst_1
istore 2
start local 2 32: goto 36
33: StackMap locals: int int
StackMap stack:
getstatic java.util.zip.CRC32C.byteTables:[[I
iconst_0
aaload
iload 1
sipush 255
iand
iaload
iload 1
bipush 8
iushr
ixor
istore 1
34: getstatic java.util.zip.CRC32C.byteTables:[[I
iload 2
aaload
iload 0
iload 1
iastore
35: iinc 2 1
StackMap locals:
StackMap stack:
36: iload 2
getstatic java.util.zip.CRC32C.byteTables:[[I
arraylength
if_icmplt 33
end local 2 end local 1 37: iinc 0 1
StackMap locals:
StackMap stack:
38: iload 0
getstatic java.util.zip.CRC32C.byteTables:[[I
iconst_0
aaload
arraylength
if_icmplt 30
end local 0 39: invokestatic java.nio.ByteOrder.nativeOrder:()Ljava/nio/ByteOrder;
getstatic java.nio.ByteOrder.LITTLE_ENDIAN:Ljava/nio/ByteOrder;
if_acmpne 42
40: getstatic java.util.zip.CRC32C.byteTables:[[I
iconst_0
aaload
putstatic java.util.zip.CRC32C.byteTable:[I
41: goto 53
42: StackMap locals:
StackMap stack:
getstatic java.util.zip.CRC32C.byteTable0:[I
arraylength
newarray 10
putstatic java.util.zip.CRC32C.byteTable:[I
43: getstatic java.util.zip.CRC32C.byteTable0:[I
iconst_0
getstatic java.util.zip.CRC32C.byteTable:[I
iconst_0
getstatic java.util.zip.CRC32C.byteTable0:[I
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
44: getstatic java.util.zip.CRC32C.byteTables:[[I
dup
astore 3
arraylength
istore 2
iconst_0
istore 1
goto 52
StackMap locals: top int int int[][]
StackMap stack:
45: aload 3
iload 1
aaload
astore 0
start local 0 46: iconst_0
istore 4
start local 4 47: goto 50
48: StackMap locals: int[] int int int[][] int
StackMap stack:
aload 0
iload 4
aload 0
iload 4
iaload
invokestatic java.lang.Integer.reverseBytes:(I)I
iastore
49: iinc 4 1
StackMap locals:
StackMap stack:
50: iload 4
aload 0
arraylength
if_icmplt 48
end local 4 end local 0 51: iinc 1 1
StackMap locals: top int int int[][]
StackMap stack:
52: iload 1
iload 2
if_icmplt 45
53: StackMap locals:
StackMap stack:
return
LocalVariableTable:
Start End Slot Name Signature
15 28 0 index I
17 26 1 r I
18 25 2 i I
29 39 0 index I
31 37 1 r I
32 37 2 k I
46 51 0 table [I
47 51 4 index I
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
iconst_m1
putfield java.util.zip.CRC32C.crc:I
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljava/util/zip/CRC32C;
public void update(int);
descriptor: (I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 0
getfield java.util.zip.CRC32C.crc:I
bipush 8
iushr
getstatic java.util.zip.CRC32C.byteTable:[I
aload 0
getfield java.util.zip.CRC32C.crc:I
iload 1
sipush 255
iand
ixor
sipush 255
iand
iaload
ixor
putfield java.util.zip.CRC32C.crc:I
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/util/zip/CRC32C;
0 2 1 b I
MethodParameters:
Name Flags
b
public void update(byte[], int, int);
descriptor: ([BII)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
ifnonnull 2
1: new java.lang.NullPointerException
dup
invokespecial java.lang.NullPointerException.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
iload 2
iflt 3
iload 3
iflt 3
iload 2
aload 1
arraylength
iload 3
isub
if_icmple 4
3: StackMap locals:
StackMap stack:
new java.lang.ArrayIndexOutOfBoundsException
dup
invokespecial java.lang.ArrayIndexOutOfBoundsException.<init>:()V
athrow
4: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield java.util.zip.CRC32C.crc:I
aload 1
iload 2
iload 2
iload 3
iadd
invokestatic java.util.zip.CRC32C.updateBytes:(I[BII)I
putfield java.util.zip.CRC32C.crc:I
5: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljava/util/zip/CRC32C;
0 6 1 b [B
0 6 2 off I
0 6 3 len I
MethodParameters:
Name Flags
b
off
len
public void update(java.nio.ByteBuffer);
descriptor: (Ljava/nio/ByteBuffer;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=7, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.nio.ByteBuffer.position:()I
istore 2
start local 2 1: aload 1
invokevirtual java.nio.ByteBuffer.limit:()I
istore 3
start local 3 2: getstatic java.util.zip.CRC32C.$assertionsDisabled:Z
ifne 3
iload 2
iload 3
if_icmple 3
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
3: StackMap locals: int int
StackMap stack:
iload 3
iload 2
isub
istore 4
start local 4 4: iload 4
ifgt 6
5: return
6: StackMap locals: int
StackMap stack:
aload 1
instanceof sun.nio.ch.DirectBuffer
ifeq 11
7: aload 0
aload 0
getfield java.util.zip.CRC32C.crc:I
aload 1
checkcast sun.nio.ch.DirectBuffer
invokeinterface sun.nio.ch.DirectBuffer.address:()J
8: iload 2
iload 3
9: invokestatic java.util.zip.CRC32C.updateDirectByteBuffer:(IJII)I
putfield java.util.zip.CRC32C.crc:I
10: goto 22
StackMap locals:
StackMap stack:
11: aload 1
invokevirtual java.nio.ByteBuffer.hasArray:()Z
ifeq 16
12: aload 0
aload 0
getfield java.util.zip.CRC32C.crc:I
aload 1
invokevirtual java.nio.ByteBuffer.array:()[B
iload 2
aload 1
invokevirtual java.nio.ByteBuffer.arrayOffset:()I
iadd
13: iload 3
aload 1
invokevirtual java.nio.ByteBuffer.arrayOffset:()I
iadd
14: invokestatic java.util.zip.CRC32C.updateBytes:(I[BII)I
putfield java.util.zip.CRC32C.crc:I
15: goto 22
16: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.nio.ByteBuffer.remaining:()I
sipush 4096
invokestatic java.lang.Math.min:(II)I
newarray 8
astore 5
start local 5 17: goto 21
18: StackMap locals: byte[]
StackMap stack:
aload 1
invokevirtual java.nio.ByteBuffer.remaining:()I
aload 5
arraylength
invokestatic java.lang.Math.min:(II)I
istore 6
start local 6 19: aload 1
aload 5
iconst_0
iload 6
invokevirtual java.nio.ByteBuffer.get:([BII)Ljava/nio/ByteBuffer;
pop
20: aload 0
aload 5
iconst_0
iload 6
invokevirtual java.util.zip.CRC32C.update:([BII)V
end local 6 21: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
ifne 18
end local 5 22: StackMap locals:
StackMap stack:
aload 1
iload 3
invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
pop
23: return
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 Ljava/util/zip/CRC32C;
0 24 1 buffer Ljava/nio/ByteBuffer;
1 24 2 pos I
2 24 3 limit I
4 24 4 rem I
17 22 5 b [B
19 21 6 length I
MethodParameters:
Name Flags
buffer
public void reset();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_m1
putfield java.util.zip.CRC32C.crc:I
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/util/zip/CRC32C;
public long getValue();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
getfield java.util.zip.CRC32C.crc:I
iconst_m1
ixor
i2l
ldc 4294967295
land
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/util/zip/CRC32C;
private static int updateBytes(int, byte[], int, int);
descriptor: (I[BII)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=9, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 3
iload 2
isub
bipush 8
if_icmplt 64
getstatic jdk.internal.misc.Unsafe.ARRAY_BYTE_INDEX_SCALE:I
iconst_1
if_icmpne 64
1: bipush 8
getstatic jdk.internal.misc.Unsafe.ARRAY_BYTE_BASE_OFFSET:I
iload 2
iadd
bipush 7
iand
isub
bipush 7
iand
2: istore 4
start local 4 3: iload 2
iload 4
iadd
istore 5
start local 5 4: goto 7
5: StackMap locals: int int
StackMap stack:
iload 0
bipush 8
iushr
getstatic java.util.zip.CRC32C.byteTable:[I
iload 0
aload 1
iload 2
baload
ixor
sipush 255
iand
iaload
ixor
istore 0
6: iinc 2 1
StackMap locals:
StackMap stack:
7: iload 2
iload 5
if_icmplt 5
end local 5 8: invokestatic java.nio.ByteOrder.nativeOrder:()Ljava/nio/ByteOrder;
getstatic java.nio.ByteOrder.BIG_ENDIAN:Ljava/nio/ByteOrder;
if_acmpne 58
9: iload 0
invokestatic java.lang.Integer.reverseBytes:(I)I
istore 0
10: goto 58
11: StackMap locals:
StackMap stack:
getstatic jdk.internal.misc.Unsafe.ADDRESS_SIZE:I
iconst_4
if_icmpne 17
12: getstatic java.util.zip.CRC32C.UNSAFE:Ljdk/internal/misc/Unsafe;
aload 1
getstatic jdk.internal.misc.Unsafe.ARRAY_BYTE_BASE_OFFSET:I
i2l
iload 2
i2l
ladd
invokevirtual jdk.internal.misc.Unsafe.getInt:(Ljava/lang/Object;J)I
istore 5
start local 5 13: getstatic java.util.zip.CRC32C.UNSAFE:Ljdk/internal/misc/Unsafe;
aload 1
getstatic jdk.internal.misc.Unsafe.ARRAY_BYTE_BASE_OFFSET:I
i2l
iload 2
i2l
ladd
14: ldc 4
ladd
15: invokevirtual jdk.internal.misc.Unsafe.getInt:(Ljava/lang/Object;J)I
istore 6
start local 6 16: goto 24
end local 6 end local 5 17: StackMap locals:
StackMap stack:
getstatic java.util.zip.CRC32C.UNSAFE:Ljdk/internal/misc/Unsafe;
aload 1
getstatic jdk.internal.misc.Unsafe.ARRAY_BYTE_BASE_OFFSET:I
i2l
iload 2
i2l
ladd
invokevirtual jdk.internal.misc.Unsafe.getLong:(Ljava/lang/Object;J)J
lstore 7
start local 7 18: invokestatic java.nio.ByteOrder.nativeOrder:()Ljava/nio/ByteOrder;
getstatic java.nio.ByteOrder.LITTLE_ENDIAN:Ljava/nio/ByteOrder;
if_acmpne 22
19: lload 7
l2i
istore 5
start local 5 20: lload 7
bipush 32
lushr
l2i
istore 6
start local 6 21: goto 24
end local 6 end local 5 22: StackMap locals: int byte[] int int int top top long
StackMap stack:
lload 7
bipush 32
lushr
l2i
istore 5
start local 5 23: lload 7
l2i
istore 6
end local 7 start local 6 24: StackMap locals: int byte[] int int int int int
StackMap stack:
iload 0
iload 5
ixor
istore 0
25: invokestatic java.nio.ByteOrder.nativeOrder:()Ljava/nio/ByteOrder;
getstatic java.nio.ByteOrder.LITTLE_ENDIAN:Ljava/nio/ByteOrder;
if_acmpne 42
26: getstatic java.util.zip.CRC32C.byteTable7:[I
iload 0
sipush 255
iand
iaload
27: getstatic java.util.zip.CRC32C.byteTable6:[I
iload 0
bipush 8
iushr
sipush 255
iand
iaload
28: ixor
29: getstatic java.util.zip.CRC32C.byteTable5:[I
iload 0
bipush 16
iushr
sipush 255
iand
iaload
30: ixor
31: getstatic java.util.zip.CRC32C.byteTable4:[I
iload 0
bipush 24
iushr
iaload
32: ixor
33: getstatic java.util.zip.CRC32C.byteTable3:[I
iload 6
sipush 255
iand
iaload
34: ixor
35: getstatic java.util.zip.CRC32C.byteTable2:[I
iload 6
bipush 8
iushr
sipush 255
iand
iaload
36: ixor
37: getstatic java.util.zip.CRC32C.byteTable1:[I
iload 6
bipush 16
iushr
sipush 255
iand
iaload
38: ixor
39: getstatic java.util.zip.CRC32C.byteTable0:[I
iload 6
bipush 24
iushr
iaload
40: ixor
istore 0
41: goto 57
42: StackMap locals:
StackMap stack:
getstatic java.util.zip.CRC32C.byteTable0:[I
iload 6
sipush 255
iand
iaload
43: getstatic java.util.zip.CRC32C.byteTable1:[I
iload 6
bipush 8
iushr
sipush 255
iand
iaload
44: ixor
45: getstatic java.util.zip.CRC32C.byteTable2:[I
iload 6
bipush 16
iushr
sipush 255
iand
iaload
46: ixor
47: getstatic java.util.zip.CRC32C.byteTable3:[I
iload 6
bipush 24
iushr
iaload
48: ixor
49: getstatic java.util.zip.CRC32C.byteTable4:[I
iload 0
sipush 255
iand
iaload
50: ixor
51: getstatic java.util.zip.CRC32C.byteTable5:[I
iload 0
bipush 8
iushr
sipush 255
iand
iaload
52: ixor
53: getstatic java.util.zip.CRC32C.byteTable6:[I
iload 0
bipush 16
iushr
sipush 255
iand
iaload
54: ixor
55: getstatic java.util.zip.CRC32C.byteTable7:[I
iload 0
bipush 24
iushr
iaload
56: ixor
istore 0
end local 6 end local 5 57: StackMap locals:
StackMap stack:
iinc 2 8
StackMap locals:
StackMap stack:
58: iload 2
iload 3
bipush 8
isub
if_icmplt 11
59: invokestatic java.nio.ByteOrder.nativeOrder:()Ljava/nio/ByteOrder;
getstatic java.nio.ByteOrder.BIG_ENDIAN:Ljava/nio/ByteOrder;
if_acmpne 64
60: iload 0
invokestatic java.lang.Integer.reverseBytes:(I)I
istore 0
end local 4 61: goto 64
62: StackMap locals:
StackMap stack:
iload 0
bipush 8
iushr
getstatic java.util.zip.CRC32C.byteTable:[I
iload 0
aload 1
iload 2
baload
ixor
sipush 255
iand
iaload
ixor
istore 0
63: iinc 2 1
StackMap locals:
StackMap stack:
64: iload 2
iload 3
if_icmplt 62
65: iload 0
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 66 0 crc I
0 66 1 b [B
0 66 2 off I
0 66 3 end I
3 61 4 alignLength I
4 8 5 alignEnd I
13 17 5 firstHalf I
20 22 5 firstHalf I
23 57 5 firstHalf I
16 17 6 secondHalf I
21 22 6 secondHalf I
24 57 6 secondHalf I
18 24 7 value J
RuntimeVisibleAnnotations:
jdk.internal.HotSpotIntrinsicCandidate()
MethodParameters:
Name Flags
crc
b
off
end
private static int updateDirectByteBuffer(int, long, int, int);
descriptor: (IJII)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=8, locals=8, args_size=4
start local 0 start local 1 start local 3 start local 4 0: iload 4
iload 3
isub
bipush 8
if_icmplt 56
1: bipush 8
lload 1
iload 3
i2l
ladd
ldc 7
land
l2i
isub
bipush 7
iand
istore 5
start local 5 2: iload 3
iload 5
iadd
istore 6
start local 6 3: goto 8
4: StackMap locals: int int
StackMap stack:
iload 0
bipush 8
iushr
5: getstatic java.util.zip.CRC32C.byteTable:[I
iload 0
getstatic java.util.zip.CRC32C.UNSAFE:Ljdk/internal/misc/Unsafe;
lload 1
iload 3
i2l
ladd
invokevirtual jdk.internal.misc.Unsafe.getByte:(J)B
ixor
sipush 255
iand
iaload
6: ixor
istore 0
7: iinc 3 1
StackMap locals:
StackMap stack:
8: iload 3
iload 6
if_icmplt 4
end local 6 9: invokestatic java.nio.ByteOrder.nativeOrder:()Ljava/nio/ByteOrder;
getstatic java.nio.ByteOrder.BIG_ENDIAN:Ljava/nio/ByteOrder;
if_acmpne 48
10: iload 0
invokestatic java.lang.Integer.reverseBytes:(I)I
istore 0
11: goto 48
12: StackMap locals:
StackMap stack:
getstatic java.util.zip.CRC32C.UNSAFE:Ljdk/internal/misc/Unsafe;
lload 1
iload 3
i2l
ladd
invokevirtual jdk.internal.misc.Unsafe.getInt:(J)I
istore 6
start local 6 13: getstatic java.util.zip.CRC32C.UNSAFE:Ljdk/internal/misc/Unsafe;
lload 1
iload 3
i2l
ladd
ldc 4
ladd
invokevirtual jdk.internal.misc.Unsafe.getInt:(J)I
istore 7
start local 7 14: iload 0
iload 6
ixor
istore 0
15: invokestatic java.nio.ByteOrder.nativeOrder:()Ljava/nio/ByteOrder;
getstatic java.nio.ByteOrder.LITTLE_ENDIAN:Ljava/nio/ByteOrder;
if_acmpne 32
16: getstatic java.util.zip.CRC32C.byteTable7:[I
iload 0
sipush 255
iand
iaload
17: getstatic java.util.zip.CRC32C.byteTable6:[I
iload 0
bipush 8
iushr
sipush 255
iand
iaload
18: ixor
19: getstatic java.util.zip.CRC32C.byteTable5:[I
iload 0
bipush 16
iushr
sipush 255
iand
iaload
20: ixor
21: getstatic java.util.zip.CRC32C.byteTable4:[I
iload 0
bipush 24
iushr
iaload
22: ixor
23: getstatic java.util.zip.CRC32C.byteTable3:[I
iload 7
sipush 255
iand
iaload
24: ixor
25: getstatic java.util.zip.CRC32C.byteTable2:[I
iload 7
bipush 8
iushr
sipush 255
iand
iaload
26: ixor
27: getstatic java.util.zip.CRC32C.byteTable1:[I
iload 7
bipush 16
iushr
sipush 255
iand
iaload
28: ixor
29: getstatic java.util.zip.CRC32C.byteTable0:[I
iload 7
bipush 24
iushr
iaload
30: ixor
istore 0
31: goto 47
32: StackMap locals: int int
StackMap stack:
getstatic java.util.zip.CRC32C.byteTable0:[I
iload 7
sipush 255
iand
iaload
33: getstatic java.util.zip.CRC32C.byteTable1:[I
iload 7
bipush 8
iushr
sipush 255
iand
iaload
34: ixor
35: getstatic java.util.zip.CRC32C.byteTable2:[I
iload 7
bipush 16
iushr
sipush 255
iand
iaload
36: ixor
37: getstatic java.util.zip.CRC32C.byteTable3:[I
iload 7
bipush 24
iushr
iaload
38: ixor
39: getstatic java.util.zip.CRC32C.byteTable4:[I
iload 0
sipush 255
iand
iaload
40: ixor
41: getstatic java.util.zip.CRC32C.byteTable5:[I
iload 0
bipush 8
iushr
sipush 255
iand
iaload
42: ixor
43: getstatic java.util.zip.CRC32C.byteTable6:[I
iload 0
bipush 16
iushr
sipush 255
iand
iaload
44: ixor
45: getstatic java.util.zip.CRC32C.byteTable7:[I
iload 0
bipush 24
iushr
iaload
46: ixor
istore 0
end local 7 end local 6 47: StackMap locals:
StackMap stack:
iinc 3 8
StackMap locals:
StackMap stack:
48: iload 3
iload 4
bipush 8
isub
if_icmple 12
49: invokestatic java.nio.ByteOrder.nativeOrder:()Ljava/nio/ByteOrder;
getstatic java.nio.ByteOrder.BIG_ENDIAN:Ljava/nio/ByteOrder;
if_acmpne 56
50: iload 0
invokestatic java.lang.Integer.reverseBytes:(I)I
istore 0
end local 5 51: goto 56
52: StackMap locals:
StackMap stack:
iload 0
bipush 8
iushr
53: getstatic java.util.zip.CRC32C.byteTable:[I
iload 0
getstatic java.util.zip.CRC32C.UNSAFE:Ljdk/internal/misc/Unsafe;
lload 1
iload 3
i2l
ladd
invokevirtual jdk.internal.misc.Unsafe.getByte:(J)B
ixor
sipush 255
iand
iaload
54: ixor
istore 0
55: iinc 3 1
StackMap locals:
StackMap stack:
56: iload 3
iload 4
if_icmplt 52
57: iload 0
ireturn
end local 4 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 58 0 crc I
0 58 1 address J
0 58 3 off I
0 58 4 end I
2 51 5 alignLength I
3 9 6 alignEnd I
13 47 6 firstHalf I
14 47 7 secondHalf I
RuntimeVisibleAnnotations:
jdk.internal.HotSpotIntrinsicCandidate()
MethodParameters:
Name Flags
crc
address
off
end
}
SourceFile: "CRC32C.java"