public final class com.fasterxml.jackson.databind.util.CompactStringObjectMap implements java.io.Serializable
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: com.fasterxml.jackson.databind.util.CompactStringObjectMap
super_class: java.lang.Object
{
private static final long serialVersionUID;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1
private static final com.fasterxml.jackson.databind.util.CompactStringObjectMap EMPTY;
descriptor: Lcom/fasterxml/jackson/databind/util/CompactStringObjectMap;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private final int _hashMask;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int _spillCount;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.lang.Object[] _hashArea;
descriptor: [Ljava/lang/Object;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=0, args_size=0
0: new com.fasterxml.jackson.databind.util.CompactStringObjectMap
dup
iconst_1
iconst_0
1: iconst_4
anewarray java.lang.Object
2: invokespecial com.fasterxml.jackson.databind.util.CompactStringObjectMap.<init>:(II[Ljava/lang/Object;)V
putstatic com.fasterxml.jackson.databind.util.CompactStringObjectMap.EMPTY:Lcom/fasterxml/jackson/databind/util/CompactStringObjectMap;
3: return
LocalVariableTable:
Start End Slot Name Signature
private void <init>(int, int, java.lang.Object[]);
descriptor: (II[Ljava/lang/Object;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
iload 1
putfield com.fasterxml.jackson.databind.util.CompactStringObjectMap._hashMask:I
2: aload 0
iload 2
putfield com.fasterxml.jackson.databind.util.CompactStringObjectMap._spillCount:I
3: aload 0
aload 3
putfield com.fasterxml.jackson.databind.util.CompactStringObjectMap._hashArea:[Ljava/lang/Object;
4: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/fasterxml/jackson/databind/util/CompactStringObjectMap;
0 5 1 hashMask I
0 5 2 spillCount I
0 5 3 hashArea [Ljava/lang/Object;
MethodParameters:
Name Flags
hashMask
spillCount
hashArea
public static <T> com.fasterxml.jackson.databind.util.CompactStringObjectMap construct(java.util.Map<java.lang.String, T>);
descriptor: (Ljava/util/Map;)Lcom/fasterxml/jackson/databind/util/CompactStringObjectMap;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=11, args_size=1
start local 0 0: aload 0
invokeinterface java.util.Map.isEmpty:()Z
ifeq 2
1: getstatic com.fasterxml.jackson.databind.util.CompactStringObjectMap.EMPTY:Lcom/fasterxml/jackson/databind/util/CompactStringObjectMap;
areturn
2: StackMap locals:
StackMap stack:
aload 0
invokeinterface java.util.Map.size:()I
invokestatic com.fasterxml.jackson.databind.util.CompactStringObjectMap.findSize:(I)I
istore 1
start local 1 3: iload 1
iconst_1
isub
istore 2
start local 2 4: iload 1
iload 1
iconst_1
ishr
iadd
iconst_2
imul
istore 3
start local 3 5: iload 3
anewarray java.lang.Object
astore 4
start local 4 6: iconst_0
istore 5
start local 5 7: aload 0
invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 7
goto 23
StackMap locals: java.util.Map int int int java.lang.Object[] int top java.util.Iterator
StackMap stack:
8: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 6
start local 6 9: aload 6
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast java.lang.String
astore 8
start local 8 10: aload 8
ifnonnull 12
11: goto 23
12: StackMap locals: java.util.Map int int int java.lang.Object[] int java.util.Map$Entry java.util.Iterator java.lang.String
StackMap stack:
aload 8
invokevirtual java.lang.String.hashCode:()I
iload 2
iand
istore 9
start local 9 13: iload 9
iload 9
iadd
istore 10
start local 10 14: aload 4
iload 10
aaload
ifnull 21
15: iload 1
iload 9
iconst_1
ishr
iadd
iconst_1
ishl
istore 10
16: aload 4
iload 10
aaload
ifnull 21
17: iload 1
iload 1
iconst_1
ishr
iadd
iconst_1
ishl
iload 5
iadd
istore 10
18: iinc 5 2
19: iload 10
aload 4
arraylength
if_icmplt 21
20: aload 4
aload 4
arraylength
iconst_4
iadd
invokestatic java.util.Arrays.copyOf:([Ljava/lang/Object;I)[Ljava/lang/Object;
astore 4
21: StackMap locals: int int
StackMap stack:
aload 4
iload 10
aload 8
aastore
22: aload 4
iload 10
iconst_1
iadd
aload 6
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
aastore
end local 10 end local 9 end local 8 end local 6 23: StackMap locals: java.util.Map int int int java.lang.Object[] int top java.util.Iterator
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 8
24: new com.fasterxml.jackson.databind.util.CompactStringObjectMap
dup
iload 2
iload 5
aload 4
invokespecial com.fasterxml.jackson.databind.util.CompactStringObjectMap.<init>:(II[Ljava/lang/Object;)V
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 25 0 all Ljava/util/Map<Ljava/lang/String;TT;>;
3 25 1 size I
4 25 2 mask I
5 25 3 alloc I
6 25 4 hashArea [Ljava/lang/Object;
7 25 5 spillCount I
9 23 6 entry Ljava/util/Map$Entry<Ljava/lang/String;TT;>;
10 23 8 key Ljava/lang/String;
13 23 9 slot I
14 23 10 ix I
Signature: <T:Ljava/lang/Object;>(Ljava/util/Map<Ljava/lang/String;TT;>;)Lcom/fasterxml/jackson/databind/util/CompactStringObjectMap;
MethodParameters:
Name Flags
all
private static final int findSize(int);
descriptor: (I)I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Code:
stack=3, locals=3, args_size=1
start local 0 0: iload 0
iconst_5
if_icmpgt 2
1: bipush 8
ireturn
2: StackMap locals:
StackMap stack:
iload 0
bipush 12
if_icmpgt 4
3: bipush 16
ireturn
4: StackMap locals:
StackMap stack:
iload 0
iload 0
iconst_2
ishr
iadd
istore 1
start local 1 5: bipush 32
istore 2
start local 2 6: goto 8
7: StackMap locals: int int
StackMap stack:
iload 2
iload 2
iadd
istore 2
8: StackMap locals:
StackMap stack:
iload 2
iload 1
if_icmplt 7
9: iload 2
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 size I
5 10 1 needed I
6 10 2 result I
MethodParameters:
Name Flags
size
public java.lang.Object find(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.lang.String.hashCode:()I
aload 0
getfield com.fasterxml.jackson.databind.util.CompactStringObjectMap._hashMask:I
iand
istore 2
start local 2 1: iload 2
iconst_1
ishl
istore 3
start local 3 2: aload 0
getfield com.fasterxml.jackson.databind.util.CompactStringObjectMap._hashArea:[Ljava/lang/Object;
iload 3
aaload
astore 4
start local 4 3: aload 4
aload 1
if_acmpeq 4
aload 1
aload 4
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 5
4: StackMap locals: int int java.lang.Object
StackMap stack:
aload 0
getfield com.fasterxml.jackson.databind.util.CompactStringObjectMap._hashArea:[Ljava/lang/Object;
iload 3
iconst_1
iadd
aaload
areturn
5: StackMap locals:
StackMap stack:
aload 0
aload 1
iload 2
aload 4
invokevirtual com.fasterxml.jackson.databind.util.CompactStringObjectMap._find2:(Ljava/lang/String;ILjava/lang/Object;)Ljava/lang/Object;
areturn
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/databind/util/CompactStringObjectMap;
0 6 1 key Ljava/lang/String;
1 6 2 slot I
2 6 3 ix I
3 6 4 match Ljava/lang/Object;
MethodParameters:
Name Flags
key
private final java.lang.Object _find2(java.lang.String, int, java.lang.Object);
descriptor: (Ljava/lang/String;ILjava/lang/Object;)Ljava/lang/Object;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Code:
stack=3, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 3
ifnonnull 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield com.fasterxml.jackson.databind.util.CompactStringObjectMap._hashMask:I
iconst_1
iadd
istore 4
start local 4 3: iload 4
iload 2
iconst_1
ishr
iadd
iconst_1
ishl
istore 5
start local 5 4: aload 0
getfield com.fasterxml.jackson.databind.util.CompactStringObjectMap._hashArea:[Ljava/lang/Object;
iload 5
aaload
astore 3
5: aload 1
aload 3
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 7
6: aload 0
getfield com.fasterxml.jackson.databind.util.CompactStringObjectMap._hashArea:[Ljava/lang/Object;
iload 5
iconst_1
iadd
aaload
areturn
7: StackMap locals: int int
StackMap stack:
aload 3
ifnull 16
8: iload 4
iload 4
iconst_1
ishr
iadd
iconst_1
ishl
istore 6
start local 6 9: iload 6
aload 0
getfield com.fasterxml.jackson.databind.util.CompactStringObjectMap._spillCount:I
iadd
istore 7
start local 7 10: goto 15
11: StackMap locals: int int
StackMap stack:
aload 0
getfield com.fasterxml.jackson.databind.util.CompactStringObjectMap._hashArea:[Ljava/lang/Object;
iload 6
aaload
astore 3
12: aload 3
aload 1
if_acmpeq 13
aload 1
aload 3
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 14
13: StackMap locals:
StackMap stack:
aload 0
getfield com.fasterxml.jackson.databind.util.CompactStringObjectMap._hashArea:[Ljava/lang/Object;
iload 6
iconst_1
iadd
aaload
areturn
14: StackMap locals:
StackMap stack:
iinc 6 2
StackMap locals:
StackMap stack:
15: iload 6
iload 7
if_icmplt 11
end local 7 end local 6 16: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lcom/fasterxml/jackson/databind/util/CompactStringObjectMap;
0 17 1 key Ljava/lang/String;
0 17 2 slot I
0 17 3 match Ljava/lang/Object;
3 17 4 hashSize I
4 17 5 ix I
9 16 6 i I
10 16 7 end I
MethodParameters:
Name Flags
key
slot
match
public java.lang.Object findCaseInsensitive(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=6, args_size=2
start local 0 start local 1 0: iconst_0
istore 2
start local 2 1: aload 0
getfield com.fasterxml.jackson.databind.util.CompactStringObjectMap._hashArea:[Ljava/lang/Object;
arraylength
istore 3
start local 3 2: goto 9
3: StackMap locals: int int
StackMap stack:
aload 0
getfield com.fasterxml.jackson.databind.util.CompactStringObjectMap._hashArea:[Ljava/lang/Object;
iload 2
aaload
astore 4
start local 4 4: aload 4
ifnull 8
5: aload 4
checkcast java.lang.String
astore 5
start local 5 6: aload 5
aload 1
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 8
7: aload 0
getfield com.fasterxml.jackson.databind.util.CompactStringObjectMap._hashArea:[Ljava/lang/Object;
iload 2
iconst_1
iadd
aaload
areturn
end local 5 end local 4 8: StackMap locals:
StackMap stack:
iinc 2 2
StackMap locals:
StackMap stack:
9: iload 2
iload 3
if_icmplt 3
end local 3 end local 2 10: aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lcom/fasterxml/jackson/databind/util/CompactStringObjectMap;
0 11 1 key Ljava/lang/String;
1 10 2 i I
2 10 3 end I
4 8 4 k2 Ljava/lang/Object;
6 8 5 s Ljava/lang/String;
MethodParameters:
Name Flags
key
public java.util.List<java.lang.String> keys();
descriptor: ()Ljava/util/List;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=1
start local 0 0: aload 0
getfield com.fasterxml.jackson.databind.util.CompactStringObjectMap._hashArea:[Ljava/lang/Object;
arraylength
istore 1
start local 1 1: new java.util.ArrayList
dup
iload 1
iconst_2
ishr
invokespecial java.util.ArrayList.<init>:(I)V
astore 2
start local 2 2: iconst_0
istore 3
start local 3 3: goto 8
4: StackMap locals: int java.util.List int
StackMap stack:
aload 0
getfield com.fasterxml.jackson.databind.util.CompactStringObjectMap._hashArea:[Ljava/lang/Object;
iload 3
aaload
astore 4
start local 4 5: aload 4
ifnull 7
6: aload 2
aload 4
checkcast java.lang.String
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 4 7: StackMap locals:
StackMap stack:
iinc 3 2
StackMap locals:
StackMap stack:
8: iload 3
iload 1
if_icmplt 4
end local 3 9: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/fasterxml/jackson/databind/util/CompactStringObjectMap;
1 10 1 end I
2 10 2 keys Ljava/util/List<Ljava/lang/String;>;
3 9 3 i I
5 7 4 key Ljava/lang/Object;
Signature: ()Ljava/util/List<Ljava/lang/String;>;
}
SourceFile: "CompactStringObjectMap.java"
InnerClasses:
public abstract Entry = java.util.Map$Entry of java.util.Map