public final class com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer
super_class: java.lang.Object
{
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
private static final int MIN_HASH_SIZE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 16
protected static final int MAX_ENTRIES_FOR_REUSE;
descriptor: I
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
ConstantValue: 6000
protected final com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer _parent;
descriptor: Lcom/fasterxml/jackson/core/sym/ByteQuadsCanonicalizer;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
protected final java.util.concurrent.atomic.AtomicReference<com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer$TableInfo> _tableInfo;
descriptor: Ljava/util/concurrent/atomic/AtomicReference;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Signature: Ljava/util/concurrent/atomic/AtomicReference<Lcom/fasterxml/jackson/core/sym/ByteQuadsCanonicalizer$TableInfo;>;
protected final int _seed;
descriptor: I
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
protected final boolean _intern;
descriptor: Z
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
protected final boolean _failOnDoS;
descriptor: Z
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
protected int[] _hashArea;
descriptor: [I
flags: (0x0004) ACC_PROTECTED
protected int _hashSize;
descriptor: I
flags: (0x0004) ACC_PROTECTED
protected int _secondaryStart;
descriptor: I
flags: (0x0004) ACC_PROTECTED
protected int _tertiaryStart;
descriptor: I
flags: (0x0004) ACC_PROTECTED
protected int _tertiaryShift;
descriptor: I
flags: (0x0004) ACC_PROTECTED
protected int _count;
descriptor: I
flags: (0x0004) ACC_PROTECTED
protected java.lang.String[] _names;
descriptor: [Ljava/lang/String;
flags: (0x0004) ACC_PROTECTED
protected int _spilloverEnd;
descriptor: I
flags: (0x0004) ACC_PROTECTED
protected int _longNameOffset;
descriptor: I
flags: (0x0004) ACC_PROTECTED
protected boolean _hashShared;
descriptor: Z
flags: (0x0004) ACC_PROTECTED
private static final int MULT;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 33
private static final int MULT2;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 65599
private static final int MULT3;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 31
private void <init>(int, int);
descriptor: (II)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aconst_null
putfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._parent:Lcom/fasterxml/jackson/core/sym/ByteQuadsCanonicalizer;
2: aload 0
iconst_0
putfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._count:I
3: aload 0
iconst_1
putfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._hashShared:Z
4: aload 0
iload 2
putfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._seed:I
5: aload 0
iconst_0
putfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._intern:Z
6: aload 0
iconst_1
putfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._failOnDoS:Z
7: iload 1
bipush 16
if_icmpge 10
8: bipush 16
istore 1
9: goto 16
10: StackMap locals: com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer int int
StackMap stack:
iload 1
iload 1
iconst_1
isub
iand
ifeq 16
11: bipush 16
istore 3
start local 3 12: goto 14
13: StackMap locals: int
StackMap stack:
iload 3
iload 3
iadd
istore 3
14: StackMap locals:
StackMap stack:
iload 3
iload 1
if_icmplt 13
15: iload 3
istore 1
end local 3 16: StackMap locals:
StackMap stack:
aload 0
new java.util.concurrent.atomic.AtomicReference
dup
iload 1
invokestatic com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer$TableInfo.createInitial:(I)Lcom/fasterxml/jackson/core/sym/ByteQuadsCanonicalizer$TableInfo;
invokespecial java.util.concurrent.atomic.AtomicReference.<init>:(Ljava/lang/Object;)V
putfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._tableInfo:Ljava/util/concurrent/atomic/AtomicReference;
17: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lcom/fasterxml/jackson/core/sym/ByteQuadsCanonicalizer;
0 18 1 sz I
0 18 2 seed I
12 16 3 curr I
MethodParameters:
Name Flags
sz
seed
private void <init>(com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer, int, com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer$TableInfo, boolean, boolean);
descriptor: (Lcom/fasterxml/jackson/core/sym/ByteQuadsCanonicalizer;ILcom/fasterxml/jackson/core/sym/ByteQuadsCanonicalizer$TableInfo;ZZ)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=6, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._parent:Lcom/fasterxml/jackson/core/sym/ByteQuadsCanonicalizer;
2: aload 0
iload 2
putfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._seed:I
3: aload 0
iload 4
putfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._intern:Z
4: aload 0
iload 5
putfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._failOnDoS:Z
5: aload 0
aconst_null
putfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._tableInfo:Ljava/util/concurrent/atomic/AtomicReference;
6: aload 0
aload 3
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer$TableInfo.count:I
putfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._count:I
7: aload 0
aload 3
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer$TableInfo.size:I
putfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._hashSize:I
8: aload 0
aload 0
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._hashSize:I
iconst_2
ishl
putfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._secondaryStart:I
9: aload 0
aload 0
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._secondaryStart:I
aload 0
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._secondaryStart:I
iconst_1
ishr
iadd
putfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._tertiaryStart:I
10: aload 0
aload 3
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer$TableInfo.tertiaryShift:I
putfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._tertiaryShift:I
11: aload 0
aload 3
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer$TableInfo.mainHash:[I
putfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._hashArea:[I
12: aload 0
aload 3
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer$TableInfo.names:[Ljava/lang/String;
putfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._names:[Ljava/lang/String;
13: aload 0
aload 3
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer$TableInfo.spilloverEnd:I
putfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._spilloverEnd:I
14: aload 0
aload 3
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer$TableInfo.longNameOffset:I
putfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._longNameOffset:I
15: aload 0
iconst_1
putfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._hashShared:Z
16: 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 17 0 this Lcom/fasterxml/jackson/core/sym/ByteQuadsCanonicalizer;
0 17 1 parent Lcom/fasterxml/jackson/core/sym/ByteQuadsCanonicalizer;
0 17 2 seed I
0 17 3 state Lcom/fasterxml/jackson/core/sym/ByteQuadsCanonicalizer$TableInfo;
0 17 4 intern Z
0 17 5 failOnDoS Z
MethodParameters:
Name Flags
parent
seed
state
intern
failOnDoS
private void <init>(com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer$TableInfo);
descriptor: (Lcom/fasterxml/jackson/core/sym/ByteQuadsCanonicalizer$TableInfo;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, 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.ByteQuadsCanonicalizer._parent:Lcom/fasterxml/jackson/core/sym/ByteQuadsCanonicalizer;
2: aload 0
iconst_0
putfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._seed:I
3: aload 0
iconst_0
putfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._intern:Z
4: aload 0
iconst_1
putfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._failOnDoS:Z
5: aload 0
aconst_null
putfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._tableInfo:Ljava/util/concurrent/atomic/AtomicReference;
6: aload 0
iconst_m1
putfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._count:I
7: aload 0
aload 1
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer$TableInfo.mainHash:[I
putfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._hashArea:[I
8: aload 0
aload 1
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer$TableInfo.names:[Ljava/lang/String;
putfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._names:[Ljava/lang/String;
9: aload 0
aload 1
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer$TableInfo.size:I
putfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._hashSize:I
10: aload 0
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._hashArea:[I
arraylength
istore 2
start local 2 11: aload 0
iload 2
putfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._secondaryStart:I
12: aload 0
iload 2
putfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._tertiaryStart:I
13: aload 0
iconst_1
putfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._tertiaryShift:I
14: aload 0
iload 2
putfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._spilloverEnd:I
15: aload 0
iload 2
putfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._longNameOffset:I
16: aload 0
iconst_1
putfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._hashShared:Z
17: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lcom/fasterxml/jackson/core/sym/ByteQuadsCanonicalizer;
0 18 1 state Lcom/fasterxml/jackson/core/sym/ByteQuadsCanonicalizer$TableInfo;
11 18 2 end I
MethodParameters:
Name Flags
state
public static com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer createRoot();
descriptor: ()Lcom/fasterxml/jackson/core/sym/ByteQuadsCanonicalizer;
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.ByteQuadsCanonicalizer.createRoot:(I)Lcom/fasterxml/jackson/core/sym/ByteQuadsCanonicalizer;
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.ByteQuadsCanonicalizer createRoot(int);
descriptor: (I)Lcom/fasterxml/jackson/core/sym/ByteQuadsCanonicalizer;
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: new com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer
dup
bipush 64
iload 0
invokespecial com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer.<init>:(II)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.ByteQuadsCanonicalizer makeChild(int);
descriptor: (I)Lcom/fasterxml/jackson/core/sym/ByteQuadsCanonicalizer;
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=2, args_size=2
start local 0 start local 1 0: new com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer
dup
aload 0
aload 0
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._seed:I
1: aload 0
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._tableInfo:Ljava/util/concurrent/atomic/AtomicReference;
invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
checkcast com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer$TableInfo
2: getstatic com.fasterxml.jackson.core.JsonFactory$Feature.INTERN_FIELD_NAMES:Lcom/fasterxml/jackson/core/JsonFactory$Feature;
iload 1
invokevirtual com.fasterxml.jackson.core.JsonFactory$Feature.enabledIn:(I)Z
3: getstatic com.fasterxml.jackson.core.JsonFactory$Feature.FAIL_ON_SYMBOL_HASH_OVERFLOW:Lcom/fasterxml/jackson/core/JsonFactory$Feature;
iload 1
invokevirtual com.fasterxml.jackson.core.JsonFactory$Feature.enabledIn:(I)Z
4: invokespecial com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer.<init>:(Lcom/fasterxml/jackson/core/sym/ByteQuadsCanonicalizer;ILcom/fasterxml/jackson/core/sym/ByteQuadsCanonicalizer$TableInfo;ZZ)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/fasterxml/jackson/core/sym/ByteQuadsCanonicalizer;
0 5 1 flags I
MethodParameters:
Name Flags
flags
public com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer makeChildOrPlaceholder(int);
descriptor: (I)Lcom/fasterxml/jackson/core/sym/ByteQuadsCanonicalizer;
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=2, args_size=2
start local 0 start local 1 0: getstatic com.fasterxml.jackson.core.JsonFactory$Feature.CANONICALIZE_FIELD_NAMES:Lcom/fasterxml/jackson/core/JsonFactory$Feature;
iload 1
invokevirtual com.fasterxml.jackson.core.JsonFactory$Feature.enabledIn:(I)Z
ifeq 6
1: new com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer
dup
aload 0
aload 0
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._seed:I
2: aload 0
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._tableInfo:Ljava/util/concurrent/atomic/AtomicReference;
invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
checkcast com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer$TableInfo
3: getstatic com.fasterxml.jackson.core.JsonFactory$Feature.INTERN_FIELD_NAMES:Lcom/fasterxml/jackson/core/JsonFactory$Feature;
iload 1
invokevirtual com.fasterxml.jackson.core.JsonFactory$Feature.enabledIn:(I)Z
4: getstatic com.fasterxml.jackson.core.JsonFactory$Feature.FAIL_ON_SYMBOL_HASH_OVERFLOW:Lcom/fasterxml/jackson/core/JsonFactory$Feature;
iload 1
invokevirtual com.fasterxml.jackson.core.JsonFactory$Feature.enabledIn:(I)Z
5: invokespecial com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer.<init>:(Lcom/fasterxml/jackson/core/sym/ByteQuadsCanonicalizer;ILcom/fasterxml/jackson/core/sym/ByteQuadsCanonicalizer$TableInfo;ZZ)V
areturn
6: StackMap locals:
StackMap stack:
new com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer
dup
aload 0
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._tableInfo:Ljava/util/concurrent/atomic/AtomicReference;
invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
checkcast com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer$TableInfo
invokespecial com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer.<init>:(Lcom/fasterxml/jackson/core/sym/ByteQuadsCanonicalizer$TableInfo;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/fasterxml/jackson/core/sym/ByteQuadsCanonicalizer;
0 7 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
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._parent:Lcom/fasterxml/jackson/core/sym/ByteQuadsCanonicalizer;
ifnull 3
aload 0
invokevirtual com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer.maybeDirty:()Z
ifeq 3
1: aload 0
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._parent:Lcom/fasterxml/jackson/core/sym/ByteQuadsCanonicalizer;
new com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer$TableInfo
dup
aload 0
invokespecial com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer$TableInfo.<init>:(Lcom/fasterxml/jackson/core/sym/ByteQuadsCanonicalizer;)V
invokevirtual com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer.mergeChild:(Lcom/fasterxml/jackson/core/sym/ByteQuadsCanonicalizer$TableInfo;)V
2: aload 0
iconst_1
putfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._hashShared:Z
3: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/fasterxml/jackson/core/sym/ByteQuadsCanonicalizer;
private void mergeChild(com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer$TableInfo);
descriptor: (Lcom/fasterxml/jackson/core/sym/ByteQuadsCanonicalizer$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.ByteQuadsCanonicalizer$TableInfo.count:I
istore 2
start local 2 1: aload 0
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._tableInfo:Ljava/util/concurrent/atomic/AtomicReference;
invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
checkcast com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer$TableInfo
astore 3
start local 3 2: iload 2
aload 3
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer$TableInfo.count:I
if_icmpne 4
3: return
4: StackMap locals: int com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer$TableInfo
StackMap stack:
iload 2
sipush 6000
if_icmple 6
5: bipush 64
invokestatic com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer$TableInfo.createInitial:(I)Lcom/fasterxml/jackson/core/sym/ByteQuadsCanonicalizer$TableInfo;
astore 1
6: StackMap locals:
StackMap stack:
aload 0
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._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/ByteQuadsCanonicalizer;
0 8 1 childState Lcom/fasterxml/jackson/core/sym/ByteQuadsCanonicalizer$TableInfo;
1 8 2 childCount I
2 8 3 currState Lcom/fasterxml/jackson/core/sym/ByteQuadsCanonicalizer$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.ByteQuadsCanonicalizer._tableInfo:Ljava/util/concurrent/atomic/AtomicReference;
ifnull 2
1: aload 0
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._tableInfo:Ljava/util/concurrent/atomic/AtomicReference;
invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
checkcast com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer$TableInfo
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer$TableInfo.count:I
ireturn
2: StackMap locals:
StackMap stack:
aload 0
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._count:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/fasterxml/jackson/core/sym/ByteQuadsCanonicalizer;
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.ByteQuadsCanonicalizer._hashSize:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/fasterxml/jackson/core/sym/ByteQuadsCanonicalizer;
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.ByteQuadsCanonicalizer._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/ByteQuadsCanonicalizer;
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.ByteQuadsCanonicalizer._seed:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/fasterxml/jackson/core/sym/ByteQuadsCanonicalizer;
public boolean isCanonicalizing();
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.ByteQuadsCanonicalizer._parent:Lcom/fasterxml/jackson/core/sym/ByteQuadsCanonicalizer;
ifnull 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/fasterxml/jackson/core/sym/ByteQuadsCanonicalizer;
public int primaryCount();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=1
start local 0 0: iconst_0
istore 1
start local 1 1: iconst_3
istore 2
start local 2 2: aload 0
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._secondaryStart:I
istore 3
start local 3 3: goto 7
4: StackMap locals: int int int
StackMap stack:
aload 0
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._hashArea:[I
iload 2
iaload
ifeq 6
5: iinc 1 1
6: StackMap locals:
StackMap stack:
iinc 2 4
StackMap locals:
StackMap stack:
7: iload 2
iload 3
if_icmplt 4
end local 3 end local 2 8: iload 1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/fasterxml/jackson/core/sym/ByteQuadsCanonicalizer;
1 9 1 count I
2 8 2 offset I
3 8 3 end I
public int secondaryCount();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=1
start local 0 0: iconst_0
istore 1
start local 1 1: aload 0
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._secondaryStart:I
iconst_3
iadd
istore 2
start local 2 2: aload 0
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._tertiaryStart:I
istore 3
start local 3 3: goto 7
4: StackMap locals: int int int
StackMap stack:
aload 0
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._hashArea:[I
iload 2
iaload
ifeq 6
5: iinc 1 1
6: StackMap locals:
StackMap stack:
iinc 2 4
StackMap locals:
StackMap stack:
7: iload 2
iload 3
if_icmplt 4
end local 3 8: iload 1
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/fasterxml/jackson/core/sym/ByteQuadsCanonicalizer;
1 9 1 count I
2 9 2 offset I
3 8 3 end I
public int tertiaryCount();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=1
start local 0 0: iconst_0
istore 1
start local 1 1: aload 0
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._tertiaryStart:I
iconst_3
iadd
istore 2
start local 2 2: iload 2
aload 0
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._hashSize:I
iadd
istore 3
start local 3 3: goto 7
4: StackMap locals: int int int
StackMap stack:
aload 0
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._hashArea:[I
iload 2
iaload
ifeq 6
5: iinc 1 1
6: StackMap locals:
StackMap stack:
iinc 2 4
StackMap locals:
StackMap stack:
7: iload 2
iload 3
if_icmplt 4
end local 3 8: iload 1
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/fasterxml/jackson/core/sym/ByteQuadsCanonicalizer;
1 9 1 count I
2 9 2 offset I
3 8 3 end I
public int spilloverCount();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._spilloverEnd:I
aload 0
invokevirtual com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._spilloverStart:()I
isub
iconst_2
ishr
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/fasterxml/jackson/core/sym/ByteQuadsCanonicalizer;
public int totalCount();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=1
start local 0 0: iconst_0
istore 1
start local 1 1: iconst_3
istore 2
start local 2 2: aload 0
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._hashSize:I
iconst_3
ishl
istore 3
start local 3 3: goto 7
4: StackMap locals: int int int
StackMap stack:
aload 0
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._hashArea:[I
iload 2
iaload
ifeq 6
5: iinc 1 1
6: StackMap locals:
StackMap stack:
iinc 2 4
StackMap locals:
StackMap stack:
7: iload 2
iload 3
if_icmplt 4
end local 3 end local 2 8: iload 1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/fasterxml/jackson/core/sym/ByteQuadsCanonicalizer;
1 9 1 count I
2 8 2 offset I
3 8 3 end I
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=6, args_size=1
start local 0 0: aload 0
invokevirtual com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer.primaryCount:()I
istore 1
start local 1 1: aload 0
invokevirtual com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer.secondaryCount:()I
istore 2
start local 2 2: aload 0
invokevirtual com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer.tertiaryCount:()I
istore 3
start local 3 3: aload 0
invokevirtual com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer.spilloverCount:()I
istore 4
start local 4 4: aload 0
invokevirtual com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer.totalCount:()I
istore 5
start local 5 5: ldc "[%s: size=%d, hashSize=%d, %d/%d/%d/%d pri/sec/ter/spill (=%s), total:%d]"
bipush 9
anewarray java.lang.Object
dup
iconst_0
6: aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
aastore
dup
iconst_1
aload 0
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._count:I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_2
aload 0
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._hashSize:I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_3
7: iload 1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_4
iload 2
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_5
iload 3
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
bipush 6
iload 4
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
bipush 7
iload 1
iload 2
iadd
iload 3
iadd
iload 4
iadd
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
bipush 8
iload 5
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
8: invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
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 9 0 this Lcom/fasterxml/jackson/core/sym/ByteQuadsCanonicalizer;
1 9 1 pri I
2 9 2 sec I
3 9 3 tert I
4 9 4 spill I
5 9 5 total I
public java.lang.String findName(int);
descriptor: (I)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=6, args_size=2
start local 0 start local 1 0: aload 0
aload 0
iload 1
invokevirtual com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer.calcHash:(I)I
invokevirtual com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._calcOffset:(I)I
istore 2
start local 2 1: aload 0
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._hashArea:[I
astore 3
start local 3 2: aload 3
iload 2
iconst_3
iadd
iaload
istore 4
start local 4 3: iload 4
iconst_1
if_icmpne 6
4: aload 3
iload 2
iaload
iload 1
if_icmpne 8
5: aload 0
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._names:[Ljava/lang/String;
iload 2
iconst_2
ishr
aaload
areturn
6: StackMap locals: int int[] int
StackMap stack:
iload 4
ifne 8
7: aconst_null
areturn
8: StackMap locals:
StackMap stack:
aload 0
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._secondaryStart:I
iload 2
iconst_3
ishr
iconst_2
ishl
iadd
istore 5
start local 5 9: aload 3
iload 5
iconst_3
iadd
iaload
istore 4
10: iload 4
iconst_1
if_icmpne 13
11: aload 3
iload 5
iaload
iload 1
if_icmpne 15
12: aload 0
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._names:[Ljava/lang/String;
iload 5
iconst_2
ishr
aaload
areturn
13: StackMap locals: int
StackMap stack:
iload 4
ifne 15
14: aconst_null
areturn
15: StackMap locals:
StackMap stack:
aload 0
iload 2
iload 1
invokevirtual com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._findSecondary:(II)Ljava/lang/String;
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 16 0 this Lcom/fasterxml/jackson/core/sym/ByteQuadsCanonicalizer;
0 16 1 q1 I
1 16 2 offset I
2 16 3 hashArea [I
3 16 4 len I
9 16 5 offset2 I
MethodParameters:
Name Flags
q1
public java.lang.String findName(int, int);
descriptor: (II)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 0
iload 1
iload 2
invokevirtual com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer.calcHash:(II)I
invokevirtual com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._calcOffset:(I)I
istore 3
start local 3 1: aload 0
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._hashArea:[I
astore 4
start local 4 2: aload 4
iload 3
iconst_3
iadd
iaload
istore 5
start local 5 3: iload 5
iconst_2
if_icmpne 6
4: iload 1
aload 4
iload 3
iaload
if_icmpne 8
iload 2
aload 4
iload 3
iconst_1
iadd
iaload
if_icmpne 8
5: aload 0
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._names:[Ljava/lang/String;
iload 3
iconst_2
ishr
aaload
areturn
6: StackMap locals: int int[] int
StackMap stack:
iload 5
ifne 8
7: aconst_null
areturn
8: StackMap locals:
StackMap stack:
aload 0
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._secondaryStart:I
iload 3
iconst_3
ishr
iconst_2
ishl
iadd
istore 6
start local 6 9: aload 4
iload 6
iconst_3
iadd
iaload
istore 5
10: iload 5
iconst_2
if_icmpne 13
11: iload 1
aload 4
iload 6
iaload
if_icmpne 15
iload 2
aload 4
iload 6
iconst_1
iadd
iaload
if_icmpne 15
12: aload 0
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._names:[Ljava/lang/String;
iload 6
iconst_2
ishr
aaload
areturn
13: StackMap locals: int
StackMap stack:
iload 5
ifne 15
14: aconst_null
areturn
15: StackMap locals:
StackMap stack:
aload 0
iload 3
iload 1
iload 2
invokevirtual com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._findSecondary:(III)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 16 0 this Lcom/fasterxml/jackson/core/sym/ByteQuadsCanonicalizer;
0 16 1 q1 I
0 16 2 q2 I
1 16 3 offset I
2 16 4 hashArea [I
3 16 5 len I
9 16 6 offset2 I
MethodParameters:
Name Flags
q1
q2
public java.lang.String findName(int, int, int);
descriptor: (III)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 0
iload 1
iload 2
iload 3
invokevirtual com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer.calcHash:(III)I
invokevirtual com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._calcOffset:(I)I
istore 4
start local 4 1: aload 0
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._hashArea:[I
astore 5
start local 5 2: aload 5
iload 4
iconst_3
iadd
iaload
istore 6
start local 6 3: iload 6
iconst_3
if_icmpne 6
4: iload 1
aload 5
iload 4
iaload
if_icmpne 8
aload 5
iload 4
iconst_1
iadd
iaload
iload 2
if_icmpne 8
aload 5
iload 4
iconst_2
iadd
iaload
iload 3
if_icmpne 8
5: aload 0
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._names:[Ljava/lang/String;
iload 4
iconst_2
ishr
aaload
areturn
6: StackMap locals: int int[] int
StackMap stack:
iload 6
ifne 8
7: aconst_null
areturn
8: StackMap locals:
StackMap stack:
aload 0
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._secondaryStart:I
iload 4
iconst_3
ishr
iconst_2
ishl
iadd
istore 7
start local 7 9: aload 5
iload 7
iconst_3
iadd
iaload
istore 6
10: iload 6
iconst_3
if_icmpne 13
11: iload 1
aload 5
iload 7
iaload
if_icmpne 15
aload 5
iload 7
iconst_1
iadd
iaload
iload 2
if_icmpne 15
aload 5
iload 7
iconst_2
iadd
iaload
iload 3
if_icmpne 15
12: aload 0
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._names:[Ljava/lang/String;
iload 7
iconst_2
ishr
aaload
areturn
13: StackMap locals: int
StackMap stack:
iload 6
ifne 15
14: aconst_null
areturn
15: StackMap locals:
StackMap stack:
aload 0
iload 4
iload 1
iload 2
iload 3
invokevirtual com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._findSecondary:(IIII)Ljava/lang/String;
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 16 0 this Lcom/fasterxml/jackson/core/sym/ByteQuadsCanonicalizer;
0 16 1 q1 I
0 16 2 q2 I
0 16 3 q3 I
1 16 4 offset I
2 16 5 hashArea [I
3 16 6 len I
9 16 7 offset2 I
MethodParameters:
Name Flags
q1
q2
q3
public java.lang.String findName(int[], int);
descriptor: ([II)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=9, args_size=3
start local 0 start local 1 start local 2 0: iload 2
iconst_4
if_icmpge 6
1: iload 2
tableswitch { // 1 - 3
1: 4
2: 3
3: 2
default: 5
}
2: StackMap locals:
StackMap stack:
aload 0
aload 1
iconst_0
iaload
aload 1
iconst_1
iaload
aload 1
iconst_2
iaload
invokevirtual com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer.findName:(III)Ljava/lang/String;
areturn
3: StackMap locals:
StackMap stack:
aload 0
aload 1
iconst_0
iaload
aload 1
iconst_1
iaload
invokevirtual com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer.findName:(II)Ljava/lang/String;
areturn
4: StackMap locals:
StackMap stack:
aload 0
aload 1
iconst_0
iaload
invokevirtual com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer.findName:(I)Ljava/lang/String;
areturn
5: StackMap locals:
StackMap stack:
ldc ""
areturn
6: StackMap locals:
StackMap stack:
aload 0
aload 1
iload 2
invokevirtual com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer.calcHash:([II)I
istore 3
start local 3 7: aload 0
iload 3
invokevirtual com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._calcOffset:(I)I
istore 4
start local 4 8: aload 0
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._hashArea:[I
astore 5
start local 5 9: aload 5
iload 4
iconst_3
iadd
iaload
istore 6
start local 6 10: iload 3
aload 5
iload 4
iaload
if_icmpne 13
iload 6
iload 2
if_icmpne 13
11: aload 0
aload 1
iload 2
aload 5
iload 4
iconst_1
iadd
iaload
invokevirtual com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._verifyLongName:([III)Z
ifeq 13
12: aload 0
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._names:[Ljava/lang/String;
iload 4
iconst_2
ishr
aaload
areturn
13: StackMap locals: com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer int[] int int int int[] int
StackMap stack:
iload 6
ifne 15
14: aconst_null
areturn
15: StackMap locals:
StackMap stack:
aload 0
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._secondaryStart:I
iload 4
iconst_3
ishr
iconst_2
ishl
iadd
istore 7
start local 7 16: aload 5
iload 7
iconst_3
iadd
iaload
istore 8
start local 8 17: iload 3
aload 5
iload 7
iaload
if_icmpne 20
iload 8
iload 2
if_icmpne 20
18: aload 0
aload 1
iload 2
aload 5
iload 7
iconst_1
iadd
iaload
invokevirtual com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._verifyLongName:([III)Z
ifeq 20
19: aload 0
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._names:[Ljava/lang/String;
iload 7
iconst_2
ishr
aaload
areturn
20: StackMap locals: int int
StackMap stack:
aload 0
iload 4
iload 3
aload 1
iload 2
invokevirtual com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._findSecondary:(II[II)Ljava/lang/String;
areturn
end local 8 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 21 0 this Lcom/fasterxml/jackson/core/sym/ByteQuadsCanonicalizer;
0 21 1 q [I
0 21 2 qlen I
7 21 3 hash I
8 21 4 offset I
9 21 5 hashArea [I
10 21 6 len I
16 21 7 offset2 I
17 21 8 len2 I
MethodParameters:
Name Flags
q
qlen
private final int _calcOffset(int);
descriptor: (I)I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: iload 1
aload 0
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._hashSize:I
iconst_1
isub
iand
istore 2
start local 2 1: iload 2
iconst_2
ishl
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/fasterxml/jackson/core/sym/ByteQuadsCanonicalizer;
0 2 1 hash I
1 2 2 ix I
MethodParameters:
Name Flags
hash
private java.lang.String _findSecondary(int, int);
descriptor: (II)Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=8, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._tertiaryStart:I
iload 1
aload 0
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._tertiaryShift:I
iconst_2
iadd
ishr
aload 0
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._tertiaryShift:I
ishl
iadd
istore 3
start local 3 1: aload 0
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._hashArea:[I
astore 4
start local 4 2: iconst_1
aload 0
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._tertiaryShift:I
ishl
istore 5
start local 5 3: iload 3
iload 5
iadd
istore 6
start local 6 4: goto 11
5: StackMap locals: com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer int int int int[] int int
StackMap stack:
aload 4
iload 3
iconst_3
iadd
iaload
istore 7
start local 7 6: iload 2
aload 4
iload 3
iaload
if_icmpne 8
iconst_1
iload 7
if_icmpne 8
7: aload 0
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._names:[Ljava/lang/String;
iload 3
iconst_2
ishr
aaload
areturn
8: StackMap locals: int
StackMap stack:
iload 7
ifne 10
9: aconst_null
areturn
end local 7 10: StackMap locals:
StackMap stack:
iinc 3 4
StackMap locals:
StackMap stack:
11: iload 3
iload 6
if_icmplt 5
end local 6 12: aload 0
invokevirtual com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._spilloverStart:()I
istore 3
goto 16
13: StackMap locals:
StackMap stack:
iload 2
aload 4
iload 3
iaload
if_icmpne 15
iconst_1
aload 4
iload 3
iconst_3
iadd
iaload
if_icmpne 15
14: aload 0
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._names:[Ljava/lang/String;
iload 3
iconst_2
ishr
aaload
areturn
15: StackMap locals:
StackMap stack:
iinc 3 4
StackMap locals:
StackMap stack:
16: iload 3
aload 0
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._spilloverEnd:I
if_icmplt 13
17: 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 18 0 this Lcom/fasterxml/jackson/core/sym/ByteQuadsCanonicalizer;
0 18 1 origOffset I
0 18 2 q1 I
1 18 3 offset I
2 18 4 hashArea [I
3 18 5 bucketSize I
4 12 6 end I
6 10 7 len I
MethodParameters:
Name Flags
origOffset
q1
private java.lang.String _findSecondary(int, int, int);
descriptor: (III)Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=9, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._tertiaryStart:I
iload 1
aload 0
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._tertiaryShift:I
iconst_2
iadd
ishr
aload 0
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._tertiaryShift:I
ishl
iadd
istore 4
start local 4 1: aload 0
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._hashArea:[I
astore 5
start local 5 2: iconst_1
aload 0
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._tertiaryShift:I
ishl
istore 6
start local 6 3: iload 4
iload 6
iadd
istore 7
start local 7 4: goto 11
5: StackMap locals: com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer int int int int int[] int int
StackMap stack:
aload 5
iload 4
iconst_3
iadd
iaload
istore 8
start local 8 6: iload 2
aload 5
iload 4
iaload
if_icmpne 8
iload 3
aload 5
iload 4
iconst_1
iadd
iaload
if_icmpne 8
iconst_2
iload 8
if_icmpne 8
7: aload 0
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._names:[Ljava/lang/String;
iload 4
iconst_2
ishr
aaload
areturn
8: StackMap locals: int
StackMap stack:
iload 8
ifne 10
9: aconst_null
areturn
end local 8 10: StackMap locals:
StackMap stack:
iinc 4 4
StackMap locals:
StackMap stack:
11: iload 4
iload 7
if_icmplt 5
end local 7 12: aload 0
invokevirtual com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._spilloverStart:()I
istore 4
goto 16
13: StackMap locals:
StackMap stack:
iload 2
aload 5
iload 4
iaload
if_icmpne 15
iload 3
aload 5
iload 4
iconst_1
iadd
iaload
if_icmpne 15
iconst_2
aload 5
iload 4
iconst_3
iadd
iaload
if_icmpne 15
14: aload 0
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._names:[Ljava/lang/String;
iload 4
iconst_2
ishr
aaload
areturn
15: StackMap locals:
StackMap stack:
iinc 4 4
StackMap locals:
StackMap stack:
16: iload 4
aload 0
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._spilloverEnd:I
if_icmplt 13
17: aconst_null
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 18 0 this Lcom/fasterxml/jackson/core/sym/ByteQuadsCanonicalizer;
0 18 1 origOffset I
0 18 2 q1 I
0 18 3 q2 I
1 18 4 offset I
2 18 5 hashArea [I
3 18 6 bucketSize I
4 12 7 end I
6 10 8 len I
MethodParameters:
Name Flags
origOffset
q1
q2
private java.lang.String _findSecondary(int, int, int, int);
descriptor: (IIII)Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=10, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._tertiaryStart:I
iload 1
aload 0
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._tertiaryShift:I
iconst_2
iadd
ishr
aload 0
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._tertiaryShift:I
ishl
iadd
istore 5
start local 5 1: aload 0
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._hashArea:[I
astore 6
start local 6 2: iconst_1
aload 0
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._tertiaryShift:I
ishl
istore 7
start local 7 3: iload 5
iload 7
iadd
istore 8
start local 8 4: goto 11
5: StackMap locals: com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer int int int int int int[] int int
StackMap stack:
aload 6
iload 5
iconst_3
iadd
iaload
istore 9
start local 9 6: iload 2
aload 6
iload 5
iaload
if_icmpne 8
iload 3
aload 6
iload 5
iconst_1
iadd
iaload
if_icmpne 8
iload 4
aload 6
iload 5
iconst_2
iadd
iaload
if_icmpne 8
iconst_3
iload 9
if_icmpne 8
7: aload 0
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._names:[Ljava/lang/String;
iload 5
iconst_2
ishr
aaload
areturn
8: StackMap locals: int
StackMap stack:
iload 9
ifne 10
9: aconst_null
areturn
end local 9 10: StackMap locals:
StackMap stack:
iinc 5 4
StackMap locals:
StackMap stack:
11: iload 5
iload 8
if_icmplt 5
end local 8 12: aload 0
invokevirtual com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._spilloverStart:()I
istore 5
goto 17
13: StackMap locals:
StackMap stack:
iload 2
aload 6
iload 5
iaload
if_icmpne 16
iload 3
aload 6
iload 5
iconst_1
iadd
iaload
if_icmpne 16
iload 4
aload 6
iload 5
iconst_2
iadd
iaload
if_icmpne 16
14: iconst_3
aload 6
iload 5
iconst_3
iadd
iaload
if_icmpne 16
15: aload 0
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._names:[Ljava/lang/String;
iload 5
iconst_2
ishr
aaload
areturn
16: StackMap locals:
StackMap stack:
iinc 5 4
StackMap locals:
StackMap stack:
17: iload 5
aload 0
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._spilloverEnd:I
if_icmplt 13
18: aconst_null
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 19 0 this Lcom/fasterxml/jackson/core/sym/ByteQuadsCanonicalizer;
0 19 1 origOffset I
0 19 2 q1 I
0 19 3 q2 I
0 19 4 q3 I
1 19 5 offset I
2 19 6 hashArea [I
3 19 7 bucketSize I
4 12 8 end I
6 10 9 len I
MethodParameters:
Name Flags
origOffset
q1
q2
q3
private java.lang.String _findSecondary(int, int, int[], int);
descriptor: (II[II)Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=10, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._tertiaryStart:I
iload 1
aload 0
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._tertiaryShift:I
iconst_2
iadd
ishr
aload 0
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._tertiaryShift:I
ishl
iadd
istore 5
start local 5 1: aload 0
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._hashArea:[I
astore 6
start local 6 2: iconst_1
aload 0
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._tertiaryShift:I
ishl
istore 7
start local 7 3: iload 5
iload 7
iadd
istore 8
start local 8 4: goto 12
5: StackMap locals: com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer int int int[] int int int[] int int
StackMap stack:
aload 6
iload 5
iconst_3
iadd
iaload
istore 9
start local 9 6: iload 2
aload 6
iload 5
iaload
if_icmpne 9
iload 4
iload 9
if_icmpne 9
7: aload 0
aload 3
iload 4
aload 6
iload 5
iconst_1
iadd
iaload
invokevirtual com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._verifyLongName:([III)Z
ifeq 9
8: aload 0
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._names:[Ljava/lang/String;
iload 5
iconst_2
ishr
aaload
areturn
9: StackMap locals: int
StackMap stack:
iload 9
ifne 11
10: aconst_null
areturn
end local 9 11: StackMap locals:
StackMap stack:
iinc 5 4
StackMap locals:
StackMap stack:
12: iload 5
iload 8
if_icmplt 5
end local 8 13: aload 0
invokevirtual com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._spilloverStart:()I
istore 5
goto 18
14: StackMap locals:
StackMap stack:
iload 2
aload 6
iload 5
iaload
if_icmpne 17
iload 4
aload 6
iload 5
iconst_3
iadd
iaload
if_icmpne 17
15: aload 0
aload 3
iload 4
aload 6
iload 5
iconst_1
iadd
iaload
invokevirtual com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._verifyLongName:([III)Z
ifeq 17
16: aload 0
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._names:[Ljava/lang/String;
iload 5
iconst_2
ishr
aaload
areturn
17: StackMap locals:
StackMap stack:
iinc 5 4
StackMap locals:
StackMap stack:
18: iload 5
aload 0
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._spilloverEnd:I
if_icmplt 14
19: aconst_null
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 20 0 this Lcom/fasterxml/jackson/core/sym/ByteQuadsCanonicalizer;
0 20 1 origOffset I
0 20 2 hash I
0 20 3 q [I
0 20 4 qlen I
1 20 5 offset I
2 20 6 hashArea [I
3 20 7 bucketSize I
4 13 8 end I
6 11 9 len I
MethodParameters:
Name Flags
origOffset
hash
q
qlen
private boolean _verifyLongName(int[], int, int);
descriptor: ([III)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._hashArea:[I
astore 4
start local 4 1: iconst_0
istore 5
start local 5 2: iload 2
tableswitch { // 4 - 8
4: 8
5: 7
6: 6
7: 5
8: 4
default: 3
}
3: StackMap locals: int[] int
StackMap stack:
aload 0
aload 1
iload 2
iload 3
invokevirtual com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._verifyLongName2:([III)Z
ireturn
4: StackMap locals:
StackMap stack:
aload 1
iload 5
iinc 5 1
iaload
aload 4
iload 3
iinc 3 1
iaload
if_icmpeq 5
iconst_0
ireturn
5: StackMap locals:
StackMap stack:
aload 1
iload 5
iinc 5 1
iaload
aload 4
iload 3
iinc 3 1
iaload
if_icmpeq 6
iconst_0
ireturn
6: StackMap locals:
StackMap stack:
aload 1
iload 5
iinc 5 1
iaload
aload 4
iload 3
iinc 3 1
iaload
if_icmpeq 7
iconst_0
ireturn
7: StackMap locals:
StackMap stack:
aload 1
iload 5
iinc 5 1
iaload
aload 4
iload 3
iinc 3 1
iaload
if_icmpeq 8
iconst_0
ireturn
8: StackMap locals:
StackMap stack:
aload 1
iload 5
iinc 5 1
iaload
aload 4
iload 3
iinc 3 1
iaload
if_icmpeq 9
iconst_0
ireturn
9: StackMap locals:
StackMap stack:
aload 1
iload 5
iinc 5 1
iaload
aload 4
iload 3
iinc 3 1
iaload
if_icmpeq 10
iconst_0
ireturn
10: StackMap locals:
StackMap stack:
aload 1
iload 5
iinc 5 1
iaload
aload 4
iload 3
iinc 3 1
iaload
if_icmpeq 11
iconst_0
ireturn
11: StackMap locals:
StackMap stack:
aload 1
iload 5
iinc 5 1
iaload
aload 4
iload 3
iinc 3 1
iaload
if_icmpeq 12
iconst_0
ireturn
12: StackMap locals:
StackMap stack:
iconst_1
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 13 0 this Lcom/fasterxml/jackson/core/sym/ByteQuadsCanonicalizer;
0 13 1 q [I
0 13 2 qlen I
0 13 3 spillOffset I
1 13 4 hashArea [I
2 13 5 ix I
MethodParameters:
Name Flags
q
qlen
spillOffset
private boolean _verifyLongName2(int[], int, int);
descriptor: ([III)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iconst_0
istore 4
start local 4 1: StackMap locals: int
StackMap stack:
aload 1
iload 4
iinc 4 1
iaload
aload 0
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._hashArea:[I
iload 3
iinc 3 1
iaload
if_icmpeq 3
2: iconst_0
ireturn
3: StackMap locals:
StackMap stack:
iload 4
iload 2
4: if_icmplt 1
5: iconst_1
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/fasterxml/jackson/core/sym/ByteQuadsCanonicalizer;
0 6 1 q [I
0 6 2 qlen I
0 6 3 spillOffset I
1 6 4 ix I
MethodParameters:
Name Flags
q
qlen
spillOffset
public java.lang.String addName(java.lang.String, int);
descriptor: (Ljava/lang/String;I)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._verifySharing:()V
1: aload 0
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._intern:Z
ifeq 3
2: getstatic com.fasterxml.jackson.core.util.InternCache.instance:Lcom/fasterxml/jackson/core/util/InternCache;
aload 1
invokevirtual com.fasterxml.jackson.core.util.InternCache.intern:(Ljava/lang/String;)Ljava/lang/String;
astore 1
3: StackMap locals:
StackMap stack:
aload 0
aload 0
iload 2
invokevirtual com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer.calcHash:(I)I
invokevirtual com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._findOffsetForAdd:(I)I
istore 3
start local 3 4: aload 0
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._hashArea:[I
iload 3
iload 2
iastore
5: aload 0
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._hashArea:[I
iload 3
iconst_3
iadd
iconst_1
iastore
6: aload 0
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._names:[Ljava/lang/String;
iload 3
iconst_2
ishr
aload 1
aastore
7: aload 0
dup
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._count:I
iconst_1
iadd
putfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._count:I
8: aload 1
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/fasterxml/jackson/core/sym/ByteQuadsCanonicalizer;
0 9 1 name Ljava/lang/String;
0 9 2 q1 I
4 9 3 offset I
MethodParameters:
Name Flags
name
q1
public java.lang.String addName(java.lang.String, int, int);
descriptor: (Ljava/lang/String;II)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokevirtual com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._verifySharing:()V
1: aload 0
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._intern:Z
ifeq 3
2: getstatic com.fasterxml.jackson.core.util.InternCache.instance:Lcom/fasterxml/jackson/core/util/InternCache;
aload 1
invokevirtual com.fasterxml.jackson.core.util.InternCache.intern:(Ljava/lang/String;)Ljava/lang/String;
astore 1
3: StackMap locals:
StackMap stack:
aload 0
iload 2
iload 3
invokevirtual com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer.calcHash:(II)I
istore 4
start local 4 4: aload 0
iload 4
invokevirtual com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._findOffsetForAdd:(I)I
istore 5
start local 5 5: aload 0
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._hashArea:[I
iload 5
iload 2
iastore
6: aload 0
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._hashArea:[I
iload 5
iconst_1
iadd
iload 3
iastore
7: aload 0
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._hashArea:[I
iload 5
iconst_3
iadd
iconst_2
iastore
8: aload 0
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._names:[Ljava/lang/String;
iload 5
iconst_2
ishr
aload 1
aastore
9: aload 0
dup
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._count:I
iconst_1
iadd
putfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._count:I
10: aload 1
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 11 0 this Lcom/fasterxml/jackson/core/sym/ByteQuadsCanonicalizer;
0 11 1 name Ljava/lang/String;
0 11 2 q1 I
0 11 3 q2 I
4 11 4 hash I
5 11 5 offset I
MethodParameters:
Name Flags
name
q1
q2
public java.lang.String addName(java.lang.String, int, int, int);
descriptor: (Ljava/lang/String;III)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
invokevirtual com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._verifySharing:()V
1: aload 0
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._intern:Z
ifeq 3
2: getstatic com.fasterxml.jackson.core.util.InternCache.instance:Lcom/fasterxml/jackson/core/util/InternCache;
aload 1
invokevirtual com.fasterxml.jackson.core.util.InternCache.intern:(Ljava/lang/String;)Ljava/lang/String;
astore 1
3: StackMap locals:
StackMap stack:
aload 0
aload 0
iload 2
iload 3
iload 4
invokevirtual com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer.calcHash:(III)I
invokevirtual com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._findOffsetForAdd:(I)I
istore 5
start local 5 4: aload 0
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._hashArea:[I
iload 5
iload 2
iastore
5: aload 0
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._hashArea:[I
iload 5
iconst_1
iadd
iload 3
iastore
6: aload 0
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._hashArea:[I
iload 5
iconst_2
iadd
iload 4
iastore
7: aload 0
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._hashArea:[I
iload 5
iconst_3
iadd
iconst_3
iastore
8: aload 0
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._names:[Ljava/lang/String;
iload 5
iconst_2
ishr
aload 1
aastore
9: aload 0
dup
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._count:I
iconst_1
iadd
putfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._count:I
10: aload 1
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 11 0 this Lcom/fasterxml/jackson/core/sym/ByteQuadsCanonicalizer;
0 11 1 name Ljava/lang/String;
0 11 2 q1 I
0 11 3 q2 I
0 11 4 q3 I
4 11 5 offset I
MethodParameters:
Name Flags
name
q1
q2
q3
public java.lang.String addName(java.lang.String, int[], int);
descriptor: (Ljava/lang/String;[II)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokevirtual com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._verifySharing:()V
1: aload 0
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._intern:Z
ifeq 3
2: getstatic com.fasterxml.jackson.core.util.InternCache.instance:Lcom/fasterxml/jackson/core/util/InternCache;
aload 1
invokevirtual com.fasterxml.jackson.core.util.InternCache.intern:(Ljava/lang/String;)Ljava/lang/String;
astore 1
3: StackMap locals:
StackMap stack:
iload 3
tableswitch { // 1 - 3
1: 4
2: 8
3: 13
default: 19
}
4: StackMap locals:
StackMap stack:
aload 0
aload 0
aload 2
iconst_0
iaload
invokevirtual com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer.calcHash:(I)I
invokevirtual com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._findOffsetForAdd:(I)I
istore 4
start local 4 5: aload 0
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._hashArea:[I
iload 4
aload 2
iconst_0
iaload
iastore
6: aload 0
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._hashArea:[I
iload 4
iconst_3
iadd
iconst_1
iastore
7: goto 25
end local 4 8: StackMap locals:
StackMap stack:
aload 0
aload 0
aload 2
iconst_0
iaload
aload 2
iconst_1
iaload
invokevirtual com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer.calcHash:(II)I
invokevirtual com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._findOffsetForAdd:(I)I
istore 4
start local 4 9: aload 0
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._hashArea:[I
iload 4
aload 2
iconst_0
iaload
iastore
10: aload 0
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._hashArea:[I
iload 4
iconst_1
iadd
aload 2
iconst_1
iaload
iastore
11: aload 0
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._hashArea:[I
iload 4
iconst_3
iadd
iconst_2
iastore
12: goto 25
end local 4 13: StackMap locals:
StackMap stack:
aload 0
aload 0
aload 2
iconst_0
iaload
aload 2
iconst_1
iaload
aload 2
iconst_2
iaload
invokevirtual com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer.calcHash:(III)I
invokevirtual com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._findOffsetForAdd:(I)I
istore 4
start local 4 14: aload 0
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._hashArea:[I
iload 4
aload 2
iconst_0
iaload
iastore
15: aload 0
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._hashArea:[I
iload 4
iconst_1
iadd
aload 2
iconst_1
iaload
iastore
16: aload 0
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._hashArea:[I
iload 4
iconst_2
iadd
aload 2
iconst_2
iaload
iastore
17: aload 0
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._hashArea:[I
iload 4
iconst_3
iadd
iconst_3
iastore
18: goto 25
end local 4 19: StackMap locals:
StackMap stack:
aload 0
aload 2
iload 3
invokevirtual com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer.calcHash:([II)I
istore 5
start local 5 20: aload 0
iload 5
invokevirtual com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._findOffsetForAdd:(I)I
istore 4
start local 4 21: aload 0
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._hashArea:[I
iload 4
iload 5
iastore
22: aload 0
aload 2
iload 3
invokevirtual com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._appendLongName:([II)I
istore 6
start local 6 23: aload 0
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._hashArea:[I
iload 4
iconst_1
iadd
iload 6
iastore
24: aload 0
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._hashArea:[I
iload 4
iconst_3
iadd
iload 3
iastore
end local 6 end local 5 25: StackMap locals: int
StackMap stack:
aload 0
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._names:[Ljava/lang/String;
iload 4
iconst_2
ishr
aload 1
aastore
26: aload 0
dup
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._count:I
iconst_1
iadd
putfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._count:I
27: 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 28 0 this Lcom/fasterxml/jackson/core/sym/ByteQuadsCanonicalizer;
0 28 1 name Ljava/lang/String;
0 28 2 q [I
0 28 3 qlen I
5 8 4 offset I
9 13 4 offset I
14 19 4 offset I
21 28 4 offset I
20 25 5 hash I
23 25 6 longStart I
MethodParameters:
Name Flags
name
q
qlen
private void _verifySharing();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._hashShared:Z
ifeq 8
1: aload 0
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._parent:Lcom/fasterxml/jackson/core/sym/ByteQuadsCanonicalizer;
ifnonnull 5
2: aload 0
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._count:I
ifne 4
3: new java.lang.IllegalStateException
dup
ldc "Cannot add names to Root symbol table"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
new java.lang.IllegalStateException
dup
ldc "Cannot add names to Placeholder symbol table"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._hashArea:[I
aload 0
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._hashArea:[I
arraylength
invokestatic java.util.Arrays.copyOf:([II)[I
putfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._hashArea:[I
6: aload 0
aload 0
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._names:[Ljava/lang/String;
aload 0
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._names:[Ljava/lang/String;
arraylength
invokestatic java.util.Arrays.copyOf:([Ljava/lang/Object;I)[Ljava/lang/Object;
checkcast java.lang.String[]
putfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._names:[Ljava/lang/String;
7: aload 0
iconst_0
putfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._hashShared:Z
8: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/fasterxml/jackson/core/sym/ByteQuadsCanonicalizer;
private int _findOffsetForAdd(int);
descriptor: (I)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=7, args_size=2
start local 0 start local 1 0: aload 0
iload 1
invokevirtual com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._calcOffset:(I)I
istore 2
start local 2 1: aload 0
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._hashArea:[I
astore 3
start local 3 2: aload 3
iload 2
iconst_3
iadd
iaload
ifne 4
3: iload 2
ireturn
4: StackMap locals: int int[]
StackMap stack:
aload 0
invokevirtual com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._checkNeedForRehash:()Z
ifeq 6
5: aload 0
iload 1
invokevirtual com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._resizeAndFindOffsetForAdd:(I)I
ireturn
6: StackMap locals:
StackMap stack:
aload 0
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._secondaryStart:I
iload 2
iconst_3
ishr
iconst_2
ishl
iadd
istore 4
start local 4 7: aload 3
iload 4
iconst_3
iadd
iaload
ifne 9
8: iload 4
ireturn
9: StackMap locals: int
StackMap stack:
aload 0
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._tertiaryStart:I
iload 2
aload 0
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._tertiaryShift:I
iconst_2
iadd
ishr
aload 0
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._tertiaryShift:I
ishl
iadd
istore 4
10: iconst_1
aload 0
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._tertiaryShift:I
ishl
istore 5
start local 5 11: iload 4
iload 5
iadd
istore 6
start local 6 12: goto 16
13: StackMap locals: int int
StackMap stack:
aload 3
iload 4
iconst_3
iadd
iaload
ifne 15
14: iload 4
ireturn
15: StackMap locals:
StackMap stack:
iinc 4 4
StackMap locals:
StackMap stack:
16: iload 4
iload 6
if_icmplt 13
end local 6 17: aload 0
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._spilloverEnd:I
istore 2
18: aload 0
dup
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._spilloverEnd:I
iconst_4
iadd
putfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._spilloverEnd:I
19: aload 0
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._hashSize:I
iconst_3
ishl
istore 6
start local 6 20: aload 0
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._spilloverEnd:I
iload 6
if_icmplt 24
21: aload 0
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._failOnDoS:Z
ifeq 23
22: aload 0
invokevirtual com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._reportTooManyCollisions:()V
23: StackMap locals:
StackMap stack:
aload 0
iload 1
invokevirtual com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._resizeAndFindOffsetForAdd:(I)I
ireturn
24: StackMap locals:
StackMap stack:
iload 2
ireturn
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 25 0 this Lcom/fasterxml/jackson/core/sym/ByteQuadsCanonicalizer;
0 25 1 hash I
1 25 2 offset I
2 25 3 hashArea [I
7 25 4 offset2 I
11 25 5 bucketSize I
12 17 6 end I
20 25 6 end I
MethodParameters:
Name Flags
hash
private int _resizeAndFindOffsetForAdd(int);
descriptor: (I)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=7, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer.rehash:()V
1: aload 0
iload 1
invokevirtual com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._calcOffset:(I)I
istore 2
start local 2 2: aload 0
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._hashArea:[I
astore 3
start local 3 3: aload 3
iload 2
iconst_3
iadd
iaload
ifne 5
4: iload 2
ireturn
5: StackMap locals: int int[]
StackMap stack:
aload 0
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._secondaryStart:I
iload 2
iconst_3
ishr
iconst_2
ishl
iadd
istore 4
start local 4 6: aload 3
iload 4
iconst_3
iadd
iaload
ifne 8
7: iload 4
ireturn
8: StackMap locals: int
StackMap stack:
aload 0
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._tertiaryStart:I
iload 2
aload 0
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._tertiaryShift:I
iconst_2
iadd
ishr
aload 0
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._tertiaryShift:I
ishl
iadd
istore 4
9: iconst_1
aload 0
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._tertiaryShift:I
ishl
istore 5
start local 5 10: iload 4
iload 5
iadd
istore 6
start local 6 11: goto 15
12: StackMap locals: int int
StackMap stack:
aload 3
iload 4
iconst_3
iadd
iaload
ifne 14
13: iload 4
ireturn
14: StackMap locals:
StackMap stack:
iinc 4 4
StackMap locals:
StackMap stack:
15: iload 4
iload 6
if_icmplt 12
end local 6 16: aload 0
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._spilloverEnd:I
istore 2
17: aload 0
dup
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._spilloverEnd:I
iconst_4
iadd
putfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._spilloverEnd:I
18: iload 2
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 19 0 this Lcom/fasterxml/jackson/core/sym/ByteQuadsCanonicalizer;
0 19 1 hash I
2 19 2 offset I
3 19 3 hashArea [I
6 19 4 offset2 I
10 19 5 bucketSize I
11 16 6 end I
MethodParameters:
Name Flags
hash
private boolean _checkNeedForRehash();
descriptor: ()Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=2, args_size=1
start local 0 0: aload 0
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._count:I
aload 0
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._hashSize:I
iconst_1
ishr
if_icmple 5
1: aload 0
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._spilloverEnd:I
aload 0
invokevirtual com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._spilloverStart:()I
isub
iconst_2
ishr
istore 1
start local 1 2: iload 1
iconst_1
aload 0
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._count:I
iadd
bipush 7
ishr
if_icmpgt 4
3: aload 0
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._count:I
i2d
aload 0
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._hashSize:I
i2d
ldc 0.8
dmul
dcmpl
ifle 5
4: StackMap locals: int
StackMap stack:
iconst_1
ireturn
end local 1 5: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/fasterxml/jackson/core/sym/ByteQuadsCanonicalizer;
2 5 1 spillCount I
private int _appendLongName(int[], int);
descriptor: ([II)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._longNameOffset:I
istore 3
start local 3 1: iload 3
iload 2
iadd
aload 0
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._hashArea:[I
arraylength
if_icmple 6
2: iload 3
iload 2
iadd
aload 0
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._hashArea:[I
arraylength
isub
istore 4
start local 4 3: sipush 4096
aload 0
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._hashSize:I
invokestatic java.lang.Math.min:(II)I
istore 5
start local 5 4: aload 0
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._hashArea:[I
arraylength
iload 4
iload 5
invokestatic java.lang.Math.max:(II)I
iadd
istore 6
start local 6 5: aload 0
aload 0
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._hashArea:[I
iload 6
invokestatic java.util.Arrays.copyOf:([II)[I
putfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._hashArea:[I
end local 6 end local 5 end local 4 6: StackMap locals: int
StackMap stack:
aload 1
iconst_0
aload 0
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._hashArea:[I
iload 3
iload 2
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
7: aload 0
dup
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._longNameOffset:I
iload 2
iadd
putfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._longNameOffset:I
8: iload 3
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/fasterxml/jackson/core/sym/ByteQuadsCanonicalizer;
0 9 1 quads [I
0 9 2 qlen I
1 9 3 start I
3 6 4 toAdd I
4 6 5 minAdd I
5 6 6 newSize I
MethodParameters:
Name Flags
quads
qlen
public int calcHash(int);
descriptor: (I)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: iload 1
aload 0
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._seed:I
ixor
istore 2
start local 2 1: iload 2
iload 2
bipush 16
iushr
iadd
istore 2
2: iload 2
iload 2
iconst_3
ishl
ixor
istore 2
3: iload 2
iload 2
bipush 12
iushr
iadd
istore 2
4: iload 2
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/fasterxml/jackson/core/sym/ByteQuadsCanonicalizer;
0 5 1 q1 I
1 5 2 hash I
MethodParameters:
Name Flags
q1
public int calcHash(int, int);
descriptor: (II)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: iload 1
istore 3
start local 3 1: iload 3
iload 3
bipush 15
iushr
iadd
istore 3
2: iload 3
iload 3
bipush 9
iushr
ixor
istore 3
3: iload 3
iload 2
bipush 33
imul
iadd
istore 3
4: iload 3
aload 0
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._seed:I
ixor
istore 3
5: iload 3
iload 3
bipush 16
iushr
iadd
istore 3
6: iload 3
iload 3
iconst_4
iushr
ixor
istore 3
7: iload 3
iload 3
iconst_3
ishl
iadd
istore 3
8: iload 3
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/fasterxml/jackson/core/sym/ByteQuadsCanonicalizer;
0 9 1 q1 I
0 9 2 q2 I
1 9 3 hash I
MethodParameters:
Name Flags
q1
q2
public int calcHash(int, int, int);
descriptor: (III)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 1
aload 0
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._seed:I
ixor
istore 4
start local 4 1: iload 4
iload 4
bipush 9
iushr
iadd
istore 4
2: iload 4
bipush 31
imul
istore 4
3: iload 4
iload 2
iadd
istore 4
4: iload 4
bipush 33
imul
istore 4
5: iload 4
iload 4
bipush 15
iushr
iadd
istore 4
6: iload 4
iload 3
ixor
istore 4
7: iload 4
iload 4
iconst_4
iushr
iadd
istore 4
8: iload 4
iload 4
bipush 15
iushr
iadd
istore 4
9: iload 4
iload 4
bipush 9
ishl
ixor
istore 4
10: iload 4
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lcom/fasterxml/jackson/core/sym/ByteQuadsCanonicalizer;
0 11 1 q1 I
0 11 2 q2 I
0 11 3 q3 I
1 11 4 hash I
MethodParameters:
Name Flags
q1
q2
q3
public int calcHash(int[], int);
descriptor: ([II)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=6, args_size=3
start local 0 start local 1 start local 2 0: iload 2
iconst_4
if_icmpge 2
1: new java.lang.IllegalArgumentException
dup
invokespecial java.lang.IllegalArgumentException.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
aload 1
iconst_0
iaload
aload 0
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._seed:I
ixor
istore 3
start local 3 3: iload 3
iload 3
bipush 9
iushr
iadd
istore 3
4: iload 3
aload 1
iconst_1
iaload
iadd
istore 3
5: iload 3
iload 3
bipush 15
iushr
iadd
istore 3
6: iload 3
bipush 33
imul
istore 3
7: iload 3
aload 1
iconst_2
iaload
ixor
istore 3
8: iload 3
iload 3
iconst_4
iushr
iadd
istore 3
9: iconst_3
istore 4
start local 4 10: goto 15
11: StackMap locals: int int
StackMap stack:
aload 1
iload 4
iaload
istore 5
start local 5 12: iload 5
iload 5
bipush 21
ishr
ixor
istore 5
13: iload 3
iload 5
iadd
istore 3
end local 5 14: iinc 4 1
StackMap locals:
StackMap stack:
15: iload 4
iload 2
if_icmplt 11
end local 4 16: iload 3
ldc 65599
imul
istore 3
17: iload 3
iload 3
bipush 19
iushr
iadd
istore 3
18: iload 3
iload 3
iconst_5
ishl
ixor
istore 3
19: iload 3
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Lcom/fasterxml/jackson/core/sym/ByteQuadsCanonicalizer;
0 20 1 q [I
0 20 2 qlen I
3 20 3 hash I
10 16 4 i I
12 14 5 next I
MethodParameters:
Name Flags
q
qlen
private void rehash();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=14, args_size=1
start local 0 0: aload 0
iconst_0
putfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._hashShared:Z
1: aload 0
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._hashArea:[I
astore 1
start local 1 2: aload 0
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._names:[Ljava/lang/String;
astore 2
start local 2 3: aload 0
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._hashSize:I
istore 3
start local 3 4: aload 0
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._count:I
istore 4
start local 4 5: iload 3
iload 3
iadd
istore 5
start local 5 6: aload 0
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._spilloverEnd:I
istore 6
start local 6 7: iload 5
ldc 65536
if_icmple 10
8: aload 0
iconst_1
invokevirtual com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer.nukeSymbols:(Z)V
9: return
10: StackMap locals: com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer int[] java.lang.String[] int int int int
StackMap stack:
aload 0
aload 1
arraylength
iload 3
iconst_3
ishl
iadd
newarray 10
putfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._hashArea:[I
11: aload 0
iload 5
putfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._hashSize:I
12: aload 0
iload 5
iconst_2
ishl
putfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._secondaryStart:I
13: aload 0
aload 0
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._secondaryStart:I
aload 0
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._secondaryStart:I
iconst_1
ishr
iadd
putfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._tertiaryStart:I
14: aload 0
iload 5
invokestatic com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._calcTertiaryShift:(I)I
putfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._tertiaryShift:I
15: aload 0
aload 2
arraylength
iconst_1
ishl
anewarray java.lang.String
putfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._names:[Ljava/lang/String;
16: aload 0
iconst_0
invokevirtual com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer.nukeSymbols:(Z)V
17: iconst_0
istore 7
start local 7 18: bipush 16
newarray 10
astore 8
start local 8 19: iconst_0
istore 9
start local 9 20: iload 6
istore 10
start local 10 21: goto 46
22: StackMap locals: com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer int[] java.lang.String[] int int int int int int[] int int
StackMap stack:
aload 1
iload 9
iconst_3
iadd
iaload
istore 11
start local 11 23: iload 11
ifne 25
24: goto 45
25: StackMap locals: int
StackMap stack:
iinc 7 1
26: aload 2
iload 9
iconst_2
ishr
aaload
astore 12
start local 12 27: iload 11
tableswitch { // 1 - 3
1: 28
2: 31
3: 35
default: 40
}
28: StackMap locals: java.lang.String
StackMap stack:
aload 8
iconst_0
aload 1
iload 9
iaload
iastore
29: aload 0
aload 12
aload 8
iconst_1
invokevirtual com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer.addName:(Ljava/lang/String;[II)Ljava/lang/String;
pop
30: goto 45
31: StackMap locals:
StackMap stack:
aload 8
iconst_0
aload 1
iload 9
iaload
iastore
32: aload 8
iconst_1
aload 1
iload 9
iconst_1
iadd
iaload
iastore
33: aload 0
aload 12
aload 8
iconst_2
invokevirtual com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer.addName:(Ljava/lang/String;[II)Ljava/lang/String;
pop
34: goto 45
35: StackMap locals:
StackMap stack:
aload 8
iconst_0
aload 1
iload 9
iaload
iastore
36: aload 8
iconst_1
aload 1
iload 9
iconst_1
iadd
iaload
iastore
37: aload 8
iconst_2
aload 1
iload 9
iconst_2
iadd
iaload
iastore
38: aload 0
aload 12
aload 8
iconst_3
invokevirtual com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer.addName:(Ljava/lang/String;[II)Ljava/lang/String;
pop
39: goto 45
40: StackMap locals:
StackMap stack:
iload 11
aload 8
arraylength
if_icmple 42
41: iload 11
newarray 10
astore 8
42: StackMap locals:
StackMap stack:
aload 1
iload 9
iconst_1
iadd
iaload
istore 13
start local 13 43: aload 1
iload 13
aload 8
iconst_0
iload 11
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
44: aload 0
aload 12
aload 8
iload 11
invokevirtual com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer.addName:(Ljava/lang/String;[II)Ljava/lang/String;
pop
end local 13 end local 12 end local 11 45: StackMap locals:
StackMap stack:
iinc 9 4
StackMap locals:
StackMap stack:
46: iload 9
iload 10
if_icmplt 22
end local 10 end local 9 47: iload 7
iload 4
if_icmpeq 49
48: new java.lang.IllegalStateException
dup
new java.lang.StringBuilder
dup
ldc "Failed rehash(): old count="
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 4
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ", copyCount="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 7
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
49: StackMap locals:
StackMap stack:
return
end local 8 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 50 0 this Lcom/fasterxml/jackson/core/sym/ByteQuadsCanonicalizer;
2 50 1 oldHashArea [I
3 50 2 oldNames [Ljava/lang/String;
4 50 3 oldSize I
5 50 4 oldCount I
6 50 5 newSize I
7 50 6 oldEnd I
18 50 7 copyCount I
19 50 8 q [I
20 47 9 offset I
21 47 10 end I
23 45 11 len I
27 45 12 name Ljava/lang/String;
43 45 13 qoff I
private void nukeSymbols(boolean);
descriptor: (Z)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iconst_0
putfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._count:I
1: aload 0
aload 0
invokevirtual com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._spilloverStart:()I
putfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._spilloverEnd:I
2: aload 0
aload 0
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._hashSize:I
iconst_3
ishl
putfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._longNameOffset:I
3: iload 1
ifeq 6
4: aload 0
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._hashArea:[I
iconst_0
invokestatic java.util.Arrays.fill:([II)V
5: aload 0
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._names:[Ljava/lang/String;
aconst_null
invokestatic java.util.Arrays.fill:([Ljava/lang/Object;Ljava/lang/Object;)V
6: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/fasterxml/jackson/core/sym/ByteQuadsCanonicalizer;
0 7 1 fill Z
MethodParameters:
Name Flags
fill
private final int _spilloverStart();
descriptor: ()I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._hashSize:I
istore 1
start local 1 1: iload 1
iconst_3
ishl
iload 1
isub
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/fasterxml/jackson/core/sym/ByteQuadsCanonicalizer;
1 2 1 offset I
protected void _reportTooManyCollisions();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=1, args_size=1
start local 0 0: aload 0
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._hashSize:I
sipush 1024
if_icmpgt 2
1: return
2: StackMap locals:
StackMap stack:
new java.lang.IllegalStateException
dup
new java.lang.StringBuilder
dup
ldc "Spill-over slots in symbol table with "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._count:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
3: ldc " entries, hash area of "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._hashSize:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " slots is now full (all "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
4: aload 0
getfield com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer._hashSize:I
iconst_3
ishr
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " slots -- suspect a DoS attack based on hash collisions."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
5: ldc " You can disable the check via `JsonFactory.Feature.FAIL_ON_SYMBOL_HASH_OVERFLOW`"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
6: invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/fasterxml/jackson/core/sym/ByteQuadsCanonicalizer;
static int _calcTertiaryShift(int);
descriptor: (I)I
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: iload 0
iconst_2
ishr
istore 1
start local 1 1: iload 1
bipush 64
if_icmpge 3
2: iconst_4
ireturn
3: StackMap locals: int
StackMap stack:
iload 1
sipush 256
if_icmpgt 5
4: iconst_5
ireturn
5: StackMap locals:
StackMap stack:
iload 1
sipush 1024
if_icmpgt 7
6: bipush 6
ireturn
7: StackMap locals:
StackMap stack:
bipush 7
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 primarySlots I
1 8 1 tertSlots I
MethodParameters:
Name Flags
primarySlots
}
SourceFile: "ByteQuadsCanonicalizer.java"
NestMembers:
com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer$TableInfo
InnerClasses:
public final Feature = com.fasterxml.jackson.core.JsonFactory$Feature of com.fasterxml.jackson.core.JsonFactory
private final TableInfo = com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer$TableInfo of com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer