public final class org.h2.compress.CompressLZF implements org.h2.compress.Compressor
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: org.h2.compress.CompressLZF
super_class: java.lang.Object
{
private static final int HASH_SIZE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 16384
private static final int MAX_LITERAL;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 32
private static final int MAX_OFF;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 8192
private static final int MAX_REF;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 264
private int[] cachedHashTable;
descriptor: [I
flags: (0x0002) ACC_PRIVATE
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 // org.h2.compress.CompressLZF this
0: .line 86
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
return
end local 0 // org.h2.compress.CompressLZF this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/h2/compress/CompressLZF;
public void setOptions(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=0, locals=2, args_size=2
start local 0 // org.h2.compress.CompressLZF this
start local 1 // java.lang.String options
0: .line 118
return
end local 1 // java.lang.String options
end local 0 // org.h2.compress.CompressLZF this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/h2/compress/CompressLZF;
0 1 1 options Ljava/lang/String;
MethodParameters:
Name Flags
options
private static int first(byte[], int);
descriptor: ([BI)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=2, args_size=2
start local 0 // byte[] in
start local 1 // int inPos
0: .line 125
aload 0 /* in */
iload 1 /* inPos */
baload
bipush 8
ishl
aload 0 /* in */
iload 1 /* inPos */
iconst_1
iadd
baload
sipush 255
iand
ior
ireturn
end local 1 // int inPos
end local 0 // byte[] in
LocalVariableTable:
Start End Slot Name Signature
0 1 0 in [B
0 1 1 inPos I
MethodParameters:
Name Flags
in
inPos
private static int first(java.nio.ByteBuffer, int);
descriptor: (Ljava/nio/ByteBuffer;I)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=2, args_size=2
start local 0 // java.nio.ByteBuffer in
start local 1 // int inPos
0: .line 133
aload 0 /* in */
iload 1 /* inPos */
invokevirtual java.nio.ByteBuffer.get:(I)B
bipush 8
ishl
aload 0 /* in */
iload 1 /* inPos */
iconst_1
iadd
invokevirtual java.nio.ByteBuffer.get:(I)B
sipush 255
iand
ior
ireturn
end local 1 // int inPos
end local 0 // java.nio.ByteBuffer in
LocalVariableTable:
Start End Slot Name Signature
0 1 0 in Ljava/nio/ByteBuffer;
0 1 1 inPos I
MethodParameters:
Name Flags
in
inPos
private static int next(int, byte[], int);
descriptor: (I[BI)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=3, args_size=3
start local 0 // int v
start local 1 // byte[] in
start local 2 // int inPos
0: .line 140
iload 0 /* v */
bipush 8
ishl
aload 1 /* in */
iload 2 /* inPos */
iconst_2
iadd
baload
sipush 255
iand
ior
ireturn
end local 2 // int inPos
end local 1 // byte[] in
end local 0 // int v
LocalVariableTable:
Start End Slot Name Signature
0 1 0 v I
0 1 1 in [B
0 1 2 inPos I
MethodParameters:
Name Flags
v
in
inPos
private static int next(int, java.nio.ByteBuffer, int);
descriptor: (ILjava/nio/ByteBuffer;I)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=3, args_size=3
start local 0 // int v
start local 1 // java.nio.ByteBuffer in
start local 2 // int inPos
0: .line 147
iload 0 /* v */
bipush 8
ishl
aload 1 /* in */
iload 2 /* inPos */
iconst_2
iadd
invokevirtual java.nio.ByteBuffer.get:(I)B
sipush 255
iand
ior
ireturn
end local 2 // int inPos
end local 1 // java.nio.ByteBuffer in
end local 0 // int v
LocalVariableTable:
Start End Slot Name Signature
0 1 0 v I
0 1 1 in Ljava/nio/ByteBuffer;
0 1 2 inPos I
MethodParameters:
Name Flags
v
in
inPos
private static int hash(int);
descriptor: (I)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 // int h
0: .line 154
iload 0 /* h */
sipush 2777
imul
bipush 9
ishr
sipush 16383
iand
ireturn
end local 0 // int h
LocalVariableTable:
Start End Slot Name Signature
0 1 0 h I
MethodParameters:
Name Flags
h
public int compress(byte[], int, byte[], int);
descriptor: ([BI[BI)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=14, args_size=5
start local 0 // org.h2.compress.CompressLZF this
start local 1 // byte[] in
start local 2 // int inLen
start local 3 // byte[] out
start local 4 // int outPos
0: .line 159
iconst_0
istore 5 /* inPos */
start local 5 // int inPos
1: .line 160
aload 0 /* this */
getfield org.h2.compress.CompressLZF.cachedHashTable:[I
ifnonnull 3
2: .line 161
aload 0 /* this */
sipush 16384
newarray 10
putfield org.h2.compress.CompressLZF.cachedHashTable:[I
3: .line 163
StackMap locals: int
StackMap stack:
aload 0 /* this */
getfield org.h2.compress.CompressLZF.cachedHashTable:[I
astore 6 /* hashTab */
start local 6 // int[] hashTab
4: .line 164
iconst_0
istore 7 /* literals */
start local 7 // int literals
5: .line 165
iinc 4 /* outPos */ 1
6: .line 166
aload 1 /* in */
iconst_0
invokestatic org.h2.compress.CompressLZF.first:([BI)I
istore 8 /* future */
start local 8 // int future
7: .line 167
goto 52
8: .line 168
StackMap locals: int[] int int
StackMap stack:
aload 1 /* in */
iload 5 /* inPos */
iconst_2
iadd
baload
istore 9 /* p2 */
start local 9 // byte p2
9: .line 170
iload 8 /* future */
bipush 8
ishl
iload 9 /* p2 */
sipush 255
iand
iadd
istore 8 /* future */
10: .line 171
iload 8 /* future */
invokestatic org.h2.compress.CompressLZF.hash:(I)I
istore 10 /* off */
start local 10 // int off
11: .line 172
aload 6 /* hashTab */
iload 10 /* off */
iaload
istore 11 /* ref */
start local 11 // int ref
12: .line 173
aload 6 /* hashTab */
iload 10 /* off */
iload 5 /* inPos */
iastore
13: .line 180
iload 11 /* ref */
iload 5 /* inPos */
if_icmpge 46
14: .line 181
iload 11 /* ref */
ifle 46
15: .line 182
iload 5 /* inPos */
iload 11 /* ref */
isub
iconst_1
isub
dup
istore 10 /* off */
sipush 8192
if_icmpge 46
16: .line 183
aload 1 /* in */
iload 11 /* ref */
iconst_2
iadd
baload
iload 9 /* p2 */
if_icmpne 46
17: .line 184
aload 1 /* in */
iload 11 /* ref */
iconst_1
iadd
baload
iload 8 /* future */
bipush 8
ishr
i2b
if_icmpne 46
18: .line 185
aload 1 /* in */
iload 11 /* ref */
baload
iload 8 /* future */
bipush 16
ishr
i2b
if_icmpne 46
19: .line 187
iload 2 /* inLen */
iload 5 /* inPos */
isub
iconst_2
isub
istore 12 /* maxLen */
start local 12 // int maxLen
20: .line 188
iload 12 /* maxLen */
sipush 264
if_icmple 22
21: .line 189
sipush 264
istore 12 /* maxLen */
22: .line 191
StackMap locals: org.h2.compress.CompressLZF byte[] int byte[] int int int[] int int int int int int
StackMap stack:
iload 7 /* literals */
ifne 25
23: .line 194
iinc 4 /* outPos */ -1
24: .line 195
goto 27
25: .line 198
StackMap locals:
StackMap stack:
aload 3 /* out */
iload 4 /* outPos */
iload 7 /* literals */
isub
iconst_1
isub
iload 7 /* literals */
iconst_1
isub
i2b
bastore
26: .line 199
iconst_0
istore 7 /* literals */
27: .line 201
StackMap locals:
StackMap stack:
iconst_3
istore 13 /* len */
start local 13 // int len
28: .line 202
goto 30
29: .line 203
StackMap locals: int
StackMap stack:
iinc 13 /* len */ 1
30: .line 202
StackMap locals:
StackMap stack:
iload 13 /* len */
iload 12 /* maxLen */
if_icmpge 31
aload 1 /* in */
iload 11 /* ref */
iload 13 /* len */
iadd
baload
aload 1 /* in */
iload 5 /* inPos */
iload 13 /* len */
iadd
baload
if_icmpeq 29
31: .line 205
StackMap locals:
StackMap stack:
iinc 13 /* len */ -2
32: .line 206
iload 13 /* len */
bipush 7
if_icmpge 35
33: .line 207
aload 3 /* out */
iload 4 /* outPos */
iinc 4 /* outPos */ 1
iload 10 /* off */
bipush 8
ishr
iload 13 /* len */
iconst_5
ishl
iadd
i2b
bastore
34: .line 208
goto 37
35: .line 209
StackMap locals:
StackMap stack:
aload 3 /* out */
iload 4 /* outPos */
iinc 4 /* outPos */ 1
iload 10 /* off */
bipush 8
ishr
sipush 224
iadd
i2b
bastore
36: .line 210
aload 3 /* out */
iload 4 /* outPos */
iinc 4 /* outPos */ 1
iload 13 /* len */
bipush 7
isub
i2b
bastore
37: .line 212
StackMap locals:
StackMap stack:
aload 3 /* out */
iload 4 /* outPos */
iinc 4 /* outPos */ 1
iload 10 /* off */
i2b
bastore
38: .line 214
iinc 4 /* outPos */ 1
39: .line 215
iload 5 /* inPos */
iload 13 /* len */
iadd
istore 5 /* inPos */
40: .line 220
aload 1 /* in */
iload 5 /* inPos */
invokestatic org.h2.compress.CompressLZF.first:([BI)I
istore 8 /* future */
41: .line 221
iload 8 /* future */
aload 1 /* in */
iload 5 /* inPos */
invokestatic org.h2.compress.CompressLZF.next:(I[BI)I
istore 8 /* future */
42: .line 222
aload 6 /* hashTab */
iload 8 /* future */
invokestatic org.h2.compress.CompressLZF.hash:(I)I
iload 5 /* inPos */
iinc 5 /* inPos */ 1
iastore
43: .line 223
iload 8 /* future */
aload 1 /* in */
iload 5 /* inPos */
invokestatic org.h2.compress.CompressLZF.next:(I[BI)I
istore 8 /* future */
44: .line 224
aload 6 /* hashTab */
iload 8 /* future */
invokestatic org.h2.compress.CompressLZF.hash:(I)I
iload 5 /* inPos */
iinc 5 /* inPos */ 1
iastore
end local 13 // int len
end local 12 // int maxLen
45: .line 225
goto 52
46: .line 227
StackMap locals:
StackMap stack:
aload 3 /* out */
iload 4 /* outPos */
iinc 4 /* outPos */ 1
aload 1 /* in */
iload 5 /* inPos */
iinc 5 /* inPos */ 1
baload
bastore
47: .line 228
iinc 7 /* literals */ 1
48: .line 231
iload 7 /* literals */
bipush 32
if_icmpne 52
49: .line 232
aload 3 /* out */
iload 4 /* outPos */
iload 7 /* literals */
isub
iconst_1
isub
iload 7 /* literals */
iconst_1
isub
i2b
bastore
50: .line 233
iconst_0
istore 7 /* literals */
51: .line 236
iinc 4 /* outPos */ 1
end local 11 // int ref
end local 10 // int off
end local 9 // byte p2
52: .line 167
StackMap locals:
StackMap stack:
iload 5 /* inPos */
iload 2 /* inLen */
iconst_4
isub
if_icmplt 8
53: .line 241
goto 60
54: .line 242
StackMap locals:
StackMap stack:
aload 3 /* out */
iload 4 /* outPos */
iinc 4 /* outPos */ 1
aload 1 /* in */
iload 5 /* inPos */
iinc 5 /* inPos */ 1
baload
bastore
55: .line 243
iinc 7 /* literals */ 1
56: .line 244
iload 7 /* literals */
bipush 32
if_icmpne 60
57: .line 245
aload 3 /* out */
iload 4 /* outPos */
iload 7 /* literals */
isub
iconst_1
isub
iload 7 /* literals */
iconst_1
isub
i2b
bastore
58: .line 246
iconst_0
istore 7 /* literals */
59: .line 247
iinc 4 /* outPos */ 1
60: .line 241
StackMap locals:
StackMap stack:
iload 5 /* inPos */
iload 2 /* inLen */
if_icmplt 54
61: .line 251
aload 3 /* out */
iload 4 /* outPos */
iload 7 /* literals */
isub
iconst_1
isub
iload 7 /* literals */
iconst_1
isub
i2b
bastore
62: .line 252
iload 7 /* literals */
ifne 64
63: .line 253
iinc 4 /* outPos */ -1
64: .line 255
StackMap locals:
StackMap stack:
iload 4 /* outPos */
ireturn
end local 8 // int future
end local 7 // int literals
end local 6 // int[] hashTab
end local 5 // int inPos
end local 4 // int outPos
end local 3 // byte[] out
end local 2 // int inLen
end local 1 // byte[] in
end local 0 // org.h2.compress.CompressLZF this
LocalVariableTable:
Start End Slot Name Signature
0 65 0 this Lorg/h2/compress/CompressLZF;
0 65 1 in [B
0 65 2 inLen I
0 65 3 out [B
0 65 4 outPos I
1 65 5 inPos I
4 65 6 hashTab [I
5 65 7 literals I
7 65 8 future I
9 52 9 p2 B
11 52 10 off I
12 52 11 ref I
20 45 12 maxLen I
28 45 13 len I
MethodParameters:
Name Flags
in
inLen
out
outPos
public int compress(java.nio.ByteBuffer, int, byte[], int);
descriptor: (Ljava/nio/ByteBuffer;I[BI)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=14, args_size=5
start local 0 // org.h2.compress.CompressLZF this
start local 1 // java.nio.ByteBuffer in
start local 2 // int inPos
start local 3 // byte[] out
start local 4 // int outPos
0: .line 268
aload 1 /* in */
invokevirtual java.nio.ByteBuffer.capacity:()I
iload 2 /* inPos */
isub
istore 5 /* inLen */
start local 5 // int inLen
1: .line 269
aload 0 /* this */
getfield org.h2.compress.CompressLZF.cachedHashTable:[I
ifnonnull 3
2: .line 270
aload 0 /* this */
sipush 16384
newarray 10
putfield org.h2.compress.CompressLZF.cachedHashTable:[I
3: .line 272
StackMap locals: int
StackMap stack:
aload 0 /* this */
getfield org.h2.compress.CompressLZF.cachedHashTable:[I
astore 6 /* hashTab */
start local 6 // int[] hashTab
4: .line 273
iconst_0
istore 7 /* literals */
start local 7 // int literals
5: .line 274
iinc 4 /* outPos */ 1
6: .line 275
aload 1 /* in */
iconst_0
invokestatic org.h2.compress.CompressLZF.first:(Ljava/nio/ByteBuffer;I)I
istore 8 /* future */
start local 8 // int future
7: .line 276
goto 52
8: .line 277
StackMap locals: int[] int int
StackMap stack:
aload 1 /* in */
iload 2 /* inPos */
iconst_2
iadd
invokevirtual java.nio.ByteBuffer.get:(I)B
istore 9 /* p2 */
start local 9 // byte p2
9: .line 279
iload 8 /* future */
bipush 8
ishl
iload 9 /* p2 */
sipush 255
iand
iadd
istore 8 /* future */
10: .line 280
iload 8 /* future */
invokestatic org.h2.compress.CompressLZF.hash:(I)I
istore 10 /* off */
start local 10 // int off
11: .line 281
aload 6 /* hashTab */
iload 10 /* off */
iaload
istore 11 /* ref */
start local 11 // int ref
12: .line 282
aload 6 /* hashTab */
iload 10 /* off */
iload 2 /* inPos */
iastore
13: .line 289
iload 11 /* ref */
iload 2 /* inPos */
if_icmpge 46
14: .line 290
iload 11 /* ref */
ifle 46
15: .line 291
iload 2 /* inPos */
iload 11 /* ref */
isub
iconst_1
isub
dup
istore 10 /* off */
sipush 8192
if_icmpge 46
16: .line 292
aload 1 /* in */
iload 11 /* ref */
iconst_2
iadd
invokevirtual java.nio.ByteBuffer.get:(I)B
iload 9 /* p2 */
if_icmpne 46
17: .line 293
aload 1 /* in */
iload 11 /* ref */
iconst_1
iadd
invokevirtual java.nio.ByteBuffer.get:(I)B
iload 8 /* future */
bipush 8
ishr
i2b
if_icmpne 46
18: .line 294
aload 1 /* in */
iload 11 /* ref */
invokevirtual java.nio.ByteBuffer.get:(I)B
iload 8 /* future */
bipush 16
ishr
i2b
if_icmpne 46
19: .line 296
iload 5 /* inLen */
iload 2 /* inPos */
isub
iconst_2
isub
istore 12 /* maxLen */
start local 12 // int maxLen
20: .line 297
iload 12 /* maxLen */
sipush 264
if_icmple 22
21: .line 298
sipush 264
istore 12 /* maxLen */
22: .line 300
StackMap locals: org.h2.compress.CompressLZF java.nio.ByteBuffer int byte[] int int int[] int int int int int int
StackMap stack:
iload 7 /* literals */
ifne 25
23: .line 303
iinc 4 /* outPos */ -1
24: .line 304
goto 27
25: .line 307
StackMap locals:
StackMap stack:
aload 3 /* out */
iload 4 /* outPos */
iload 7 /* literals */
isub
iconst_1
isub
iload 7 /* literals */
iconst_1
isub
i2b
bastore
26: .line 308
iconst_0
istore 7 /* literals */
27: .line 310
StackMap locals:
StackMap stack:
iconst_3
istore 13 /* len */
start local 13 // int len
28: .line 311
goto 30
29: .line 312
StackMap locals: int
StackMap stack:
iinc 13 /* len */ 1
30: .line 311
StackMap locals:
StackMap stack:
iload 13 /* len */
iload 12 /* maxLen */
if_icmpge 31
aload 1 /* in */
iload 11 /* ref */
iload 13 /* len */
iadd
invokevirtual java.nio.ByteBuffer.get:(I)B
aload 1 /* in */
iload 2 /* inPos */
iload 13 /* len */
iadd
invokevirtual java.nio.ByteBuffer.get:(I)B
if_icmpeq 29
31: .line 314
StackMap locals:
StackMap stack:
iinc 13 /* len */ -2
32: .line 315
iload 13 /* len */
bipush 7
if_icmpge 35
33: .line 316
aload 3 /* out */
iload 4 /* outPos */
iinc 4 /* outPos */ 1
iload 10 /* off */
bipush 8
ishr
iload 13 /* len */
iconst_5
ishl
iadd
i2b
bastore
34: .line 317
goto 37
35: .line 318
StackMap locals:
StackMap stack:
aload 3 /* out */
iload 4 /* outPos */
iinc 4 /* outPos */ 1
iload 10 /* off */
bipush 8
ishr
sipush 224
iadd
i2b
bastore
36: .line 319
aload 3 /* out */
iload 4 /* outPos */
iinc 4 /* outPos */ 1
iload 13 /* len */
bipush 7
isub
i2b
bastore
37: .line 321
StackMap locals:
StackMap stack:
aload 3 /* out */
iload 4 /* outPos */
iinc 4 /* outPos */ 1
iload 10 /* off */
i2b
bastore
38: .line 323
iinc 4 /* outPos */ 1
39: .line 324
iload 2 /* inPos */
iload 13 /* len */
iadd
istore 2 /* inPos */
40: .line 329
aload 1 /* in */
iload 2 /* inPos */
invokestatic org.h2.compress.CompressLZF.first:(Ljava/nio/ByteBuffer;I)I
istore 8 /* future */
41: .line 330
iload 8 /* future */
aload 1 /* in */
iload 2 /* inPos */
invokestatic org.h2.compress.CompressLZF.next:(ILjava/nio/ByteBuffer;I)I
istore 8 /* future */
42: .line 331
aload 6 /* hashTab */
iload 8 /* future */
invokestatic org.h2.compress.CompressLZF.hash:(I)I
iload 2 /* inPos */
iinc 2 /* inPos */ 1
iastore
43: .line 332
iload 8 /* future */
aload 1 /* in */
iload 2 /* inPos */
invokestatic org.h2.compress.CompressLZF.next:(ILjava/nio/ByteBuffer;I)I
istore 8 /* future */
44: .line 333
aload 6 /* hashTab */
iload 8 /* future */
invokestatic org.h2.compress.CompressLZF.hash:(I)I
iload 2 /* inPos */
iinc 2 /* inPos */ 1
iastore
end local 13 // int len
end local 12 // int maxLen
45: .line 334
goto 52
46: .line 336
StackMap locals:
StackMap stack:
aload 3 /* out */
iload 4 /* outPos */
iinc 4 /* outPos */ 1
aload 1 /* in */
iload 2 /* inPos */
iinc 2 /* inPos */ 1
invokevirtual java.nio.ByteBuffer.get:(I)B
bastore
47: .line 337
iinc 7 /* literals */ 1
48: .line 340
iload 7 /* literals */
bipush 32
if_icmpne 52
49: .line 341
aload 3 /* out */
iload 4 /* outPos */
iload 7 /* literals */
isub
iconst_1
isub
iload 7 /* literals */
iconst_1
isub
i2b
bastore
50: .line 342
iconst_0
istore 7 /* literals */
51: .line 345
iinc 4 /* outPos */ 1
end local 11 // int ref
end local 10 // int off
end local 9 // byte p2
52: .line 276
StackMap locals:
StackMap stack:
iload 2 /* inPos */
iload 5 /* inLen */
iconst_4
isub
if_icmplt 8
53: .line 350
goto 60
54: .line 351
StackMap locals:
StackMap stack:
aload 3 /* out */
iload 4 /* outPos */
iinc 4 /* outPos */ 1
aload 1 /* in */
iload 2 /* inPos */
iinc 2 /* inPos */ 1
invokevirtual java.nio.ByteBuffer.get:(I)B
bastore
55: .line 352
iinc 7 /* literals */ 1
56: .line 353
iload 7 /* literals */
bipush 32
if_icmpne 60
57: .line 354
aload 3 /* out */
iload 4 /* outPos */
iload 7 /* literals */
isub
iconst_1
isub
iload 7 /* literals */
iconst_1
isub
i2b
bastore
58: .line 355
iconst_0
istore 7 /* literals */
59: .line 356
iinc 4 /* outPos */ 1
60: .line 350
StackMap locals:
StackMap stack:
iload 2 /* inPos */
iload 5 /* inLen */
if_icmplt 54
61: .line 360
aload 3 /* out */
iload 4 /* outPos */
iload 7 /* literals */
isub
iconst_1
isub
iload 7 /* literals */
iconst_1
isub
i2b
bastore
62: .line 361
iload 7 /* literals */
ifne 64
63: .line 362
iinc 4 /* outPos */ -1
64: .line 364
StackMap locals:
StackMap stack:
iload 4 /* outPos */
ireturn
end local 8 // int future
end local 7 // int literals
end local 6 // int[] hashTab
end local 5 // int inLen
end local 4 // int outPos
end local 3 // byte[] out
end local 2 // int inPos
end local 1 // java.nio.ByteBuffer in
end local 0 // org.h2.compress.CompressLZF this
LocalVariableTable:
Start End Slot Name Signature
0 65 0 this Lorg/h2/compress/CompressLZF;
0 65 1 in Ljava/nio/ByteBuffer;
0 65 2 inPos I
0 65 3 out [B
0 65 4 outPos I
1 65 5 inLen I
4 65 6 hashTab [I
5 65 7 literals I
7 65 8 future I
9 52 9 p2 B
11 52 10 off I
12 52 11 ref I
20 45 12 maxLen I
28 45 13 len I
MethodParameters:
Name Flags
in
inPos
out
outPos
public void expand(byte[], int, int, byte[], int, int);
descriptor: ([BII[BII)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=10, args_size=7
start local 0 // org.h2.compress.CompressLZF this
start local 1 // byte[] in
start local 2 // int inPos
start local 3 // int inLen
start local 4 // byte[] out
start local 5 // int outPos
start local 6 // int outLen
0: .line 371
iload 2 /* inPos */
iflt 1
iload 5 /* outPos */
iflt 1
iload 6 /* outLen */
ifge 2
1: .line 372
StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
invokespecial java.lang.IllegalArgumentException.<init>:()V
athrow
2: .line 375
StackMap locals:
StackMap stack:
aload 1 /* in */
iload 2 /* inPos */
iinc 2 /* inPos */ 1
baload
sipush 255
iand
istore 7 /* ctrl */
start local 7 // int ctrl
3: .line 376
iload 7 /* ctrl */
bipush 32
if_icmpge 9
4: .line 378
iinc 7 /* ctrl */ 1
5: .line 383
aload 1 /* in */
iload 2 /* inPos */
aload 4 /* out */
iload 5 /* outPos */
iload 7 /* ctrl */
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
6: .line 384
iload 5 /* outPos */
iload 7 /* ctrl */
iadd
istore 5 /* outPos */
7: .line 385
iload 2 /* inPos */
iload 7 /* ctrl */
iadd
istore 2 /* inPos */
8: .line 386
goto 23
9: .line 389
StackMap locals: int
StackMap stack:
iload 7 /* ctrl */
iconst_5
ishr
istore 8 /* len */
start local 8 // int len
10: .line 391
iload 8 /* len */
bipush 7
if_icmpne 12
11: .line 392
iload 8 /* len */
aload 1 /* in */
iload 2 /* inPos */
iinc 2 /* inPos */ 1
baload
sipush 255
iand
iadd
istore 8 /* len */
12: .line 396
StackMap locals: int
StackMap stack:
iinc 8 /* len */ 2
13: .line 400
iload 7 /* ctrl */
bipush 31
iand
bipush 8
ishl
ineg
iconst_1
isub
istore 7 /* ctrl */
14: .line 403
iload 7 /* ctrl */
aload 1 /* in */
iload 2 /* inPos */
iinc 2 /* inPos */ 1
baload
sipush 255
iand
isub
istore 7 /* ctrl */
15: .line 407
iload 7 /* ctrl */
iload 5 /* outPos */
iadd
istore 7 /* ctrl */
16: .line 408
iload 5 /* outPos */
iload 8 /* len */
iadd
aload 4 /* out */
arraylength
if_icmplt 18
17: .line 410
new java.lang.ArrayIndexOutOfBoundsException
dup
invokespecial java.lang.ArrayIndexOutOfBoundsException.<init>:()V
athrow
18: .line 412
StackMap locals:
StackMap stack:
iconst_0
istore 9 /* i */
start local 9 // int i
19: goto 22
20: .line 413
StackMap locals: int
StackMap stack:
aload 4 /* out */
iload 5 /* outPos */
iinc 5 /* outPos */ 1
aload 4 /* out */
iload 7 /* ctrl */
iinc 7 /* ctrl */ 1
baload
bastore
21: .line 412
iinc 9 /* i */ 1
StackMap locals:
StackMap stack:
22: iload 9 /* i */
iload 8 /* len */
if_icmplt 20
end local 9 // int i
end local 8 // int len
end local 7 // int ctrl
23: .line 416
StackMap locals:
StackMap stack:
iload 5 /* outPos */
iload 6 /* outLen */
24: .line 374
if_icmplt 2
25: .line 417
return
end local 6 // int outLen
end local 5 // int outPos
end local 4 // byte[] out
end local 3 // int inLen
end local 2 // int inPos
end local 1 // byte[] in
end local 0 // org.h2.compress.CompressLZF this
LocalVariableTable:
Start End Slot Name Signature
0 26 0 this Lorg/h2/compress/CompressLZF;
0 26 1 in [B
0 26 2 inPos I
0 26 3 inLen I
0 26 4 out [B
0 26 5 outPos I
0 26 6 outLen I
3 23 7 ctrl I
10 23 8 len I
19 23 9 i I
MethodParameters:
Name Flags
in
inPos
inLen
out
outPos
outLen
public static void expand(java.nio.ByteBuffer, java.nio.ByteBuffer);
descriptor: (Ljava/nio/ByteBuffer;Ljava/nio/ByteBuffer;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=5, args_size=2
start local 0 // java.nio.ByteBuffer in
start local 1 // java.nio.ByteBuffer out
0: .line 427
StackMap locals:
StackMap stack:
aload 0 /* in */
invokevirtual java.nio.ByteBuffer.get:()B
sipush 255
iand
istore 2 /* ctrl */
start local 2 // int ctrl
1: .line 428
iload 2 /* ctrl */
bipush 32
if_icmpge 9
2: .line 430
iinc 2 /* ctrl */ 1
3: .line 433
iconst_0
istore 3 /* i */
start local 3 // int i
4: goto 7
5: .line 434
StackMap locals: int int
StackMap stack:
aload 1 /* out */
aload 0 /* in */
invokevirtual java.nio.ByteBuffer.get:()B
invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
pop
6: .line 433
iinc 3 /* i */ 1
StackMap locals:
StackMap stack:
7: iload 3 /* i */
iload 2 /* ctrl */
if_icmplt 5
end local 3 // int i
8: .line 436
goto 21
9: .line 439
StackMap locals:
StackMap stack:
iload 2 /* ctrl */
iconst_5
ishr
istore 3 /* len */
start local 3 // int len
10: .line 441
iload 3 /* len */
bipush 7
if_icmpne 12
11: .line 442
iload 3 /* len */
aload 0 /* in */
invokevirtual java.nio.ByteBuffer.get:()B
sipush 255
iand
iadd
istore 3 /* len */
12: .line 446
StackMap locals: int
StackMap stack:
iinc 3 /* len */ 2
13: .line 450
iload 2 /* ctrl */
bipush 31
iand
bipush 8
ishl
ineg
iconst_1
isub
istore 2 /* ctrl */
14: .line 453
iload 2 /* ctrl */
aload 0 /* in */
invokevirtual java.nio.ByteBuffer.get:()B
sipush 255
iand
isub
istore 2 /* ctrl */
15: .line 458
iload 2 /* ctrl */
aload 1 /* out */
invokevirtual java.nio.ByteBuffer.position:()I
iadd
istore 2 /* ctrl */
16: .line 459
iconst_0
istore 4 /* i */
start local 4 // int i
17: goto 20
18: .line 460
StackMap locals: int
StackMap stack:
aload 1 /* out */
aload 1 /* out */
iload 2 /* ctrl */
iinc 2 /* ctrl */ 1
invokevirtual java.nio.ByteBuffer.get:(I)B
invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
pop
19: .line 459
iinc 4 /* i */ 1
StackMap locals:
StackMap stack:
20: iload 4 /* i */
iload 3 /* len */
if_icmplt 18
end local 4 // int i
end local 3 // int len
end local 2 // int ctrl
21: .line 463
StackMap locals:
StackMap stack:
aload 1 /* out */
invokevirtual java.nio.ByteBuffer.position:()I
aload 1 /* out */
invokevirtual java.nio.ByteBuffer.capacity:()I
22: .line 426
if_icmplt 0
23: .line 464
return
end local 1 // java.nio.ByteBuffer out
end local 0 // java.nio.ByteBuffer in
LocalVariableTable:
Start End Slot Name Signature
0 24 0 in Ljava/nio/ByteBuffer;
0 24 1 out Ljava/nio/ByteBuffer;
1 21 2 ctrl I
4 8 3 i I
10 21 3 len I
17 21 4 i I
MethodParameters:
Name Flags
in
out
public int getAlgorithm();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 // org.h2.compress.CompressLZF this
0: .line 468
iconst_1
ireturn
end local 0 // org.h2.compress.CompressLZF this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/h2/compress/CompressLZF;
}
SourceFile: "CompressLZF.java"