public class com.ctc.wstx.util.SymbolTable
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.ctc.wstx.util.SymbolTable
super_class: java.lang.Object
{
protected static final int DEFAULT_TABLE_SIZE;
descriptor: I
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
ConstantValue: 128
protected static final float DEFAULT_FILL_FACTOR;
descriptor: F
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
ConstantValue: 0.75
protected static final java.lang.String EMPTY_STRING;
descriptor: Ljava/lang/String;
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
ConstantValue: ""
protected boolean mInternStrings;
descriptor: Z
flags: (0x0004) ACC_PROTECTED
protected java.lang.String[] mSymbols;
descriptor: [Ljava/lang/String;
flags: (0x0004) ACC_PROTECTED
protected com.ctc.wstx.util.SymbolTable$Bucket[] mBuckets;
descriptor: [Lcom/ctc/wstx/util/SymbolTable$Bucket;
flags: (0x0004) ACC_PROTECTED
protected int mSize;
descriptor: I
flags: (0x0004) ACC_PROTECTED
protected int mSizeThreshold;
descriptor: I
flags: (0x0004) ACC_PROTECTED
protected int mIndexMask;
descriptor: I
flags: (0x0004) ACC_PROTECTED
protected int mThisVersion;
descriptor: I
flags: (0x0004) ACC_PROTECTED
protected boolean mDirty;
descriptor: Z
flags: (0x0004) ACC_PROTECTED
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_1
invokespecial com.ctc.wstx.util.SymbolTable.<init>:(Z)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/ctc/wstx/util/SymbolTable;
public void <init>(boolean);
descriptor: (Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
sipush 128
invokespecial com.ctc.wstx.util.SymbolTable.<init>:(ZI)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/ctc/wstx/util/SymbolTable;
0 2 1 internStrings Z
MethodParameters:
Name Flags
internStrings
public void <init>(boolean, int);
descriptor: (ZI)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
iload 1
iload 2
ldc 0.75
invokespecial com.ctc.wstx.util.SymbolTable.<init>:(ZIF)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/ctc/wstx/util/SymbolTable;
0 2 1 internStrings Z
0 2 2 initialSize I
MethodParameters:
Name Flags
internStrings
initialSize
public void <init>(boolean, int, float);
descriptor: (ZIF)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
iload 1
putfield com.ctc.wstx.util.SymbolTable.mInternStrings:Z
2: aload 0
iconst_1
putfield com.ctc.wstx.util.SymbolTable.mThisVersion:I
3: aload 0
iconst_1
putfield com.ctc.wstx.util.SymbolTable.mDirty:Z
4: iload 2
iconst_1
if_icmpge 6
5: new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "Can not use negative/zero initial size: "
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.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
6: StackMap locals: com.ctc.wstx.util.SymbolTable int int float
StackMap stack:
iconst_4
istore 4
start local 4 7: goto 9
8: StackMap locals: int
StackMap stack:
iload 4
iload 4
iadd
istore 4
9: StackMap locals:
StackMap stack:
iload 4
iload 2
if_icmplt 8
10: iload 4
istore 2
end local 4 11: aload 0
iload 2
anewarray java.lang.String
putfield com.ctc.wstx.util.SymbolTable.mSymbols:[Ljava/lang/String;
12: aload 0
iload 2
iconst_1
ishr
anewarray com.ctc.wstx.util.SymbolTable$Bucket
putfield com.ctc.wstx.util.SymbolTable.mBuckets:[Lcom/ctc/wstx/util/SymbolTable$Bucket;
13: aload 0
iload 2
iconst_1
isub
putfield com.ctc.wstx.util.SymbolTable.mIndexMask:I
14: aload 0
iconst_0
putfield com.ctc.wstx.util.SymbolTable.mSize:I
15: fload 3
ldc 0.01
fcmpg
ifge 17
16: new java.lang.IllegalArgumentException
dup
ldc "Fill factor can not be lower than 0.01."
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
17: StackMap locals:
StackMap stack:
fload 3
ldc 10.0
fcmpl
ifle 19
18: new java.lang.IllegalArgumentException
dup
ldc "Fill factor can not be higher than 10.0."
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
19: StackMap locals:
StackMap stack:
aload 0
iload 2
i2f
fload 3
fmul
f2d
ldc 0.5
dadd
d2i
putfield com.ctc.wstx.util.SymbolTable.mSizeThreshold:I
20: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 this Lcom/ctc/wstx/util/SymbolTable;
0 21 1 internStrings Z
0 21 2 initialSize I
0 21 3 fillFactor F
7 11 4 currSize I
MethodParameters:
Name Flags
internStrings
initialSize
fillFactor
private void <init>(boolean, java.lang.String[], com.ctc.wstx.util.SymbolTable$Bucket[], int, int, int, int);
descriptor: (Z[Ljava/lang/String;[Lcom/ctc/wstx/util/SymbolTable$Bucket;IIII)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=8, args_size=8
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
iload 1
putfield com.ctc.wstx.util.SymbolTable.mInternStrings:Z
2: aload 0
aload 2
putfield com.ctc.wstx.util.SymbolTable.mSymbols:[Ljava/lang/String;
3: aload 0
aload 3
putfield com.ctc.wstx.util.SymbolTable.mBuckets:[Lcom/ctc/wstx/util/SymbolTable$Bucket;
4: aload 0
iload 4
putfield com.ctc.wstx.util.SymbolTable.mSize:I
5: aload 0
iload 5
putfield com.ctc.wstx.util.SymbolTable.mSizeThreshold:I
6: aload 0
iload 6
putfield com.ctc.wstx.util.SymbolTable.mIndexMask:I
7: aload 0
iload 7
putfield com.ctc.wstx.util.SymbolTable.mThisVersion:I
8: aload 0
iconst_0
putfield com.ctc.wstx.util.SymbolTable.mDirty:Z
9: return
end local 7 end local 6 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 10 0 this Lcom/ctc/wstx/util/SymbolTable;
0 10 1 internStrings Z
0 10 2 symbols [Ljava/lang/String;
0 10 3 buckets [Lcom/ctc/wstx/util/SymbolTable$Bucket;
0 10 4 size I
0 10 5 sizeThreshold I
0 10 6 indexMask I
0 10 7 version I
MethodParameters:
Name Flags
internStrings
symbols
buckets
size
sizeThreshold
indexMask
version
public com.ctc.wstx.util.SymbolTable makeChild();
descriptor: ()Lcom/ctc/wstx/util/SymbolTable;
flags: (0x0001) ACC_PUBLIC
Code:
stack=9, locals=9, args_size=1
start local 0 0: aload 0
dup
astore 8
monitorenter
1: aload 0
getfield com.ctc.wstx.util.SymbolTable.mInternStrings:Z
istore 1
start local 1 2: aload 0
getfield com.ctc.wstx.util.SymbolTable.mSymbols:[Ljava/lang/String;
astore 2
start local 2 3: aload 0
getfield com.ctc.wstx.util.SymbolTable.mBuckets:[Lcom/ctc/wstx/util/SymbolTable$Bucket;
astore 3
start local 3 4: aload 0
getfield com.ctc.wstx.util.SymbolTable.mSize:I
istore 4
start local 4 5: aload 0
getfield com.ctc.wstx.util.SymbolTable.mSizeThreshold:I
istore 5
start local 5 6: aload 0
getfield com.ctc.wstx.util.SymbolTable.mIndexMask:I
istore 6
start local 6 7: aload 0
getfield com.ctc.wstx.util.SymbolTable.mThisVersion:I
iconst_1
iadd
istore 7
start local 7 8: aload 8
monitorexit
9: goto 12
end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 StackMap locals: com.ctc.wstx.util.SymbolTable top top top top top top top com.ctc.wstx.util.SymbolTable
StackMap stack: java.lang.Throwable
10: aload 8
monitorexit
11: athrow
start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 12: StackMap locals: com.ctc.wstx.util.SymbolTable int java.lang.String[] com.ctc.wstx.util.SymbolTable$Bucket[] int int int int
StackMap stack:
new com.ctc.wstx.util.SymbolTable
dup
iload 1
aload 2
aload 3
13: iload 4
iload 5
iload 6
iload 7
14: invokespecial com.ctc.wstx.util.SymbolTable.<init>:(Z[Ljava/lang/String;[Lcom/ctc/wstx/util/SymbolTable$Bucket;IIII)V
areturn
end local 7 end local 6 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 15 0 this Lcom/ctc/wstx/util/SymbolTable;
2 10 1 internStrings Z
12 15 1 internStrings Z
3 10 2 symbols [Ljava/lang/String;
12 15 2 symbols [Ljava/lang/String;
4 10 3 buckets [Lcom/ctc/wstx/util/SymbolTable$Bucket;
12 15 3 buckets [Lcom/ctc/wstx/util/SymbolTable$Bucket;
5 10 4 size I
12 15 4 size I
6 10 5 sizeThreshold I
12 15 5 sizeThreshold I
7 10 6 indexMask I
12 15 6 indexMask I
8 10 7 version I
12 15 7 version I
Exception table:
from to target type
1 9 10 any
10 11 10 any
public synchronized void mergeChild(com.ctc.wstx.util.SymbolTable);
descriptor: (Lcom/ctc/wstx/util/SymbolTable;)V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual com.ctc.wstx.util.SymbolTable.size:()I
aload 0
invokevirtual com.ctc.wstx.util.SymbolTable.size:()I
if_icmpgt 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
aload 1
getfield com.ctc.wstx.util.SymbolTable.mSymbols:[Ljava/lang/String;
putfield com.ctc.wstx.util.SymbolTable.mSymbols:[Ljava/lang/String;
3: aload 0
aload 1
getfield com.ctc.wstx.util.SymbolTable.mBuckets:[Lcom/ctc/wstx/util/SymbolTable$Bucket;
putfield com.ctc.wstx.util.SymbolTable.mBuckets:[Lcom/ctc/wstx/util/SymbolTable$Bucket;
4: aload 0
aload 1
getfield com.ctc.wstx.util.SymbolTable.mSize:I
putfield com.ctc.wstx.util.SymbolTable.mSize:I
5: aload 0
aload 1
getfield com.ctc.wstx.util.SymbolTable.mSizeThreshold:I
putfield com.ctc.wstx.util.SymbolTable.mSizeThreshold:I
6: aload 0
aload 1
getfield com.ctc.wstx.util.SymbolTable.mIndexMask:I
putfield com.ctc.wstx.util.SymbolTable.mIndexMask:I
7: aload 0
dup
getfield com.ctc.wstx.util.SymbolTable.mThisVersion:I
iconst_1
iadd
putfield com.ctc.wstx.util.SymbolTable.mThisVersion:I
8: aload 0
iconst_0
putfield com.ctc.wstx.util.SymbolTable.mDirty:Z
9: aload 1
iconst_0
putfield com.ctc.wstx.util.SymbolTable.mDirty:Z
10: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lcom/ctc/wstx/util/SymbolTable;
0 11 1 child Lcom/ctc/wstx/util/SymbolTable;
MethodParameters:
Name Flags
child
public void setInternStrings(boolean);
descriptor: (Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield com.ctc.wstx.util.SymbolTable.mInternStrings:Z
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/ctc/wstx/util/SymbolTable;
0 2 1 state Z
MethodParameters:
Name Flags
state
public int size();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.ctc.wstx.util.SymbolTable.mSize:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/ctc/wstx/util/SymbolTable;
public int version();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.ctc.wstx.util.SymbolTable.mThisVersion:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/ctc/wstx/util/SymbolTable;
public boolean isDirty();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.ctc.wstx.util.SymbolTable.mDirty:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/ctc/wstx/util/SymbolTable;
public boolean isDirectChildOf(com.ctc.wstx.util.SymbolTable);
descriptor: (Lcom/ctc/wstx/util/SymbolTable;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.ctc.wstx.util.SymbolTable.mThisVersion:I
aload 1
getfield com.ctc.wstx.util.SymbolTable.mThisVersion:I
iconst_1
iadd
if_icmpne 2
1: iconst_1
ireturn
2: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/ctc/wstx/util/SymbolTable;
0 3 1 t Lcom/ctc/wstx/util/SymbolTable;
MethodParameters:
Name Flags
t
public java.lang.String findSymbol(char[], int, int, int);
descriptor: ([CIII)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=8, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: iload 3
iconst_1
if_icmpge 2
1: ldc ""
areturn
2: StackMap locals:
StackMap stack:
iload 4
aload 0
getfield com.ctc.wstx.util.SymbolTable.mIndexMask:I
iand
istore 4
3: aload 0
getfield com.ctc.wstx.util.SymbolTable.mSymbols:[Ljava/lang/String;
iload 4
aaload
astore 5
start local 5 4: aload 5
ifnull 18
5: aload 5
invokevirtual java.lang.String.length:()I
iload 3
if_icmpne 13
6: iconst_0
istore 6
start local 6 7: StackMap locals: java.lang.String int
StackMap stack:
aload 5
iload 6
invokevirtual java.lang.String.charAt:(I)C
aload 1
iload 2
iload 6
iadd
caload
if_icmpeq 9
8: goto 11
9: StackMap locals:
StackMap stack:
iinc 6 1
iload 6
iload 3
10: if_icmplt 7
11: StackMap locals:
StackMap stack:
iload 6
iload 3
if_icmpne 13
12: aload 5
areturn
end local 6 13: StackMap locals:
StackMap stack:
aload 0
getfield com.ctc.wstx.util.SymbolTable.mBuckets:[Lcom/ctc/wstx/util/SymbolTable$Bucket;
iload 4
iconst_1
ishr
aaload
astore 6
start local 6 14: aload 6
ifnull 18
15: aload 6
aload 1
iload 2
iload 3
invokevirtual com.ctc.wstx.util.SymbolTable$Bucket.find:([CII)Ljava/lang/String;
astore 5
16: aload 5
ifnull 18
17: aload 5
areturn
end local 6 18: StackMap locals:
StackMap stack:
aload 0
getfield com.ctc.wstx.util.SymbolTable.mSize:I
aload 0
getfield com.ctc.wstx.util.SymbolTable.mSizeThreshold:I
if_icmplt 22
19: aload 0
invokevirtual com.ctc.wstx.util.SymbolTable.rehash:()V
20: aload 1
iload 2
iload 3
invokestatic com.ctc.wstx.util.SymbolTable.calcHash:([CII)I
aload 0
getfield com.ctc.wstx.util.SymbolTable.mIndexMask:I
iand
istore 4
21: goto 25
StackMap locals:
StackMap stack:
22: aload 0
getfield com.ctc.wstx.util.SymbolTable.mDirty:Z
ifne 25
23: aload 0
invokevirtual com.ctc.wstx.util.SymbolTable.copyArrays:()V
24: aload 0
iconst_1
putfield com.ctc.wstx.util.SymbolTable.mDirty:Z
25: StackMap locals:
StackMap stack:
aload 0
dup
getfield com.ctc.wstx.util.SymbolTable.mSize:I
iconst_1
iadd
putfield com.ctc.wstx.util.SymbolTable.mSize:I
26: new java.lang.String
dup
aload 1
iload 2
iload 3
invokespecial java.lang.String.<init>:([CII)V
astore 6
start local 6 27: aload 0
getfield com.ctc.wstx.util.SymbolTable.mInternStrings:Z
ifeq 29
28: aload 6
invokevirtual java.lang.String.intern:()Ljava/lang/String;
astore 6
29: StackMap locals: java.lang.String
StackMap stack:
aload 0
getfield com.ctc.wstx.util.SymbolTable.mSymbols:[Ljava/lang/String;
iload 4
aaload
ifnonnull 32
30: aload 0
getfield com.ctc.wstx.util.SymbolTable.mSymbols:[Ljava/lang/String;
iload 4
aload 6
aastore
31: goto 34
32: StackMap locals:
StackMap stack:
iload 4
iconst_1
ishr
istore 7
start local 7 33: aload 0
getfield com.ctc.wstx.util.SymbolTable.mBuckets:[Lcom/ctc/wstx/util/SymbolTable$Bucket;
iload 7
new com.ctc.wstx.util.SymbolTable$Bucket
dup
aload 6
aload 0
getfield com.ctc.wstx.util.SymbolTable.mBuckets:[Lcom/ctc/wstx/util/SymbolTable$Bucket;
iload 7
aaload
invokespecial com.ctc.wstx.util.SymbolTable$Bucket.<init>:(Ljava/lang/String;Lcom/ctc/wstx/util/SymbolTable$Bucket;)V
aastore
end local 7 34: StackMap locals:
StackMap stack:
aload 6
areturn
end local 6 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 35 0 this Lcom/ctc/wstx/util/SymbolTable;
0 35 1 buffer [C
0 35 2 start I
0 35 3 len I
0 35 4 hash I
4 35 5 sym Ljava/lang/String;
7 13 6 i I
14 18 6 b Lcom/ctc/wstx/util/SymbolTable$Bucket;
27 35 6 newSymbol Ljava/lang/String;
33 34 7 bix I
MethodParameters:
Name Flags
buffer
start
len
hash
public java.lang.String findSymbolIfExists(char[], int, int, int);
descriptor: ([CIII)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=7, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: iload 3
iconst_1
if_icmpge 2
1: ldc ""
areturn
2: StackMap locals:
StackMap stack:
iload 4
aload 0
getfield com.ctc.wstx.util.SymbolTable.mIndexMask:I
iand
istore 4
3: aload 0
getfield com.ctc.wstx.util.SymbolTable.mSymbols:[Ljava/lang/String;
iload 4
aaload
astore 5
start local 5 4: aload 5
ifnull 18
5: aload 5
invokevirtual java.lang.String.length:()I
iload 3
if_icmpne 13
6: iconst_0
istore 6
start local 6 7: StackMap locals: java.lang.String int
StackMap stack:
aload 5
iload 6
invokevirtual java.lang.String.charAt:(I)C
aload 1
iload 2
iload 6
iadd
caload
if_icmpeq 9
8: goto 11
9: StackMap locals:
StackMap stack:
iinc 6 1
iload 6
iload 3
10: if_icmplt 7
11: StackMap locals:
StackMap stack:
iload 6
iload 3
if_icmpne 13
12: aload 5
areturn
end local 6 13: StackMap locals:
StackMap stack:
aload 0
getfield com.ctc.wstx.util.SymbolTable.mBuckets:[Lcom/ctc/wstx/util/SymbolTable$Bucket;
iload 4
iconst_1
ishr
aaload
astore 6
start local 6 14: aload 6
ifnull 18
15: aload 6
aload 1
iload 2
iload 3
invokevirtual com.ctc.wstx.util.SymbolTable$Bucket.find:([CII)Ljava/lang/String;
astore 5
16: aload 5
ifnull 18
17: aload 5
areturn
end local 6 18: StackMap locals:
StackMap stack:
aconst_null
areturn
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 19 0 this Lcom/ctc/wstx/util/SymbolTable;
0 19 1 buffer [C
0 19 2 start I
0 19 3 len I
0 19 4 hash I
4 19 5 sym Ljava/lang/String;
7 13 6 i I
14 18 6 b Lcom/ctc/wstx/util/SymbolTable$Bucket;
MethodParameters:
Name Flags
buffer
start
len
hash
public java.lang.String findSymbol(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=6, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.lang.String.length:()I
istore 2
start local 2 1: iload 2
iconst_1
if_icmpge 3
2: ldc ""
areturn
3: StackMap locals: int
StackMap stack:
aload 1
invokestatic com.ctc.wstx.util.SymbolTable.calcHash:(Ljava/lang/String;)I
aload 0
getfield com.ctc.wstx.util.SymbolTable.mIndexMask:I
iand
istore 3
start local 3 4: aload 0
getfield com.ctc.wstx.util.SymbolTable.mSymbols:[Ljava/lang/String;
iload 3
aaload
astore 4
start local 4 5: aload 4
ifnull 20
6: aload 4
invokevirtual java.lang.String.length:()I
iload 2
if_icmpne 15
7: iconst_0
istore 5
start local 5 8: goto 12
9: StackMap locals: int java.lang.String int
StackMap stack:
aload 4
iload 5
invokevirtual java.lang.String.charAt:(I)C
aload 1
iload 5
invokevirtual java.lang.String.charAt:(I)C
if_icmpeq 11
10: goto 13
11: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
12: iload 5
iload 2
if_icmplt 9
13: StackMap locals:
StackMap stack:
iload 5
iload 2
if_icmpne 15
14: aload 4
areturn
end local 5 15: StackMap locals:
StackMap stack:
aload 0
getfield com.ctc.wstx.util.SymbolTable.mBuckets:[Lcom/ctc/wstx/util/SymbolTable$Bucket;
iload 3
iconst_1
ishr
aaload
astore 5
start local 5 16: aload 5
ifnull 20
17: aload 5
aload 1
invokevirtual com.ctc.wstx.util.SymbolTable$Bucket.find:(Ljava/lang/String;)Ljava/lang/String;
astore 4
18: aload 4
ifnull 20
19: aload 4
areturn
end local 5 20: StackMap locals:
StackMap stack:
aload 0
getfield com.ctc.wstx.util.SymbolTable.mSize:I
aload 0
getfield com.ctc.wstx.util.SymbolTable.mSizeThreshold:I
if_icmplt 24
21: aload 0
invokevirtual com.ctc.wstx.util.SymbolTable.rehash:()V
22: aload 1
invokestatic com.ctc.wstx.util.SymbolTable.calcHash:(Ljava/lang/String;)I
aload 0
getfield com.ctc.wstx.util.SymbolTable.mIndexMask:I
iand
istore 3
23: goto 27
StackMap locals:
StackMap stack:
24: aload 0
getfield com.ctc.wstx.util.SymbolTable.mDirty:Z
ifne 27
25: aload 0
invokevirtual com.ctc.wstx.util.SymbolTable.copyArrays:()V
26: aload 0
iconst_1
putfield com.ctc.wstx.util.SymbolTable.mDirty:Z
27: StackMap locals:
StackMap stack:
aload 0
dup
getfield com.ctc.wstx.util.SymbolTable.mSize:I
iconst_1
iadd
putfield com.ctc.wstx.util.SymbolTable.mSize:I
28: aload 0
getfield com.ctc.wstx.util.SymbolTable.mInternStrings:Z
ifeq 30
29: aload 1
invokevirtual java.lang.String.intern:()Ljava/lang/String;
astore 1
30: StackMap locals:
StackMap stack:
aload 0
getfield com.ctc.wstx.util.SymbolTable.mSymbols:[Ljava/lang/String;
iload 3
aaload
ifnonnull 33
31: aload 0
getfield com.ctc.wstx.util.SymbolTable.mSymbols:[Ljava/lang/String;
iload 3
aload 1
aastore
32: goto 35
33: StackMap locals:
StackMap stack:
iload 3
iconst_1
ishr
istore 5
start local 5 34: aload 0
getfield com.ctc.wstx.util.SymbolTable.mBuckets:[Lcom/ctc/wstx/util/SymbolTable$Bucket;
iload 5
new com.ctc.wstx.util.SymbolTable$Bucket
dup
aload 1
aload 0
getfield com.ctc.wstx.util.SymbolTable.mBuckets:[Lcom/ctc/wstx/util/SymbolTable$Bucket;
iload 5
aaload
invokespecial com.ctc.wstx.util.SymbolTable$Bucket.<init>:(Ljava/lang/String;Lcom/ctc/wstx/util/SymbolTable$Bucket;)V
aastore
end local 5 35: StackMap locals:
StackMap stack:
aload 1
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 36 0 this Lcom/ctc/wstx/util/SymbolTable;
0 36 1 str Ljava/lang/String;
1 36 2 len I
4 36 3 index I
5 36 4 sym Ljava/lang/String;
8 15 5 i I
16 20 5 b Lcom/ctc/wstx/util/SymbolTable$Bucket;
34 35 5 bix I
MethodParameters:
Name Flags
str
public static int calcHash(char[], int, int);
descriptor: ([CII)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
iload 1
caload
istore 3
start local 3 1: iconst_1
istore 4
start local 4 2: goto 5
3: StackMap locals: int int
StackMap stack:
iload 3
bipush 31
imul
aload 0
iload 1
iload 4
iadd
caload
iadd
istore 3
4: iinc 4 1
StackMap locals:
StackMap stack:
5: iload 4
iload 2
if_icmplt 3
end local 4 6: iload 3
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 buffer [C
0 7 1 start I
0 7 2 len I
1 7 3 hash I
2 6 4 i I
MethodParameters:
Name Flags
buffer
start
len
public static int calcHash(java.lang.String);
descriptor: (Ljava/lang/String;)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=4, args_size=1
start local 0 0: aload 0
iconst_0
invokevirtual java.lang.String.charAt:(I)C
istore 1
start local 1 1: iconst_1
istore 2
start local 2 2: aload 0
invokevirtual java.lang.String.length:()I
istore 3
start local 3 3: goto 6
4: StackMap locals: int int int
StackMap stack:
iload 1
bipush 31
imul
aload 0
iload 2
invokevirtual java.lang.String.charAt:(I)C
iadd
istore 1
5: iinc 2 1
StackMap locals:
StackMap stack:
6: iload 2
iload 3
if_icmplt 4
end local 3 end local 2 7: iload 1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 key Ljava/lang/String;
1 8 1 hash I
2 7 2 i I
3 7 3 len I
MethodParameters:
Name Flags
key
private void copyArrays();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=4, args_size=1
start local 0 0: aload 0
getfield com.ctc.wstx.util.SymbolTable.mSymbols:[Ljava/lang/String;
astore 1
start local 1 1: aload 1
arraylength
istore 2
start local 2 2: aload 0
iload 2
anewarray java.lang.String
putfield com.ctc.wstx.util.SymbolTable.mSymbols:[Ljava/lang/String;
3: aload 1
iconst_0
aload 0
getfield com.ctc.wstx.util.SymbolTable.mSymbols:[Ljava/lang/String;
iconst_0
iload 2
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
4: aload 0
getfield com.ctc.wstx.util.SymbolTable.mBuckets:[Lcom/ctc/wstx/util/SymbolTable$Bucket;
astore 3
start local 3 5: aload 3
arraylength
istore 2
6: aload 0
iload 2
anewarray com.ctc.wstx.util.SymbolTable$Bucket
putfield com.ctc.wstx.util.SymbolTable.mBuckets:[Lcom/ctc/wstx/util/SymbolTable$Bucket;
7: aload 3
iconst_0
aload 0
getfield com.ctc.wstx.util.SymbolTable.mBuckets:[Lcom/ctc/wstx/util/SymbolTable$Bucket;
iconst_0
iload 2
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
8: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/ctc/wstx/util/SymbolTable;
1 9 1 oldSyms [Ljava/lang/String;
2 9 2 size I
5 9 3 oldBuckets [Lcom/ctc/wstx/util/SymbolTable$Bucket;
private void rehash();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=11, args_size=1
start local 0 0: aload 0
getfield com.ctc.wstx.util.SymbolTable.mSymbols:[Ljava/lang/String;
arraylength
istore 1
start local 1 1: iload 1
iload 1
iadd
istore 2
start local 2 2: aload 0
getfield com.ctc.wstx.util.SymbolTable.mSymbols:[Ljava/lang/String;
astore 3
start local 3 3: aload 0
getfield com.ctc.wstx.util.SymbolTable.mBuckets:[Lcom/ctc/wstx/util/SymbolTable$Bucket;
astore 4
start local 4 4: aload 0
iload 2
anewarray java.lang.String
putfield com.ctc.wstx.util.SymbolTable.mSymbols:[Ljava/lang/String;
5: aload 0
iload 2
iconst_1
ishr
anewarray com.ctc.wstx.util.SymbolTable$Bucket
putfield com.ctc.wstx.util.SymbolTable.mBuckets:[Lcom/ctc/wstx/util/SymbolTable$Bucket;
6: aload 0
iload 2
iconst_1
isub
putfield com.ctc.wstx.util.SymbolTable.mIndexMask:I
7: aload 0
dup
getfield com.ctc.wstx.util.SymbolTable.mSizeThreshold:I
aload 0
getfield com.ctc.wstx.util.SymbolTable.mSizeThreshold:I
iadd
putfield com.ctc.wstx.util.SymbolTable.mSizeThreshold:I
8: iconst_0
istore 5
start local 5 9: iconst_0
istore 6
start local 6 10: goto 21
11: StackMap locals: com.ctc.wstx.util.SymbolTable int int java.lang.String[] com.ctc.wstx.util.SymbolTable$Bucket[] int int
StackMap stack:
aload 3
iload 6
aaload
astore 7
start local 7 12: aload 7
ifnull 20
13: iinc 5 1
14: aload 7
invokestatic com.ctc.wstx.util.SymbolTable.calcHash:(Ljava/lang/String;)I
aload 0
getfield com.ctc.wstx.util.SymbolTable.mIndexMask:I
iand
istore 8
start local 8 15: aload 0
getfield com.ctc.wstx.util.SymbolTable.mSymbols:[Ljava/lang/String;
iload 8
aaload
ifnonnull 18
16: aload 0
getfield com.ctc.wstx.util.SymbolTable.mSymbols:[Ljava/lang/String;
iload 8
aload 7
aastore
17: goto 20
18: StackMap locals: java.lang.String int
StackMap stack:
iload 8
iconst_1
ishr
istore 9
start local 9 19: aload 0
getfield com.ctc.wstx.util.SymbolTable.mBuckets:[Lcom/ctc/wstx/util/SymbolTable$Bucket;
iload 9
new com.ctc.wstx.util.SymbolTable$Bucket
dup
aload 7
aload 0
getfield com.ctc.wstx.util.SymbolTable.mBuckets:[Lcom/ctc/wstx/util/SymbolTable$Bucket;
iload 9
aaload
invokespecial com.ctc.wstx.util.SymbolTable$Bucket.<init>:(Ljava/lang/String;Lcom/ctc/wstx/util/SymbolTable$Bucket;)V
aastore
end local 9 end local 8 end local 7 20: StackMap locals:
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
21: iload 6
iload 1
if_icmplt 11
end local 6 22: iload 1
iconst_1
ishr
istore 1
23: iconst_0
istore 6
start local 6 24: goto 38
25: StackMap locals:
StackMap stack:
aload 4
iload 6
aaload
astore 7
start local 7 26: goto 36
27: StackMap locals: com.ctc.wstx.util.SymbolTable$Bucket
StackMap stack:
iinc 5 1
28: aload 7
invokevirtual com.ctc.wstx.util.SymbolTable$Bucket.getSymbol:()Ljava/lang/String;
astore 8
start local 8 29: aload 8
invokestatic com.ctc.wstx.util.SymbolTable.calcHash:(Ljava/lang/String;)I
aload 0
getfield com.ctc.wstx.util.SymbolTable.mIndexMask:I
iand
istore 9
start local 9 30: aload 0
getfield com.ctc.wstx.util.SymbolTable.mSymbols:[Ljava/lang/String;
iload 9
aaload
ifnonnull 33
31: aload 0
getfield com.ctc.wstx.util.SymbolTable.mSymbols:[Ljava/lang/String;
iload 9
aload 8
aastore
32: goto 35
33: StackMap locals: java.lang.String int
StackMap stack:
iload 9
iconst_1
ishr
istore 10
start local 10 34: aload 0
getfield com.ctc.wstx.util.SymbolTable.mBuckets:[Lcom/ctc/wstx/util/SymbolTable$Bucket;
iload 10
new com.ctc.wstx.util.SymbolTable$Bucket
dup
aload 8
aload 0
getfield com.ctc.wstx.util.SymbolTable.mBuckets:[Lcom/ctc/wstx/util/SymbolTable$Bucket;
iload 10
aaload
invokespecial com.ctc.wstx.util.SymbolTable$Bucket.<init>:(Ljava/lang/String;Lcom/ctc/wstx/util/SymbolTable$Bucket;)V
aastore
end local 10 35: StackMap locals:
StackMap stack:
aload 7
invokevirtual com.ctc.wstx.util.SymbolTable$Bucket.getNext:()Lcom/ctc/wstx/util/SymbolTable$Bucket;
astore 7
end local 9 end local 8 36: StackMap locals:
StackMap stack:
aload 7
ifnonnull 27
end local 7 37: iinc 6 1
StackMap locals:
StackMap stack:
38: iload 6
iload 1
if_icmplt 25
end local 6 39: iload 5
aload 0
getfield com.ctc.wstx.util.SymbolTable.mSize:I
if_icmpeq 41
40: new java.lang.IllegalStateException
dup
new java.lang.StringBuilder
dup
ldc "Internal error on SymbolTable.rehash(): had "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield com.ctc.wstx.util.SymbolTable.mSize:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " entries; now have "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 5
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
41: StackMap locals:
StackMap stack:
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 42 0 this Lcom/ctc/wstx/util/SymbolTable;
1 42 1 size I
2 42 2 newSize I
3 42 3 oldSyms [Ljava/lang/String;
4 42 4 oldBuckets [Lcom/ctc/wstx/util/SymbolTable$Bucket;
9 42 5 count I
10 22 6 i I
12 20 7 symbol Ljava/lang/String;
15 20 8 index I
19 20 9 bix I
24 39 6 i I
26 37 7 b Lcom/ctc/wstx/util/SymbolTable$Bucket;
29 36 8 symbol Ljava/lang/String;
30 36 9 index I
34 35 10 bix I
public double calcAvgSeek();
descriptor: ()D
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=6, args_size=1
start local 0 0: iconst_0
istore 1
start local 1 1: iconst_0
istore 2
start local 2 2: aload 0
getfield com.ctc.wstx.util.SymbolTable.mSymbols:[Ljava/lang/String;
arraylength
istore 3
start local 3 3: goto 7
4: StackMap locals: int int int
StackMap stack:
aload 0
getfield com.ctc.wstx.util.SymbolTable.mSymbols:[Ljava/lang/String;
iload 2
aaload
ifnull 6
5: iinc 1 1
6: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
7: iload 2
iload 3
if_icmplt 4
end local 3 end local 2 8: iconst_0
istore 2
start local 2 9: aload 0
getfield com.ctc.wstx.util.SymbolTable.mBuckets:[Lcom/ctc/wstx/util/SymbolTable$Bucket;
arraylength
istore 3
start local 3 10: goto 19
11: StackMap locals:
StackMap stack:
aload 0
getfield com.ctc.wstx.util.SymbolTable.mBuckets:[Lcom/ctc/wstx/util/SymbolTable$Bucket;
iload 2
aaload
astore 4
start local 4 12: iconst_2
istore 5
start local 5 13: goto 17
14: StackMap locals: com.ctc.wstx.util.SymbolTable$Bucket int
StackMap stack:
iload 1
iload 5
iadd
istore 1
15: iinc 5 1
16: aload 4
invokevirtual com.ctc.wstx.util.SymbolTable$Bucket.getNext:()Lcom/ctc/wstx/util/SymbolTable$Bucket;
astore 4
17: StackMap locals:
StackMap stack:
aload 4
ifnonnull 14
end local 5 end local 4 18: iinc 2 1
StackMap locals:
StackMap stack:
19: iload 2
iload 3
if_icmplt 11
end local 3 end local 2 20: iload 1
i2d
aload 0
getfield com.ctc.wstx.util.SymbolTable.mSize:I
i2d
ddiv
dreturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 this Lcom/ctc/wstx/util/SymbolTable;
1 21 1 count I
2 8 2 i I
3 8 3 len I
9 20 2 i I
10 20 3 len I
12 18 4 b Lcom/ctc/wstx/util/SymbolTable$Bucket;
13 18 5 cost I
}
SourceFile: "SymbolTable.java"
NestMembers:
com.ctc.wstx.util.SymbolTable$Bucket
InnerClasses:
final Bucket = com.ctc.wstx.util.SymbolTable$Bucket of com.ctc.wstx.util.SymbolTable