public final class test.TestScannerPerf
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: test.TestScannerPerf
super_class: java.lang.Object
{
static final int INT_AMP;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 38
static final int INT_LT;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 60
static final int INT_RBRACKET;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 93
static final int INT_SPACE;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 32
static final int INT_TAB;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 9
static final int INT_CR;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 13
static final int INT_LF;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 10
static final byte BYTE_LF;
descriptor: B
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 10
static final byte BYTE_NULL;
descriptor: B
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 0
final int mRepCount;
descriptor: I
flags: (0x0010) ACC_FINAL
int mTmpChar;
descriptor: I
flags: (0x0000)
final byte[] mData;
descriptor: [B
flags: (0x0010) ACC_FINAL
final byte[] mInputBuffer;
descriptor: [B
flags: (0x0010) ACC_FINAL
final char[] mOutputBuffer;
descriptor: [C
flags: (0x0010) ACC_FINAL
static final int MB_CODE_BASE;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 5
static final int[] CHAR_TYPES;
descriptor: [I
flags: (0x0018) ACC_STATIC, ACC_FINAL
java.io.InputStream mIn;
descriptor: Ljava/io/InputStream;
flags: (0x0000)
int mLineNr;
descriptor: I
flags: (0x0000)
int mByteCount;
descriptor: I
flags: (0x0000)
int mTagCount;
descriptor: I
flags: (0x0000)
int mEntityCount;
descriptor: I
flags: (0x0000)
int mBracketCount;
descriptor: I
flags: (0x0000)
int mInputPtr;
descriptor: I
flags: (0x0000)
int mInputLen;
descriptor: I
flags: (0x0000)
int mTmpType;
descriptor: I
flags: (0x0000)
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=3, args_size=0
0: sipush 256
newarray 10
putstatic test.TestScannerPerf.CHAR_TYPES:[I
1: sipush 128
istore 1
start local 1 2: goto 16
3: StackMap locals: top int
StackMap stack:
iload 1
istore 2
start local 2 4: iload 2
sipush 224
iand
sipush 192
if_icmpne 7
5: bipush 6
istore 0
start local 0 6: goto 14
end local 0 StackMap locals: int
StackMap stack:
7: iload 2
sipush 240
iand
sipush 224
if_icmpne 10
8: bipush 7
istore 0
start local 0 9: goto 14
end local 0 StackMap locals:
StackMap stack:
10: iload 2
sipush 248
iand
sipush 240
if_icmpne 13
11: bipush 8
istore 0
start local 0 12: goto 14
end local 0 13: StackMap locals:
StackMap stack:
iconst_1
istore 0
start local 0 14: StackMap locals: int int int
StackMap stack:
getstatic test.TestScannerPerf.CHAR_TYPES:[I
iload 2
iload 0
iastore
end local 2 15: iinc 1 1
end local 0 StackMap locals: top int
StackMap stack:
16: iload 1
sipush 256
if_icmplt 3
end local 1 17: iconst_0
istore 1
start local 1 18: goto 21
19: StackMap locals:
StackMap stack:
getstatic test.TestScannerPerf.CHAR_TYPES:[I
iload 1
iconst_1
iastore
20: iinc 1 1
StackMap locals:
StackMap stack:
21: iload 1
bipush 32
if_icmplt 19
end local 1 22: getstatic test.TestScannerPerf.CHAR_TYPES:[I
bipush 13
iconst_2
iastore
23: getstatic test.TestScannerPerf.CHAR_TYPES:[I
bipush 10
iconst_2
iastore
24: getstatic test.TestScannerPerf.CHAR_TYPES:[I
bipush 9
iconst_0
iastore
25: getstatic test.TestScannerPerf.CHAR_TYPES:[I
bipush 60
iconst_3
iastore
26: getstatic test.TestScannerPerf.CHAR_TYPES:[I
bipush 38
iconst_4
iastore
27: getstatic test.TestScannerPerf.CHAR_TYPES:[I
bipush 93
iconst_5
iastore
28: return
LocalVariableTable:
Start End Slot Name Signature
6 7 0 code I
9 10 0 code I
12 13 0 code I
14 16 0 code I
2 17 1 i I
4 15 2 c I
18 22 1 i I
public void <init>(byte[], int);
descriptor: ([BI)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
iconst_0
putfield test.TestScannerPerf.mTmpChar:I
2: aload 0
sipush 4000
newarray 8
putfield test.TestScannerPerf.mInputBuffer:[B
3: aload 0
sipush 2000
newarray 5
putfield test.TestScannerPerf.mOutputBuffer:[C
4: aload 0
iconst_0
putfield test.TestScannerPerf.mTmpType:I
5: aload 0
aload 1
putfield test.TestScannerPerf.mData:[B
6: aload 0
iload 2
putfield test.TestScannerPerf.mRepCount:I
7: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Ltest/TestScannerPerf;
0 8 1 data [B
0 8 2 repCount I
MethodParameters:
Name Flags
data
repCount
public void test();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=7, args_size=1
start local 0 0: iconst_0
istore 1
start local 1 1: aload 0
new java.io.ByteArrayInputStream
dup
aload 0
getfield test.TestScannerPerf.mData:[B
invokespecial java.io.ByteArrayInputStream.<init>:([B)V
putfield test.TestScannerPerf.mIn:Ljava/io/InputStream;
2: StackMap locals: int
StackMap stack:
invokestatic java.lang.System.currentTimeMillis:()J
lstore 2
start local 2 3: ldc "[null]"
astore 4
start local 4 4: iconst_0
istore 5
start local 5 5: iload 1
iconst_3
irem
ifne 7
6: getstatic java.lang.System.out:Ljava/io/PrintStream;
invokevirtual java.io.PrintStream.println:()V
7: StackMap locals: long java.lang.String int
StackMap stack:
iconst_0
istore 6
start local 6 8: goto 25
9: StackMap locals: int
StackMap stack:
aload 0
getfield test.TestScannerPerf.mIn:Ljava/io/InputStream;
invokevirtual java.io.InputStream.reset:()V
10: aload 0
iconst_0
putfield test.TestScannerPerf.mLineNr:I
11: aload 0
iconst_0
putfield test.TestScannerPerf.mTagCount:I
12: aload 0
iconst_0
putfield test.TestScannerPerf.mByteCount:I
13: iload 1
iconst_3
irem
tableswitch { // 0 - 2
0: 14
1: 17
2: 20
default: 23
}
14: StackMap locals:
StackMap stack:
ldc "[Scanner-code]"
astore 4
15: iload 5
aload 0
invokevirtual test.TestScannerPerf.testScannerCode:()I
iadd
istore 5
16: goto 24
17: StackMap locals:
StackMap stack:
ldc "[Scanner-int-arr]"
astore 4
18: iload 5
aload 0
invokevirtual test.TestScannerPerf.testScannerInts:()I
iadd
istore 5
19: goto 24
20: StackMap locals:
StackMap stack:
ldc "[Scanner-int-arr2]"
astore 4
21: iload 5
aload 0
invokevirtual test.TestScannerPerf.testScannerInts2:()I
iadd
istore 5
22: goto 24
23: StackMap locals:
StackMap stack:
new java.lang.Error
dup
new java.lang.StringBuilder
dup
ldc "Unexpected round, #"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 6
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
24: StackMap locals:
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
25: iload 6
aload 0
getfield test.TestScannerPerf.mRepCount:I
if_icmplt 9
end local 6 26: invokestatic java.lang.System.currentTimeMillis:()J
lload 2
lsub
lstore 2
27: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
aload 4
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " -> "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
lload 2
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
ldc " msecs (total "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 5
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
28: ldc ", byte count 0x"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield test.TestScannerPerf.mByteCount:I
invokestatic java.lang.Integer.toHexString:(I)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ")"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
29: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
30: ldc 200
invokestatic java.lang.Thread.sleep:(J)V
31: goto 33
StackMap locals: test.TestScannerPerf int long java.lang.String int
StackMap stack: java.lang.Exception
32: pop
33: StackMap locals:
StackMap stack:
invokestatic java.lang.System.gc:()V
34: ldc 200
invokestatic java.lang.Thread.sleep:(J)V
35: goto 37
StackMap locals:
StackMap stack: java.lang.Exception
36: pop
end local 5 end local 4 end local 2 37: StackMap locals:
StackMap stack:
iinc 1 1
goto 2
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 38 0 this Ltest/TestScannerPerf;
1 38 1 round I
3 37 2 now J
4 37 4 msg Ljava/lang/String;
5 37 5 total I
8 26 6 i I
Exception table:
from to target type
30 31 32 Class java.lang.Exception
34 35 36 Class java.lang.Exception
Exceptions:
throws java.io.IOException
private int testScannerCode();
descriptor: ()I
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=5, args_size=1
start local 0 0: aload 0
getfield test.TestScannerPerf.mOutputBuffer:[C
astore 1
start local 1 1: iconst_0
istore 2
start local 2 2: iconst_0
istore 3
start local 3 3: aload 0
iconst_0
putfield test.TestScannerPerf.mInputLen:I
4: aload 0
iconst_0
putfield test.TestScannerPerf.mInputPtr:I
5: StackMap locals: char[] int int
StackMap stack:
aload 0
getfield test.TestScannerPerf.mInputPtr:I
istore 4
start local 4 6: StackMap locals: int
StackMap stack:
iload 4
aload 0
getfield test.TestScannerPerf.mInputLen:I
if_icmplt 10
7: aload 0
invokevirtual test.TestScannerPerf.loadMoreBytes:()Z
ifne 9
8: goto 46
9: StackMap locals:
StackMap stack:
aload 0
getfield test.TestScannerPerf.mInputPtr:I
istore 4
10: StackMap locals:
StackMap stack:
aload 0
getfield test.TestScannerPerf.mInputBuffer:[B
iload 4
iinc 4 1
baload
istore 3
11: iload 3
bipush 93
if_icmpgt 31
12: iload 3
ifge 14
13: goto 35
14: StackMap locals:
StackMap stack:
iload 3
bipush 32
if_icmpge 23
15: iload 3
bipush 13
if_icmpne 18
16: aload 0
dup
getfield test.TestScannerPerf.mLineNr:I
iconst_1
iadd
putfield test.TestScannerPerf.mLineNr:I
17: goto 31
StackMap locals:
StackMap stack:
18: iload 3
bipush 10
if_icmpne 21
19: aload 0
dup
getfield test.TestScannerPerf.mLineNr:I
iconst_1
iadd
putfield test.TestScannerPerf.mLineNr:I
20: goto 31
StackMap locals:
StackMap stack:
21: iload 3
bipush 9
if_icmpeq 31
22: new java.lang.Error
dup
invokespecial java.lang.Error.<init>:()V
athrow
23: StackMap locals:
StackMap stack:
iload 3
bipush 60
if_icmpne 26
24: aload 0
dup
getfield test.TestScannerPerf.mTagCount:I
iconst_1
iadd
putfield test.TestScannerPerf.mTagCount:I
25: goto 31
StackMap locals:
StackMap stack:
26: iload 3
bipush 38
if_icmpne 29
27: aload 0
dup
getfield test.TestScannerPerf.mEntityCount:I
iconst_1
iadd
putfield test.TestScannerPerf.mEntityCount:I
28: goto 31
StackMap locals:
StackMap stack:
29: iload 3
bipush 93
if_icmpne 31
30: aload 0
dup
getfield test.TestScannerPerf.mBracketCount:I
iconst_1
iadd
putfield test.TestScannerPerf.mBracketCount:I
31: StackMap locals:
StackMap stack:
iload 2
aload 1
arraylength
if_icmplt 33
32: iconst_0
istore 2
33: StackMap locals:
StackMap stack:
aload 1
iload 2
iinc 2 1
iload 3
i2c
castore
34: goto 6
35: StackMap locals:
StackMap stack:
aload 0
iload 3
iload 4
invokevirtual test.TestScannerPerf.decodeMultiByteChar:(II)I
istore 3
36: iload 3
ifge 42
37: iload 2
aload 1
arraylength
if_icmplt 39
38: iconst_0
istore 2
39: StackMap locals:
StackMap stack:
iload 3
ineg
istore 3
40: aload 1
iload 2
iinc 2 1
ldc 55296
iload 3
bipush 10
ishr
ior
i2c
castore
41: ldc 56320
iload 3
sipush 1023
iand
ior
istore 3
42: StackMap locals:
StackMap stack:
iload 2
aload 1
arraylength
if_icmplt 44
43: iconst_0
istore 2
44: StackMap locals:
StackMap stack:
aload 1
iload 2
iinc 2 1
iload 3
i2c
castore
end local 4 45: goto 5
46: StackMap locals:
StackMap stack:
aload 0
getfield test.TestScannerPerf.mByteCount:I
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 47 0 this Ltest/TestScannerPerf;
1 47 1 outBuf [C
2 47 2 outPtr I
3 47 3 c I
6 45 4 ptr I
Exceptions:
throws java.io.IOException
private int testScannerInts();
descriptor: ()I
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=8, args_size=1
start local 0 0: iconst_0
istore 1
start local 1 1: iconst_0
istore 2
start local 2 2: getstatic test.TestScannerPerf.CHAR_TYPES:[I
astore 3
start local 3 3: aload 0
getfield test.TestScannerPerf.mInputBuffer:[B
astore 4
start local 4 4: aload 0
getfield test.TestScannerPerf.mOutputBuffer:[C
astore 5
start local 5 5: aload 0
iconst_0
putfield test.TestScannerPerf.mInputLen:I
6: aload 0
iconst_0
putfield test.TestScannerPerf.mInputPtr:I
7: StackMap locals: test.TestScannerPerf int int int[] byte[] char[]
StackMap stack:
aload 0
getfield test.TestScannerPerf.mInputPtr:I
istore 6
start local 6 8: StackMap locals: int
StackMap stack:
iload 6
aload 0
getfield test.TestScannerPerf.mInputLen:I
if_icmplt 12
9: aload 0
invokevirtual test.TestScannerPerf.loadMoreBytes:()Z
ifne 11
10: goto 46
11: StackMap locals:
StackMap stack:
aload 0
getfield test.TestScannerPerf.mInputPtr:I
istore 6
12: StackMap locals:
StackMap stack:
aload 4
iload 6
iinc 6 1
baload
sipush 255
iand
istore 2
13: aload 3
iload 2
iaload
istore 7
start local 7 14: iload 7
ifeq 31
15: iload 7
tableswitch { // 1 - 8
1: 16
2: 17
3: 23
4: 25
5: 27
6: 29
7: 29
8: 29
default: 30
}
16: StackMap locals: int
StackMap stack:
new java.lang.Error
dup
ldc "Invalid white space"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
17: StackMap locals:
StackMap stack:
iload 2
bipush 13
if_icmpne 20
18: aload 0
dup
getfield test.TestScannerPerf.mLineNr:I
iconst_1
iadd
putfield test.TestScannerPerf.mLineNr:I
19: goto 31
StackMap locals:
StackMap stack:
20: iload 2
bipush 10
if_icmpne 31
21: aload 0
dup
getfield test.TestScannerPerf.mLineNr:I
iconst_1
iadd
putfield test.TestScannerPerf.mLineNr:I
22: goto 31
23: StackMap locals:
StackMap stack:
aload 0
dup
getfield test.TestScannerPerf.mTagCount:I
iconst_1
iadd
putfield test.TestScannerPerf.mTagCount:I
24: goto 31
25: StackMap locals:
StackMap stack:
aload 0
dup
getfield test.TestScannerPerf.mEntityCount:I
iconst_1
iadd
putfield test.TestScannerPerf.mEntityCount:I
26: goto 31
27: StackMap locals:
StackMap stack:
aload 0
dup
getfield test.TestScannerPerf.mBracketCount:I
iconst_1
iadd
putfield test.TestScannerPerf.mBracketCount:I
28: goto 31
29: StackMap locals:
StackMap stack:
goto 35
30: StackMap locals:
StackMap stack:
new java.lang.Error
dup
invokespecial java.lang.Error.<init>:()V
athrow
31: StackMap locals:
StackMap stack:
iload 1
aload 5
arraylength
if_icmplt 33
32: iconst_0
istore 1
33: StackMap locals:
StackMap stack:
aload 5
iload 1
iinc 1 1
iload 2
i2c
castore
end local 7 34: goto 8
35: StackMap locals:
StackMap stack:
aload 0
iload 2
iload 6
invokevirtual test.TestScannerPerf.decodeMultiByteChar:(II)I
istore 2
36: iload 2
ifge 42
37: iload 1
aload 5
arraylength
if_icmplt 39
38: iconst_0
istore 1
39: StackMap locals:
StackMap stack:
iload 2
ineg
istore 2
40: aload 5
iload 1
iinc 1 1
ldc 55296
iload 2
bipush 10
ishr
ior
i2c
castore
41: ldc 56320
iload 2
sipush 1023
iand
ior
istore 2
42: StackMap locals:
StackMap stack:
iload 1
aload 5
arraylength
if_icmplt 44
43: iconst_0
istore 1
44: StackMap locals:
StackMap stack:
aload 5
iload 1
iinc 1 1
iload 2
i2c
castore
end local 6 45: goto 7
46: StackMap locals:
StackMap stack:
aload 0
getfield test.TestScannerPerf.mByteCount: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 47 0 this Ltest/TestScannerPerf;
1 47 1 outPtr I
2 47 2 c I
3 47 3 TYPES [I
4 47 4 inputBuffer [B
5 47 5 outputBuffer [C
8 45 6 ptr I
14 34 7 type I
Exceptions:
throws java.io.IOException
private int testScannerInts2();
descriptor: ()I
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=9, args_size=1
start local 0 0: iconst_0
istore 1
start local 1 1: iconst_0
istore 2
start local 2 2: getstatic test.TestScannerPerf.CHAR_TYPES:[I
astore 3
start local 3 3: aload 0
getfield test.TestScannerPerf.mInputBuffer:[B
astore 4
start local 4 4: aload 0
getfield test.TestScannerPerf.mOutputBuffer:[C
astore 5
start local 5 5: aload 0
iconst_0
putfield test.TestScannerPerf.mInputLen:I
6: aload 0
iconst_0
putfield test.TestScannerPerf.mInputPtr:I
7: StackMap locals: test.TestScannerPerf int int int[] byte[] char[]
StackMap stack:
aload 0
getfield test.TestScannerPerf.mInputPtr:I
istore 6
start local 6 8: iload 6
aload 0
getfield test.TestScannerPerf.mInputLen:I
if_icmplt 12
9: aload 0
invokevirtual test.TestScannerPerf.loadMoreBytes:()Z
ifne 11
10: goto 59
11: StackMap locals: int
StackMap stack:
aload 0
getfield test.TestScannerPerf.mInputPtr:I
istore 6
12: StackMap locals:
StackMap stack:
iload 1
aload 5
arraylength
if_icmplt 15
13: aload 0
getfield test.TestScannerPerf.mOutputBuffer:[C
astore 5
14: iconst_0
istore 1
15: StackMap locals:
StackMap stack:
aload 0
getfield test.TestScannerPerf.mInputLen:I
istore 7
start local 7 16: iload 6
aload 5
arraylength
iload 1
isub
iadd
istore 8
start local 8 17: iload 8
iload 7
if_icmpge 25
18: iload 8
istore 7
end local 8 19: goto 25
20: StackMap locals: int
StackMap stack:
aload 4
iload 6
iinc 6 1
baload
sipush 255
iand
istore 2
21: aload 3
iload 2
iaload
ifeq 24
22: aload 0
iload 6
putfield test.TestScannerPerf.mInputPtr:I
23: goto 28
24: StackMap locals:
StackMap stack:
aload 5
iload 1
iinc 1 1
iload 2
i2c
castore
25: StackMap locals:
StackMap stack:
iload 6
iload 7
if_icmplt 20
26: aload 0
iload 6
putfield test.TestScannerPerf.mInputPtr:I
end local 7 end local 6 27: goto 7
28: StackMap locals:
StackMap stack:
aload 3
iload 2
iaload
tableswitch { // 1 - 8
1: 29
2: 30
3: 36
4: 38
5: 40
6: 42
7: 44
8: 46
default: 53
}
29: StackMap locals:
StackMap stack:
new java.lang.Error
dup
ldc "Invalid white space"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
30: StackMap locals:
StackMap stack:
iload 2
bipush 13
if_icmpne 33
31: aload 0
dup
getfield test.TestScannerPerf.mLineNr:I
iconst_1
iadd
putfield test.TestScannerPerf.mLineNr:I
32: goto 54
StackMap locals:
StackMap stack:
33: iload 2
bipush 10
if_icmpne 54
34: aload 0
dup
getfield test.TestScannerPerf.mLineNr:I
iconst_1
iadd
putfield test.TestScannerPerf.mLineNr:I
35: goto 54
36: StackMap locals:
StackMap stack:
aload 0
dup
getfield test.TestScannerPerf.mTagCount:I
iconst_1
iadd
putfield test.TestScannerPerf.mTagCount:I
37: goto 54
38: StackMap locals:
StackMap stack:
aload 0
dup
getfield test.TestScannerPerf.mEntityCount:I
iconst_1
iadd
putfield test.TestScannerPerf.mEntityCount:I
39: goto 54
40: StackMap locals:
StackMap stack:
aload 0
dup
getfield test.TestScannerPerf.mBracketCount:I
iconst_1
iadd
putfield test.TestScannerPerf.mBracketCount:I
41: goto 54
42: StackMap locals:
StackMap stack:
aload 0
iload 2
aload 0
getfield test.TestScannerPerf.mInputPtr:I
invokevirtual test.TestScannerPerf.decodeMultiByteChar:(II)I
istore 2
43: goto 54
44: StackMap locals:
StackMap stack:
aload 0
iload 2
aload 0
getfield test.TestScannerPerf.mInputPtr:I
invokevirtual test.TestScannerPerf.decodeMultiByteChar:(II)I
istore 2
45: goto 54
46: StackMap locals:
StackMap stack:
aload 0
iload 2
aload 0
getfield test.TestScannerPerf.mInputPtr:I
invokevirtual test.TestScannerPerf.decodeMultiByteChar:(II)I
istore 2
47: iload 1
aload 5
arraylength
if_icmplt 50
48: aload 0
getfield test.TestScannerPerf.mOutputBuffer:[C
astore 5
49: iconst_0
istore 1
50: StackMap locals:
StackMap stack:
aload 5
iload 1
iinc 1 1
ldc 55296
iload 2
bipush 10
ishr
ior
i2c
castore
51: ldc 56320
iload 2
sipush 1023
iand
ior
istore 2
52: goto 54
53: StackMap locals:
StackMap stack:
new java.lang.Error
dup
invokespecial java.lang.Error.<init>:()V
athrow
54: StackMap locals:
StackMap stack:
iload 1
aload 5
arraylength
if_icmplt 57
55: aload 0
getfield test.TestScannerPerf.mOutputBuffer:[C
astore 5
56: iconst_0
istore 1
57: StackMap locals:
StackMap stack:
aload 5
iload 1
iinc 1 1
iload 2
i2c
castore
58: goto 7
59: StackMap locals:
StackMap stack:
aload 0
getfield test.TestScannerPerf.mByteCount: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 60 0 this Ltest/TestScannerPerf;
1 60 1 outPtr I
2 60 2 c I
3 60 3 TYPES [I
4 60 4 inputBuffer [B
5 60 5 outputBuffer [C
8 27 6 ptr I
16 27 7 max I
17 19 8 max2 I
Exceptions:
throws java.io.IOException
private final boolean loadMoreBytes();
descriptor: ()Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
dup
getfield test.TestScannerPerf.mByteCount:I
aload 0
getfield test.TestScannerPerf.mInputLen:I
iadd
putfield test.TestScannerPerf.mByteCount:I
1: aload 0
iconst_0
putfield test.TestScannerPerf.mInputPtr:I
2: aload 0
getfield test.TestScannerPerf.mIn:Ljava/io/InputStream;
aload 0
getfield test.TestScannerPerf.mInputBuffer:[B
invokevirtual java.io.InputStream.read:([B)I
istore 1
start local 1 3: iload 1
ifge 6
4: aload 0
iconst_0
putfield test.TestScannerPerf.mInputLen:I
5: iconst_0
ireturn
6: StackMap locals: int
StackMap stack:
aload 0
iload 1
putfield test.TestScannerPerf.mInputLen:I
7: iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Ltest/TestScannerPerf;
3 8 1 count I
Exceptions:
throws java.io.IOException
private final void loadMoreBytesGuaranteed();
descriptor: ()V
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual test.TestScannerPerf.loadMoreBytes:()Z
ifne 2
1: new java.lang.Error
dup
invokespecial java.lang.Error.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ltest/TestScannerPerf;
Exceptions:
throws java.io.IOException
private final int decodeMultiByteChar(int, int);
descriptor: (II)I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Code:
stack=5, locals=5, args_size=3
start local 0 start local 1 start local 2 0: iload 1
sipush 224
iand
sipush 192
if_icmpne 4
1: iload 1
bipush 31
iand
istore 1
2: iconst_1
istore 3
start local 3 3: goto 13
end local 3 StackMap locals:
StackMap stack:
4: iload 1
sipush 240
iand
sipush 224
if_icmpne 8
5: iload 1
bipush 15
iand
istore 1
6: iconst_2
istore 3
start local 3 7: goto 13
end local 3 StackMap locals:
StackMap stack:
8: iload 1
sipush 248
iand
sipush 240
if_icmpne 12
9: iload 1
bipush 7
iand
istore 1
10: iconst_3
istore 3
start local 3 11: goto 13
end local 3 12: StackMap locals:
StackMap stack:
new java.lang.Error
dup
new java.lang.StringBuilder
dup
ldc "Unexpected multi-byte first byte 0x"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 1
invokestatic java.lang.Integer.toHexString:(I)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
start local 3 13: StackMap locals: int
StackMap stack:
iload 2
aload 0
getfield test.TestScannerPerf.mInputLen:I
if_icmplt 16
14: aload 0
invokevirtual test.TestScannerPerf.loadMoreBytesGuaranteed:()V
15: aload 0
getfield test.TestScannerPerf.mInputPtr:I
istore 2
16: StackMap locals:
StackMap stack:
aload 0
getfield test.TestScannerPerf.mInputBuffer:[B
iload 2
iinc 2 1
baload
istore 4
start local 4 17: iload 4
sipush 192
iand
sipush 128
if_icmpeq 19
18: new java.lang.Error
dup
invokespecial java.lang.Error.<init>:()V
athrow
19: StackMap locals: int
StackMap stack:
iload 1
bipush 6
ishl
iload 4
bipush 63
iand
ior
istore 1
20: iload 3
iconst_1
if_icmple 37
21: iload 2
aload 0
getfield test.TestScannerPerf.mInputLen:I
if_icmplt 24
22: aload 0
invokevirtual test.TestScannerPerf.loadMoreBytesGuaranteed:()V
23: aload 0
getfield test.TestScannerPerf.mInputPtr:I
istore 2
24: StackMap locals:
StackMap stack:
aload 0
getfield test.TestScannerPerf.mInputBuffer:[B
iload 2
iinc 2 1
baload
istore 4
25: iload 4
sipush 192
iand
sipush 128
if_icmpeq 27
26: new java.lang.Error
dup
invokespecial java.lang.Error.<init>:()V
athrow
27: StackMap locals:
StackMap stack:
iload 1
bipush 6
ishl
iload 4
bipush 63
iand
ior
istore 1
28: iload 3
iconst_2
if_icmple 37
29: iload 2
aload 0
getfield test.TestScannerPerf.mInputLen:I
if_icmplt 32
30: aload 0
invokevirtual test.TestScannerPerf.loadMoreBytesGuaranteed:()V
31: aload 0
getfield test.TestScannerPerf.mInputPtr:I
istore 2
32: StackMap locals:
StackMap stack:
aload 0
getfield test.TestScannerPerf.mInputBuffer:[B
iload 2
iinc 2 1
baload
istore 4
33: iload 4
sipush 192
iand
sipush 128
if_icmpeq 35
34: new java.lang.Error
dup
invokespecial java.lang.Error.<init>:()V
athrow
35: StackMap locals:
StackMap stack:
iload 1
bipush 6
ishl
iload 4
bipush 63
iand
ior
istore 1
36: iload 1
ineg
ireturn
37: StackMap locals:
StackMap stack:
aload 0
iload 2
putfield test.TestScannerPerf.mInputPtr:I
38: iload 1
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 39 0 this Ltest/TestScannerPerf;
0 39 1 c I
0 39 2 ptr I
3 4 3 needed I
7 8 3 needed I
11 12 3 needed I
13 39 3 needed I
17 39 4 d I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
c
ptr
private static byte[] readData(java.io.File);
descriptor: (Ljava/io/File;)[B
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=6, args_size=1
start local 0 0: aload 0
invokevirtual java.io.File.length:()J
l2i
istore 1
start local 1 1: iload 1
newarray 8
astore 2
start local 2 2: iconst_0
istore 3
start local 3 3: new java.io.FileInputStream
dup
aload 0
invokespecial java.io.FileInputStream.<init>:(Ljava/io/File;)V
astore 4
start local 4 4: goto 8
5: StackMap locals: java.io.File int byte[] int java.io.FileInputStream
StackMap stack:
aload 4
aload 2
iload 3
iload 1
iload 3
isub
invokevirtual java.io.FileInputStream.read:([BII)I
istore 5
start local 5 6: iload 3
iload 5
iadd
istore 3
7: iload 1
iload 5
isub
istore 1
end local 5 8: StackMap locals:
StackMap stack:
iload 1
ifgt 5
9: aload 4
invokevirtual java.io.FileInputStream.close:()V
10: aload 2
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 f Ljava/io/File;
1 11 1 len I
2 11 2 data [B
3 11 3 offset I
4 11 4 fis Ljava/io/FileInputStream;
6 8 5 count I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
f
public static void main(java.lang.String[]);
descriptor: ([Ljava/lang/String;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=5, args_size=1
start local 0 0: aload 0
arraylength
iconst_1
if_icmpeq 3
1: getstatic java.lang.System.err:Ljava/io/PrintStream;
ldc "Usage: java ... [input file]"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
2: iconst_1
invokestatic java.lang.System.exit:(I)V
3: StackMap locals:
StackMap stack:
new java.io.File
dup
aload 0
iconst_0
aaload
invokespecial java.io.File.<init>:(Ljava/lang/String;)V
invokestatic test.TestScannerPerf.readData:(Ljava/io/File;)[B
astore 1
start local 1 4: aload 1
arraylength
istore 2
start local 2 5: iconst_1
istore 3
start local 3 6: ldc 10000000
istore 4
start local 4 7: iload 2
iload 4
if_icmpge 9
8: iload 4
iload 2
idiv
istore 3
9: StackMap locals: java.lang.String[] byte[] int int int
StackMap stack:
getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "Ok, read in test data, "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 2
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " bytes; using "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 3
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " repetitions"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
10: new test.TestScannerPerf
dup
aload 1
iload 3
invokespecial test.TestScannerPerf.<init>:([BI)V
invokevirtual test.TestScannerPerf.test:()V
11: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 args [Ljava/lang/String;
4 12 1 data [B
5 12 2 len I
6 12 3 repCount I
7 12 4 THRESHOLD I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
args
}
SourceFile: "TestScannerPerf.java"