public final class com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer
super_class: java.lang.Object
{
public static final int HASH_MULT;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 33
private static final int DEFAULT_T_SIZE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 64
private static final int MAX_T_SIZE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 65536
static final int MAX_ENTRIES_FOR_REUSE;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 12000
static final int MAX_COLL_CHAIN_LENGTH;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 100
private final com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer _parent;
descriptor: Lcom/fasterxml/jackson/core/sym/CharsToNameCanonicalizer;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.concurrent.atomic.AtomicReference<com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer$TableInfo> _tableInfo;
descriptor: Ljava/util/concurrent/atomic/AtomicReference;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/concurrent/atomic/AtomicReference<Lcom/fasterxml/jackson/core/sym/CharsToNameCanonicalizer$TableInfo;>;
private final int _seed;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int _flags;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private boolean _canonicalize;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private java.lang.String[] _symbols;
descriptor: [Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer$Bucket[] _buckets;
descriptor: [Lcom/fasterxml/jackson/core/sym/CharsToNameCanonicalizer$Bucket;
flags: (0x0002) ACC_PRIVATE
private int _size;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int _sizeThreshold;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int _indexMask;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int _longestCollisionList;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private boolean _hashShared;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private java.util.BitSet _overflows;
descriptor: Ljava/util/BitSet;
flags: (0x0002) ACC_PRIVATE
private void <init>(int);
descriptor: (I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aconst_null
putfield com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer._parent:Lcom/fasterxml/jackson/core/sym/CharsToNameCanonicalizer;
2: aload 0
iload 1
putfield com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer._seed:I
3: aload 0
iconst_1
putfield com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer._canonicalize:Z
4: aload 0
iconst_m1
putfield com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer._flags:I
5: aload 0
iconst_0
putfield com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer._hashShared:Z
6: aload 0
iconst_0
putfield com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer._longestCollisionList:I
7: aload 0
new java.util.concurrent.atomic.AtomicReference
dup
bipush 64
invokestatic com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer$TableInfo.createInitial:(I)Lcom/fasterxml/jackson/core/sym/CharsToNameCanonicalizer$TableInfo;
invokespecial java.util.concurrent.atomic.AtomicReference.<init>:(Ljava/lang/Object;)V
putfield com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer._tableInfo:Ljava/util/concurrent/atomic/AtomicReference;
8: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/fasterxml/jackson/core/sym/CharsToNameCanonicalizer;
0 9 1 seed I
MethodParameters:
Name Flags
seed
private void <init>(com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer, int, int, com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer$TableInfo);
descriptor: (Lcom/fasterxml/jackson/core/sym/CharsToNameCanonicalizer;IILcom/fasterxml/jackson/core/sym/CharsToNameCanonicalizer$TableInfo;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer._parent:Lcom/fasterxml/jackson/core/sym/CharsToNameCanonicalizer;
2: aload 0
iload 3
putfield com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer._seed:I
3: aload 0
aconst_null
putfield com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer._tableInfo:Ljava/util/concurrent/atomic/AtomicReference;
4: aload 0
iload 2
putfield com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer._flags:I
5: aload 0
getstatic com.fasterxml.jackson.core.JsonFactory$Feature.CANONICALIZE_FIELD_NAMES:Lcom/fasterxml/jackson/core/JsonFactory$Feature;
iload 2
invokevirtual com.fasterxml.jackson.core.JsonFactory$Feature.enabledIn:(I)Z
putfield com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer._canonicalize:Z
6: aload 0
aload 4
getfield com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer$TableInfo.symbols:[Ljava/lang/String;
putfield com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer._symbols:[Ljava/lang/String;
7: aload 0
aload 4
getfield com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer$TableInfo.buckets:[Lcom/fasterxml/jackson/core/sym/CharsToNameCanonicalizer$Bucket;
putfield com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer._buckets:[Lcom/fasterxml/jackson/core/sym/CharsToNameCanonicalizer$Bucket;
8: aload 0
aload 4
getfield com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer$TableInfo.size:I
putfield com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer._size:I
9: aload 0
aload 4
getfield com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer$TableInfo.longestCollisionList:I
putfield com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer._longestCollisionList:I
10: aload 0
getfield com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer._symbols:[Ljava/lang/String;
arraylength
istore 5
start local 5 11: aload 0
iload 5
invokestatic com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer._thresholdSize:(I)I
putfield com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer._sizeThreshold:I
12: aload 0
iload 5
iconst_1
isub
putfield com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer._indexMask:I
13: aload 0
iconst_1
putfield com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer._hashShared:Z
14: 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 15 0 this Lcom/fasterxml/jackson/core/sym/CharsToNameCanonicalizer;
0 15 1 parent Lcom/fasterxml/jackson/core/sym/CharsToNameCanonicalizer;
0 15 2 flags I
0 15 3 seed I
0 15 4 parentState Lcom/fasterxml/jackson/core/sym/CharsToNameCanonicalizer$TableInfo;
11 15 5 arrayLen I
MethodParameters:
Name Flags
parent
flags
seed
parentState
private static int _thresholdSize(int);
descriptor: (I)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: iload 0
iload 0
iconst_2
ishr
isub
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 hashAreaSize I
MethodParameters:
Name Flags
hashAreaSize
public static com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer createRoot();
descriptor: ()Lcom/fasterxml/jackson/core/sym/CharsToNameCanonicalizer;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=3, args_size=0
0: invokestatic java.lang.System.currentTimeMillis:()J
lstore 0
start local 0 1: lload 0
l2i
lload 0
bipush 32
lushr
l2i
iadd
iconst_1
ior
istore 2
start local 2 2: iload 2
invokestatic com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer.createRoot:(I)Lcom/fasterxml/jackson/core/sym/CharsToNameCanonicalizer;
areturn
end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
1 3 0 now J
2 3 2 seed I
protected static com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer createRoot(int);
descriptor: (I)Lcom/fasterxml/jackson/core/sym/CharsToNameCanonicalizer;
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer
dup
iload 0
invokespecial com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer.<init>:(I)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 seed I
MethodParameters:
Name Flags
seed
public com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer makeChild(int);
descriptor: (I)Lcom/fasterxml/jackson/core/sym/CharsToNameCanonicalizer;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=2, args_size=2
start local 0 start local 1 0: new com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer
dup
aload 0
iload 1
aload 0
getfield com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer._seed:I
aload 0
getfield com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer._tableInfo:Ljava/util/concurrent/atomic/AtomicReference;
invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
checkcast com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer$TableInfo
invokespecial com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer.<init>:(Lcom/fasterxml/jackson/core/sym/CharsToNameCanonicalizer;IILcom/fasterxml/jackson/core/sym/CharsToNameCanonicalizer$TableInfo;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/fasterxml/jackson/core/sym/CharsToNameCanonicalizer;
0 1 1 flags I
MethodParameters:
Name Flags
flags
public void release();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer.maybeDirty:()Z
ifne 1
return
1: StackMap locals:
StackMap stack:
aload 0
getfield com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer._parent:Lcom/fasterxml/jackson/core/sym/CharsToNameCanonicalizer;
ifnull 4
aload 0
getfield com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer._canonicalize:Z
ifeq 4
2: aload 0
getfield com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer._parent:Lcom/fasterxml/jackson/core/sym/CharsToNameCanonicalizer;
new com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer$TableInfo
dup
aload 0
invokespecial com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer$TableInfo.<init>:(Lcom/fasterxml/jackson/core/sym/CharsToNameCanonicalizer;)V
invokevirtual com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer.mergeChild:(Lcom/fasterxml/jackson/core/sym/CharsToNameCanonicalizer$TableInfo;)V
3: aload 0
iconst_1
putfield com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer._hashShared:Z
4: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/fasterxml/jackson/core/sym/CharsToNameCanonicalizer;
private void mergeChild(com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer$TableInfo);
descriptor: (Lcom/fasterxml/jackson/core/sym/CharsToNameCanonicalizer$TableInfo;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 1
getfield com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer$TableInfo.size:I
istore 2
start local 2 1: aload 0
getfield com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer._tableInfo:Ljava/util/concurrent/atomic/AtomicReference;
invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
checkcast com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer$TableInfo
astore 3
start local 3 2: iload 2
aload 3
getfield com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer$TableInfo.size:I
if_icmpne 4
3: return
4: StackMap locals: int com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer$TableInfo
StackMap stack:
iload 2
sipush 12000
if_icmple 6
5: bipush 64
invokestatic com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer$TableInfo.createInitial:(I)Lcom/fasterxml/jackson/core/sym/CharsToNameCanonicalizer$TableInfo;
astore 1
6: StackMap locals:
StackMap stack:
aload 0
getfield com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer._tableInfo:Ljava/util/concurrent/atomic/AtomicReference;
aload 3
aload 1
invokevirtual java.util.concurrent.atomic.AtomicReference.compareAndSet:(Ljava/lang/Object;Ljava/lang/Object;)Z
pop
7: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/fasterxml/jackson/core/sym/CharsToNameCanonicalizer;
0 8 1 childState Lcom/fasterxml/jackson/core/sym/CharsToNameCanonicalizer$TableInfo;
1 8 2 childCount I
2 8 3 currState Lcom/fasterxml/jackson/core/sym/CharsToNameCanonicalizer$TableInfo;
MethodParameters:
Name Flags
childState
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.fasterxml.jackson.core.sym.CharsToNameCanonicalizer._tableInfo:Ljava/util/concurrent/atomic/AtomicReference;
ifnull 2
1: aload 0
getfield com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer._tableInfo:Ljava/util/concurrent/atomic/AtomicReference;
invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
checkcast com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer$TableInfo
getfield com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer$TableInfo.size:I
ireturn
2: StackMap locals:
StackMap stack:
aload 0
getfield com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer._size:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/fasterxml/jackson/core/sym/CharsToNameCanonicalizer;
public int bucketCount();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer._symbols:[Ljava/lang/String;
arraylength
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/fasterxml/jackson/core/sym/CharsToNameCanonicalizer;
public boolean maybeDirty();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer._hashShared:Z
ifeq 1
iconst_0
goto 2
StackMap locals:
StackMap stack:
1: iconst_1
StackMap locals:
StackMap stack: int
2: ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/fasterxml/jackson/core/sym/CharsToNameCanonicalizer;
public int hashSeed();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer._seed:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/fasterxml/jackson/core/sym/CharsToNameCanonicalizer;
public int collisionCount();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=6, args_size=1
start local 0 0: iconst_0
istore 1
start local 1 1: aload 0
getfield com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer._buckets:[Lcom/fasterxml/jackson/core/sym/CharsToNameCanonicalizer$Bucket;
dup
astore 5
arraylength
istore 4
iconst_0
istore 3
goto 6
StackMap locals: com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer int top int int com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer$Bucket[]
StackMap stack:
2: aload 5
iload 3
aaload
astore 2
start local 2 3: aload 2
ifnull 5
4: iload 1
aload 2
getfield com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer$Bucket.length:I
iadd
istore 1
end local 2 5: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
6: iload 3
iload 4
if_icmplt 2
7: iload 1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/fasterxml/jackson/core/sym/CharsToNameCanonicalizer;
1 8 1 count I
3 5 2 bucket Lcom/fasterxml/jackson/core/sym/CharsToNameCanonicalizer$Bucket;
public int maxCollisionLength();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer._longestCollisionList:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/fasterxml/jackson/core/sym/CharsToNameCanonicalizer;
public java.lang.String findSymbol(char[], int, int, int);
descriptor: ([CIII)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, 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:
aload 0
getfield com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer._canonicalize:Z
ifne 4
3: new java.lang.String
dup
aload 1
iload 2
iload 3
invokespecial java.lang.String.<init>:([CII)V
areturn
4: StackMap locals:
StackMap stack:
aload 0
iload 4
invokevirtual com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer._hashToIndex:(I)I
istore 5
start local 5 5: aload 0
getfield com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer._symbols:[Ljava/lang/String;
iload 5
aaload
astore 6
start local 6 6: aload 6
ifnull 21
7: aload 6
invokevirtual java.lang.String.length:()I
iload 3
if_icmpne 13
8: iconst_0
istore 7
start local 7 9: goto 12
10: StackMap locals: int java.lang.String int
StackMap stack:
iinc 7 1
iload 7
iload 3
if_icmpne 12
11: aload 6
areturn
12: StackMap locals:
StackMap stack:
aload 6
iload 7
invokevirtual java.lang.String.charAt:(I)C
aload 1
iload 2
iload 7
iadd
caload
if_icmpeq 10
end local 7 13: StackMap locals:
StackMap stack:
aload 0
getfield com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer._buckets:[Lcom/fasterxml/jackson/core/sym/CharsToNameCanonicalizer$Bucket;
iload 5
iconst_1
ishr
aaload
astore 7
start local 7 14: aload 7
ifnull 21
15: aload 7
aload 1
iload 2
iload 3
invokevirtual com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer$Bucket.has:([CII)Ljava/lang/String;
astore 6
16: aload 6
ifnull 18
17: aload 6
areturn
18: StackMap locals: com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer$Bucket
StackMap stack:
aload 0
aload 1
iload 2
iload 3
aload 7
getfield com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer$Bucket.next:Lcom/fasterxml/jackson/core/sym/CharsToNameCanonicalizer$Bucket;
invokevirtual com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer._findSymbol2:([CIILcom/fasterxml/jackson/core/sym/CharsToNameCanonicalizer$Bucket;)Ljava/lang/String;
astore 6
19: aload 6
ifnull 21
20: aload 6
areturn
end local 7 21: StackMap locals:
StackMap stack:
aload 0
aload 1
iload 2
iload 3
iload 4
iload 5
invokevirtual com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer._addSymbol:([CIIII)Ljava/lang/String;
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 22 0 this Lcom/fasterxml/jackson/core/sym/CharsToNameCanonicalizer;
0 22 1 buffer [C
0 22 2 start I
0 22 3 len I
0 22 4 h I
5 22 5 index I
6 22 6 sym Ljava/lang/String;
9 13 7 i I
14 21 7 b Lcom/fasterxml/jackson/core/sym/CharsToNameCanonicalizer$Bucket;
MethodParameters:
Name Flags
buffer
start
len
h
private java.lang.String _findSymbol2(char[], int, int, com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer$Bucket);
descriptor: ([CIILcom/fasterxml/jackson/core/sym/CharsToNameCanonicalizer$Bucket;)Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: goto 5
1: StackMap locals:
StackMap stack:
aload 4
aload 1
iload 2
iload 3
invokevirtual com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer$Bucket.has:([CII)Ljava/lang/String;
astore 5
start local 5 2: aload 5
ifnull 4
3: aload 5
areturn
4: StackMap locals: java.lang.String
StackMap stack:
aload 4
getfield com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer$Bucket.next:Lcom/fasterxml/jackson/core/sym/CharsToNameCanonicalizer$Bucket;
astore 4
end local 5 5: StackMap locals:
StackMap stack:
aload 4
ifnonnull 1
6: aconst_null
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/fasterxml/jackson/core/sym/CharsToNameCanonicalizer;
0 7 1 buffer [C
0 7 2 start I
0 7 3 len I
0 7 4 b Lcom/fasterxml/jackson/core/sym/CharsToNameCanonicalizer$Bucket;
2 5 5 sym Ljava/lang/String;
MethodParameters:
Name Flags
buffer
start
len
b
private java.lang.String _addSymbol(char[], int, int, int, int);
descriptor: ([CIIII)Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=10, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
getfield com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer._hashShared:Z
ifeq 4
1: aload 0
invokevirtual com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer.copyArrays:()V
2: aload 0
iconst_0
putfield com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer._hashShared:Z
3: goto 7
StackMap locals:
StackMap stack:
4: aload 0
getfield com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer._size:I
aload 0
getfield com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer._sizeThreshold:I
if_icmplt 7
5: aload 0
invokevirtual com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer.rehash:()V
6: aload 0
aload 0
aload 1
iload 2
iload 3
invokevirtual com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer.calcHash:([CII)I
invokevirtual com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer._hashToIndex:(I)I
istore 5
7: StackMap locals:
StackMap stack:
new java.lang.String
dup
aload 1
iload 2
iload 3
invokespecial java.lang.String.<init>:([CII)V
astore 6
start local 6 8: getstatic com.fasterxml.jackson.core.JsonFactory$Feature.INTERN_FIELD_NAMES:Lcom/fasterxml/jackson/core/JsonFactory$Feature;
aload 0
getfield com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer._flags:I
invokevirtual com.fasterxml.jackson.core.JsonFactory$Feature.enabledIn:(I)Z
ifeq 10
9: getstatic com.fasterxml.jackson.core.util.InternCache.instance:Lcom/fasterxml/jackson/core/util/InternCache;
aload 6
invokevirtual com.fasterxml.jackson.core.util.InternCache.intern:(Ljava/lang/String;)Ljava/lang/String;
astore 6
10: StackMap locals: java.lang.String
StackMap stack:
aload 0
dup
getfield com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer._size:I
iconst_1
iadd
putfield com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer._size:I
11: aload 0
getfield com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer._symbols:[Ljava/lang/String;
iload 5
aaload
ifnonnull 14
12: aload 0
getfield com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer._symbols:[Ljava/lang/String;
iload 5
aload 6
aastore
13: goto 22
14: StackMap locals:
StackMap stack:
iload 5
iconst_1
ishr
istore 7
start local 7 15: new com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer$Bucket
dup
aload 6
aload 0
getfield com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer._buckets:[Lcom/fasterxml/jackson/core/sym/CharsToNameCanonicalizer$Bucket;
iload 7
aaload
invokespecial com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer$Bucket.<init>:(Ljava/lang/String;Lcom/fasterxml/jackson/core/sym/CharsToNameCanonicalizer$Bucket;)V
astore 8
start local 8 16: aload 8
getfield com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer$Bucket.length:I
istore 9
start local 9 17: iload 9
bipush 100
if_icmple 20
18: aload 0
iload 7
aload 8
iload 5
invokevirtual com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer._handleSpillOverflow:(ILcom/fasterxml/jackson/core/sym/CharsToNameCanonicalizer$Bucket;I)V
19: goto 22
20: StackMap locals: int com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer$Bucket int
StackMap stack:
aload 0
getfield com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer._buckets:[Lcom/fasterxml/jackson/core/sym/CharsToNameCanonicalizer$Bucket;
iload 7
aload 8
aastore
21: aload 0
iload 9
aload 0
getfield com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer._longestCollisionList:I
invokestatic java.lang.Math.max:(II)I
putfield com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer._longestCollisionList:I
end local 9 end local 8 end local 7 22: 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 23 0 this Lcom/fasterxml/jackson/core/sym/CharsToNameCanonicalizer;
0 23 1 buffer [C
0 23 2 start I
0 23 3 len I
0 23 4 h I
0 23 5 index I
8 23 6 newSymbol Ljava/lang/String;
15 22 7 bix I
16 22 8 newB Lcom/fasterxml/jackson/core/sym/CharsToNameCanonicalizer$Bucket;
17 22 9 collLen I
MethodParameters:
Name Flags
buffer
start
len
h
index
private void _handleSpillOverflow(int, com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer$Bucket, int);
descriptor: (ILcom/fasterxml/jackson/core/sym/CharsToNameCanonicalizer$Bucket;I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer._overflows:Ljava/util/BitSet;
ifnonnull 4
1: aload 0
new java.util.BitSet
dup
invokespecial java.util.BitSet.<init>:()V
putfield com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer._overflows:Ljava/util/BitSet;
2: aload 0
getfield com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer._overflows:Ljava/util/BitSet;
iload 1
invokevirtual java.util.BitSet.set:(I)V
3: goto 10
4: StackMap locals:
StackMap stack:
aload 0
getfield com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer._overflows:Ljava/util/BitSet;
iload 1
invokevirtual java.util.BitSet.get:(I)Z
ifeq 9
5: getstatic com.fasterxml.jackson.core.JsonFactory$Feature.FAIL_ON_SYMBOL_HASH_OVERFLOW:Lcom/fasterxml/jackson/core/JsonFactory$Feature;
aload 0
getfield com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer._flags:I
invokevirtual com.fasterxml.jackson.core.JsonFactory$Feature.enabledIn:(I)Z
ifeq 7
6: aload 0
bipush 100
invokevirtual com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer.reportTooManyCollisions:(I)V
7: StackMap locals:
StackMap stack:
aload 0
iconst_0
putfield com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer._canonicalize:Z
8: goto 10
9: StackMap locals:
StackMap stack:
aload 0
getfield com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer._overflows:Ljava/util/BitSet;
iload 1
invokevirtual java.util.BitSet.set:(I)V
10: StackMap locals:
StackMap stack:
aload 0
getfield com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer._symbols:[Ljava/lang/String;
iload 3
aload 2
getfield com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer$Bucket.symbol:Ljava/lang/String;
aastore
11: aload 0
getfield com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer._buckets:[Lcom/fasterxml/jackson/core/sym/CharsToNameCanonicalizer$Bucket;
iload 1
aconst_null
aastore
12: aload 0
dup
getfield com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer._size:I
aload 2
getfield com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer$Bucket.length:I
isub
putfield com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer._size:I
13: aload 0
iconst_m1
putfield com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer._longestCollisionList:I
14: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lcom/fasterxml/jackson/core/sym/CharsToNameCanonicalizer;
0 15 1 bucketIndex I
0 15 2 newBucket Lcom/fasterxml/jackson/core/sym/CharsToNameCanonicalizer$Bucket;
0 15 3 mainIndex I
MethodParameters:
Name Flags
bucketIndex
newBucket
mainIndex
public int _hashToIndex(int);
descriptor: (I)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: iload 1
iload 1
bipush 15
iushr
iadd
istore 1
1: iload 1
iload 1
bipush 7
ishl
ixor
istore 1
2: iload 1
iload 1
iconst_3
iushr
iadd
istore 1
3: iload 1
aload 0
getfield com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer._indexMask:I
iand
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/fasterxml/jackson/core/sym/CharsToNameCanonicalizer;
0 4 1 rawHash I
MethodParameters:
Name Flags
rawHash
public int calcHash(char[], int, int);
descriptor: ([CII)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer._seed:I
istore 4
start local 4 1: iload 2
istore 5
start local 5 2: iload 2
iload 3
iadd
istore 6
start local 6 3: goto 6
4: StackMap locals: int int int
StackMap stack:
iload 4
bipush 33
imul
aload 1
iload 5
caload
iadd
istore 4
5: iinc 5 1
StackMap locals:
StackMap stack:
6: iload 5
iload 6
if_icmplt 4
end local 6 end local 5 7: iload 4
ifne 8
iconst_1
goto 9
StackMap locals:
StackMap stack:
8: iload 4
StackMap locals:
StackMap stack: int
9: ireturn
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/fasterxml/jackson/core/sym/CharsToNameCanonicalizer;
0 10 1 buffer [C
0 10 2 start I
0 10 3 len I
1 10 4 hash I
2 7 5 i I
3 7 6 end I
MethodParameters:
Name Flags
buffer
start
len
public int calcHash(java.lang.String);
descriptor: (Ljava/lang/String;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.lang.String.length:()I
istore 2
start local 2 1: aload 0
getfield com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer._seed:I
istore 3
start local 3 2: iconst_0
istore 4
start local 4 3: goto 6
4: StackMap locals: int int int
StackMap stack:
iload 3
bipush 33
imul
aload 1
iload 4
invokevirtual java.lang.String.charAt:(I)C
iadd
istore 3
5: iinc 4 1
StackMap locals:
StackMap stack:
6: iload 4
iload 2
if_icmplt 4
end local 4 7: iload 3
ifne 8
iconst_1
goto 9
StackMap locals:
StackMap stack:
8: iload 3
StackMap locals:
StackMap stack: int
9: ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/fasterxml/jackson/core/sym/CharsToNameCanonicalizer;
0 10 1 key Ljava/lang/String;
1 10 2 len I
2 10 3 hash I
3 7 4 i I
MethodParameters:
Name Flags
key
private void copyArrays();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=1
start local 0 0: aload 0
getfield com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer._symbols:[Ljava/lang/String;
astore 1
start local 1 1: aload 0
aload 1
aload 1
arraylength
invokestatic java.util.Arrays.copyOf:([Ljava/lang/Object;I)[Ljava/lang/Object;
checkcast java.lang.String[]
putfield com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer._symbols:[Ljava/lang/String;
2: aload 0
getfield com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer._buckets:[Lcom/fasterxml/jackson/core/sym/CharsToNameCanonicalizer$Bucket;
astore 2
start local 2 3: aload 0
aload 2
aload 2
arraylength
invokestatic java.util.Arrays.copyOf:([Ljava/lang/Object;I)[Ljava/lang/Object;
checkcast com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer$Bucket[]
putfield com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer._buckets:[Lcom/fasterxml/jackson/core/sym/CharsToNameCanonicalizer$Bucket;
4: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/fasterxml/jackson/core/sym/CharsToNameCanonicalizer;
1 5 1 oldSyms [Ljava/lang/String;
3 5 2 oldBuckets [Lcom/fasterxml/jackson/core/sym/CharsToNameCanonicalizer$Bucket;
private void rehash();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=14, args_size=1
start local 0 0: aload 0
getfield com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer._symbols:[Ljava/lang/String;
arraylength
istore 1
start local 1 1: iload 1
iload 1
iadd
istore 2
start local 2 2: iload 2
ldc 65536
if_icmple 10
3: aload 0
iconst_0
putfield com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer._size:I
4: aload 0
iconst_0
putfield com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer._canonicalize:Z
5: aload 0
bipush 64
anewarray java.lang.String
putfield com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer._symbols:[Ljava/lang/String;
6: aload 0
bipush 32
anewarray com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer$Bucket
putfield com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer._buckets:[Lcom/fasterxml/jackson/core/sym/CharsToNameCanonicalizer$Bucket;
7: aload 0
bipush 63
putfield com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer._indexMask:I
8: aload 0
iconst_0
putfield com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer._hashShared:Z
9: return
10: StackMap locals: int int
StackMap stack:
aload 0
getfield com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer._symbols:[Ljava/lang/String;
astore 3
start local 3 11: aload 0
getfield com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer._buckets:[Lcom/fasterxml/jackson/core/sym/CharsToNameCanonicalizer$Bucket;
astore 4
start local 4 12: aload 0
iload 2
anewarray java.lang.String
putfield com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer._symbols:[Ljava/lang/String;
13: aload 0
iload 2
iconst_1
ishr
anewarray com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer$Bucket
putfield com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer._buckets:[Lcom/fasterxml/jackson/core/sym/CharsToNameCanonicalizer$Bucket;
14: aload 0
iload 2
iconst_1
isub
putfield com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer._indexMask:I
15: aload 0
iload 2
invokestatic com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer._thresholdSize:(I)I
putfield com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer._sizeThreshold:I
16: iconst_0
istore 5
start local 5 17: iconst_0
istore 6
start local 6 18: iconst_0
istore 7
start local 7 19: goto 32
20: StackMap locals: com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer int int java.lang.String[] com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer$Bucket[] int int int
StackMap stack:
aload 3
iload 7
aaload
astore 8
start local 8 21: aload 8
ifnull 31
22: iinc 5 1
23: aload 0
aload 0
aload 8
invokevirtual com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer.calcHash:(Ljava/lang/String;)I
invokevirtual com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer._hashToIndex:(I)I
istore 9
start local 9 24: aload 0
getfield com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer._symbols:[Ljava/lang/String;
iload 9
aaload
ifnonnull 27
25: aload 0
getfield com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer._symbols:[Ljava/lang/String;
iload 9
aload 8
aastore
26: goto 31
27: StackMap locals: java.lang.String int
StackMap stack:
iload 9
iconst_1
ishr
istore 10
start local 10 28: new com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer$Bucket
dup
aload 8
aload 0
getfield com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer._buckets:[Lcom/fasterxml/jackson/core/sym/CharsToNameCanonicalizer$Bucket;
iload 10
aaload
invokespecial com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer$Bucket.<init>:(Ljava/lang/String;Lcom/fasterxml/jackson/core/sym/CharsToNameCanonicalizer$Bucket;)V
astore 11
start local 11 29: aload 0
getfield com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer._buckets:[Lcom/fasterxml/jackson/core/sym/CharsToNameCanonicalizer$Bucket;
iload 10
aload 11
aastore
30: iload 6
aload 11
getfield com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer$Bucket.length:I
invokestatic java.lang.Math.max:(II)I
istore 6
end local 11 end local 10 end local 9 end local 8 31: StackMap locals:
StackMap stack:
iinc 7 1
StackMap locals:
StackMap stack:
32: iload 7
iload 1
if_icmplt 20
end local 7 33: iload 1
iconst_1
ishr
istore 7
start local 7 34: iconst_0
istore 8
start local 8 35: goto 51
36: StackMap locals: int
StackMap stack:
aload 4
iload 8
aaload
astore 9
start local 9 37: goto 49
38: StackMap locals: com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer$Bucket
StackMap stack:
iinc 5 1
39: aload 9
getfield com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer$Bucket.symbol:Ljava/lang/String;
astore 10
start local 10 40: aload 0
aload 0
aload 10
invokevirtual com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer.calcHash:(Ljava/lang/String;)I
invokevirtual com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer._hashToIndex:(I)I
istore 11
start local 11 41: aload 0
getfield com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer._symbols:[Ljava/lang/String;
iload 11
aaload
ifnonnull 44
42: aload 0
getfield com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer._symbols:[Ljava/lang/String;
iload 11
aload 10
aastore
43: goto 48
44: StackMap locals: java.lang.String int
StackMap stack:
iload 11
iconst_1
ishr
istore 12
start local 12 45: new com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer$Bucket
dup
aload 10
aload 0
getfield com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer._buckets:[Lcom/fasterxml/jackson/core/sym/CharsToNameCanonicalizer$Bucket;
iload 12
aaload
invokespecial com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer$Bucket.<init>:(Ljava/lang/String;Lcom/fasterxml/jackson/core/sym/CharsToNameCanonicalizer$Bucket;)V
astore 13
start local 13 46: aload 0
getfield com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer._buckets:[Lcom/fasterxml/jackson/core/sym/CharsToNameCanonicalizer$Bucket;
iload 12
aload 13
aastore
47: iload 6
aload 13
getfield com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer$Bucket.length:I
invokestatic java.lang.Math.max:(II)I
istore 6
end local 13 end local 12 48: StackMap locals:
StackMap stack:
aload 9
getfield com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer$Bucket.next:Lcom/fasterxml/jackson/core/sym/CharsToNameCanonicalizer$Bucket;
astore 9
end local 11 end local 10 49: StackMap locals:
StackMap stack:
aload 9
ifnonnull 38
end local 9 50: iinc 8 1
StackMap locals:
StackMap stack:
51: iload 8
iload 7
if_icmplt 36
end local 8 52: aload 0
iload 6
putfield com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer._longestCollisionList:I
53: aload 0
aconst_null
putfield com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer._overflows:Ljava/util/BitSet;
54: iload 5
aload 0
getfield com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer._size:I
if_icmpeq 59
55: new java.lang.IllegalStateException
dup
56: ldc "Internal error on SymbolTable.rehash(): had %d entries; now have %d"
iconst_2
anewarray java.lang.Object
dup
iconst_0
57: aload 0
getfield com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer._size:I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_1
iload 5
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
58: invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
59: StackMap locals:
StackMap stack:
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 60 0 this Lcom/fasterxml/jackson/core/sym/CharsToNameCanonicalizer;
1 60 1 size I
2 60 2 newSize I
11 60 3 oldSyms [Ljava/lang/String;
12 60 4 oldBuckets [Lcom/fasterxml/jackson/core/sym/CharsToNameCanonicalizer$Bucket;
17 60 5 count I
18 60 6 maxColl I
19 33 7 i I
21 31 8 symbol Ljava/lang/String;
24 31 9 index I
28 31 10 bix I
29 31 11 newB Lcom/fasterxml/jackson/core/sym/CharsToNameCanonicalizer$Bucket;
34 60 7 bucketSize I
35 52 8 i I
37 50 9 b Lcom/fasterxml/jackson/core/sym/CharsToNameCanonicalizer$Bucket;
40 49 10 symbol Ljava/lang/String;
41 49 11 index I
45 48 12 bix I
46 48 13 newB Lcom/fasterxml/jackson/core/sym/CharsToNameCanonicalizer$Bucket;
protected void reportTooManyCollisions(int);
descriptor: (I)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: new java.lang.IllegalStateException
dup
new java.lang.StringBuilder
dup
ldc "Longest collision chain in symbol table (of size "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer._size:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
1: ldc ") now exceeds maximum, "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 1
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " -- suspect a DoS attack based on hash collisions"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
2: invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/fasterxml/jackson/core/sym/CharsToNameCanonicalizer;
0 3 1 maxLen I
MethodParameters:
Name Flags
maxLen
protected void verifyInternalConsistency();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=7, locals=6, args_size=1
start local 0 0: iconst_0
istore 1
start local 1 1: aload 0
getfield com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer._symbols:[Ljava/lang/String;
arraylength
istore 2
start local 2 2: iconst_0
istore 3
start local 3 3: goto 8
4: StackMap locals: int int int
StackMap stack:
aload 0
getfield com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer._symbols:[Ljava/lang/String;
iload 3
aaload
astore 4
start local 4 5: aload 4
ifnull 7
6: iinc 1 1
end local 4 7: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
8: iload 3
iload 2
if_icmplt 4
end local 3 9: iload 2
iconst_1
ishr
istore 3
start local 3 10: iconst_0
istore 4
start local 4 11: goto 18
12: StackMap locals: int
StackMap stack:
aload 0
getfield com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer._buckets:[Lcom/fasterxml/jackson/core/sym/CharsToNameCanonicalizer$Bucket;
iload 4
aaload
astore 5
start local 5 13: goto 16
14: StackMap locals: com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer$Bucket
StackMap stack:
iinc 1 1
15: aload 5
getfield com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer$Bucket.next:Lcom/fasterxml/jackson/core/sym/CharsToNameCanonicalizer$Bucket;
astore 5
StackMap locals:
StackMap stack:
16: aload 5
ifnonnull 14
end local 5 17: iinc 4 1
StackMap locals:
StackMap stack:
18: iload 4
iload 3
if_icmplt 12
end local 4 19: iload 1
aload 0
getfield com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer._size:I
if_icmpeq 23
20: new java.lang.IllegalStateException
dup
ldc "Internal error: expected internal size %d vs calculated count %d"
iconst_2
anewarray java.lang.Object
dup
iconst_0
21: aload 0
getfield com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer._size:I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_1
iload 1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
22: invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
23: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 24 0 this Lcom/fasterxml/jackson/core/sym/CharsToNameCanonicalizer;
1 24 1 count I
2 24 2 size I
3 9 3 i I
5 7 4 symbol Ljava/lang/String;
10 24 3 bucketSize I
11 19 4 i I
13 17 5 b Lcom/fasterxml/jackson/core/sym/CharsToNameCanonicalizer$Bucket;
}
SourceFile: "CharsToNameCanonicalizer.java"
NestMembers:
com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer$Bucket com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer$TableInfo
InnerClasses:
public final Feature = com.fasterxml.jackson.core.JsonFactory$Feature of com.fasterxml.jackson.core.JsonFactory
final Bucket = com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer$Bucket of com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer
private final TableInfo = com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer$TableInfo of com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer