public abstract class sun.util.PreHashedMap<V> extends java.util.AbstractMap<java.lang.String, V>
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: sun.util.PreHashedMap
super_class: java.util.AbstractMap
{
private final int rows;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int size;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int shift;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int mask;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.lang.Object[] ht;
descriptor: [Ljava/lang/Object;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
protected void <init>(int, int, int, int);
descriptor: (IIII)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
invokespecial java.util.AbstractMap.<init>:()V
1: aload 0
iload 1
putfield sun.util.PreHashedMap.rows:I
2: aload 0
iload 2
putfield sun.util.PreHashedMap.size:I
3: aload 0
iload 3
putfield sun.util.PreHashedMap.shift:I
4: aload 0
iload 4
putfield sun.util.PreHashedMap.mask:I
5: aload 0
iload 1
anewarray java.lang.Object
putfield sun.util.PreHashedMap.ht:[Ljava/lang/Object;
6: aload 0
aload 0
getfield sun.util.PreHashedMap.ht:[Ljava/lang/Object;
invokevirtual sun.util.PreHashedMap.init:([Ljava/lang/Object;)V
7: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lsun/util/PreHashedMap<TV;>;
0 8 1 rows I
0 8 2 size I
0 8 3 shift I
0 8 4 mask I
MethodParameters:
Name Flags
rows
size
shift
mask
protected abstract void init(java.lang.Object[]);
descriptor: ([Ljava/lang/Object;)V
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
MethodParameters:
Name Flags
ht
private V toV();
descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/util/PreHashedMap<TV;>;
0 1 1 x Ljava/lang/Object;
Signature: (Ljava/lang/Object;)TV;
MethodParameters:
Name Flags
x
public V get();
descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.lang.Object.hashCode:()I
aload 0
getfield sun.util.PreHashedMap.shift:I
ishr
aload 0
getfield sun.util.PreHashedMap.mask:I
iand
istore 2
start local 2 1: aload 0
getfield sun.util.PreHashedMap.ht:[Ljava/lang/Object;
iload 2
aaload
checkcast java.lang.Object[]
astore 3
start local 3 2: aload 3
ifnonnull 3
aconst_null
areturn
3: StackMap locals: int java.lang.Object[]
StackMap stack:
aload 3
iconst_0
aaload
aload 1
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 5
4: aload 0
aload 3
iconst_1
aaload
invokevirtual sun.util.PreHashedMap.toV:(Ljava/lang/Object;)Ljava/lang/Object;
areturn
5: StackMap locals:
StackMap stack:
aload 3
arraylength
iconst_3
if_icmpge 7
6: aconst_null
areturn
7: StackMap locals:
StackMap stack:
aload 3
iconst_2
aaload
checkcast java.lang.Object[]
astore 3
8: goto 3
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lsun/util/PreHashedMap<TV;>;
0 9 1 k Ljava/lang/Object;
1 9 2 h I
2 9 3 a [Ljava/lang/Object;
Signature: (Ljava/lang/Object;)TV;
MethodParameters:
Name Flags
k
public V put(java.lang.String, );
descriptor: (Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual java.lang.String.hashCode:()I
aload 0
getfield sun.util.PreHashedMap.shift:I
ishr
aload 0
getfield sun.util.PreHashedMap.mask:I
iand
istore 3
start local 3 1: aload 0
getfield sun.util.PreHashedMap.ht:[Ljava/lang/Object;
iload 3
aaload
checkcast java.lang.Object[]
astore 4
start local 4 2: aload 4
ifnonnull 4
3: new java.lang.UnsupportedOperationException
dup
aload 1
invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals: int java.lang.Object[]
StackMap stack:
aload 4
iconst_0
aaload
aload 1
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 8
5: aload 0
aload 4
iconst_1
aaload
invokevirtual sun.util.PreHashedMap.toV:(Ljava/lang/Object;)Ljava/lang/Object;
astore 5
start local 5 6: aload 4
iconst_1
aload 2
aastore
7: aload 5
areturn
end local 5 8: StackMap locals:
StackMap stack:
aload 4
arraylength
iconst_3
if_icmpge 10
9: new java.lang.UnsupportedOperationException
dup
aload 1
invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
athrow
10: StackMap locals:
StackMap stack:
aload 4
iconst_2
aaload
checkcast java.lang.Object[]
astore 4
11: goto 4
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lsun/util/PreHashedMap<TV;>;
0 12 1 k Ljava/lang/String;
0 12 2 v TV;
1 12 3 h I
2 12 4 a [Ljava/lang/Object;
6 8 5 ov TV;
Signature: (Ljava/lang/String;TV;)TV;
MethodParameters:
Name Flags
k
v
public java.util.Set<java.lang.String> keySet();
descriptor: ()Ljava/util/Set;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new sun.util.PreHashedMap$1
dup
aload 0
invokespecial sun.util.PreHashedMap$1.<init>:(Lsun/util/PreHashedMap;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/util/PreHashedMap<TV;>;
Signature: ()Ljava/util/Set<Ljava/lang/String;>;
public java.util.Set<java.util.Map$Entry<java.lang.String, V>> entrySet();
descriptor: ()Ljava/util/Set;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new sun.util.PreHashedMap$2
dup
aload 0
invokespecial sun.util.PreHashedMap$2.<init>:(Lsun/util/PreHashedMap;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/util/PreHashedMap<TV;>;
Signature: ()Ljava/util/Set<Ljava/util/Map$Entry<Ljava/lang/String;TV;>;>;
public java.lang.Object put(java.lang.Object, java.lang.Object);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=3, locals=3, args_size=3
0: aload 0
aload 1
checkcast java.lang.String
aload 2
checkcast java.lang.Object
invokevirtual sun.util.PreHashedMap.put:(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
areturn
LocalVariableTable:
Start End Slot Name Signature
}
Signature: <V:Ljava/lang/Object;>Ljava/util/AbstractMap<Ljava/lang/String;TV;>;
SourceFile: "PreHashedMap.java"
NestMembers:
sun.util.PreHashedMap$1 sun.util.PreHashedMap$1$1 sun.util.PreHashedMap$2 sun.util.PreHashedMap$2$1 sun.util.PreHashedMap$2$1$1
InnerClasses:
public abstract Entry = java.util.Map$Entry of java.util.Map
sun.util.PreHashedMap$1
sun.util.PreHashedMap$2