public final class jdk.nashorn.internal.runtime.PropertyHashMap implements java.util.Map<java.lang.Object, jdk.nashorn.internal.runtime.Property>
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: jdk.nashorn.internal.runtime.PropertyHashMap
super_class: java.lang.Object
{
private static final int INITIAL_BINS;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 32
private static final int LIST_THRESHOLD;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 8
private static final int QUEUE_THRESHOLD;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
public static final jdk.nashorn.internal.runtime.PropertyHashMap EMPTY_HASHMAP;
descriptor: Ljdk/nashorn/internal/runtime/PropertyHashMap;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
private final int size;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int threshold;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final jdk.nashorn.internal.runtime.PropertyHashMap$Element list;
descriptor: Ljdk/nashorn/internal/runtime/PropertyHashMap$Element;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private jdk.nashorn.internal.runtime.PropertyHashMap$Element[] bins;
descriptor: [Ljdk/nashorn/internal/runtime/PropertyHashMap$Element;
flags: (0x0002) ACC_PRIVATE
private jdk.nashorn.internal.runtime.PropertyHashMap$ElementQueue queue;
descriptor: Ljdk/nashorn/internal/runtime/PropertyHashMap$ElementQueue;
flags: (0x0002) ACC_PRIVATE
private jdk.nashorn.internal.runtime.Property[] properties;
descriptor: [Ljdk/nashorn/internal/runtime/Property;
flags: (0x0002) ACC_PRIVATE
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: ldc Ljdk/nashorn/internal/runtime/PropertyHashMap;
invokevirtual java.lang.Class.desiredAssertionStatus:()Z
ifne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: putstatic jdk.nashorn.internal.runtime.PropertyHashMap.$assertionsDisabled:Z
3: ldc "nashorn.propmap.queue.threshold"
sipush 500
invokestatic jdk.nashorn.internal.runtime.options.Options.getIntProperty:(Ljava/lang/String;I)I
putstatic jdk.nashorn.internal.runtime.PropertyHashMap.QUEUE_THRESHOLD:I
4: new jdk.nashorn.internal.runtime.PropertyHashMap
dup
invokespecial jdk.nashorn.internal.runtime.PropertyHashMap.<init>:()V
putstatic jdk.nashorn.internal.runtime.PropertyHashMap.EMPTY_HASHMAP:Ljdk/nashorn/internal/runtime/PropertyHashMap;
return
LocalVariableTable:
Start End Slot Name Signature
private void <init>();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
iconst_0
putfield jdk.nashorn.internal.runtime.PropertyHashMap.size:I
2: aload 0
iconst_0
putfield jdk.nashorn.internal.runtime.PropertyHashMap.threshold:I
3: aload 0
aconst_null
putfield jdk.nashorn.internal.runtime.PropertyHashMap.bins:[Ljdk/nashorn/internal/runtime/PropertyHashMap$Element;
4: aload 0
aconst_null
putfield jdk.nashorn.internal.runtime.PropertyHashMap.queue:Ljdk/nashorn/internal/runtime/PropertyHashMap$ElementQueue;
5: aload 0
aconst_null
putfield jdk.nashorn.internal.runtime.PropertyHashMap.list:Ljdk/nashorn/internal/runtime/PropertyHashMap$Element;
6: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Ljdk/nashorn/internal/runtime/PropertyHashMap;
private void <init>(jdk.nashorn.internal.runtime.PropertyHashMap$MapBuilder);
descriptor: (Ljdk/nashorn/internal/runtime/PropertyHashMap$MapBuilder;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
getfield jdk.nashorn.internal.runtime.PropertyHashMap$MapBuilder.size:I
putfield jdk.nashorn.internal.runtime.PropertyHashMap.size:I
2: aload 1
getfield jdk.nashorn.internal.runtime.PropertyHashMap$MapBuilder.qhead:Ljdk/nashorn/internal/runtime/PropertyHashMap$Element;
ifnonnull 6
3: aload 0
aload 1
getfield jdk.nashorn.internal.runtime.PropertyHashMap$MapBuilder.bins:[Ljdk/nashorn/internal/runtime/PropertyHashMap$Element;
putfield jdk.nashorn.internal.runtime.PropertyHashMap.bins:[Ljdk/nashorn/internal/runtime/PropertyHashMap$Element;
4: aload 0
aconst_null
putfield jdk.nashorn.internal.runtime.PropertyHashMap.queue:Ljdk/nashorn/internal/runtime/PropertyHashMap$ElementQueue;
5: goto 8
6: StackMap locals: jdk.nashorn.internal.runtime.PropertyHashMap jdk.nashorn.internal.runtime.PropertyHashMap$MapBuilder
StackMap stack:
aload 0
aconst_null
putfield jdk.nashorn.internal.runtime.PropertyHashMap.bins:[Ljdk/nashorn/internal/runtime/PropertyHashMap$Element;
7: aload 0
new jdk.nashorn.internal.runtime.PropertyHashMap$ElementQueue
dup
aload 0
aload 1
getfield jdk.nashorn.internal.runtime.PropertyHashMap$MapBuilder.qhead:Ljdk/nashorn/internal/runtime/PropertyHashMap$Element;
aload 1
getfield jdk.nashorn.internal.runtime.PropertyHashMap$MapBuilder.bins:[Ljdk/nashorn/internal/runtime/PropertyHashMap$Element;
invokespecial jdk.nashorn.internal.runtime.PropertyHashMap$ElementQueue.<init>:(Ljdk/nashorn/internal/runtime/PropertyHashMap;Ljdk/nashorn/internal/runtime/PropertyHashMap$Element;[Ljdk/nashorn/internal/runtime/PropertyHashMap$Element;)V
putfield jdk.nashorn.internal.runtime.PropertyHashMap.queue:Ljdk/nashorn/internal/runtime/PropertyHashMap$ElementQueue;
8: StackMap locals:
StackMap stack:
aload 0
aload 1
getfield jdk.nashorn.internal.runtime.PropertyHashMap$MapBuilder.list:Ljdk/nashorn/internal/runtime/PropertyHashMap$Element;
putfield jdk.nashorn.internal.runtime.PropertyHashMap.list:Ljdk/nashorn/internal/runtime/PropertyHashMap$Element;
9: aload 0
aload 1
getfield jdk.nashorn.internal.runtime.PropertyHashMap$MapBuilder.bins:[Ljdk/nashorn/internal/runtime/PropertyHashMap$Element;
ifnull 10
aload 1
getfield jdk.nashorn.internal.runtime.PropertyHashMap$MapBuilder.bins:[Ljdk/nashorn/internal/runtime/PropertyHashMap$Element;
arraylength
invokestatic jdk.nashorn.internal.runtime.PropertyHashMap.threeQuarters:(I)I
goto 11
StackMap locals:
StackMap stack: jdk.nashorn.internal.runtime.PropertyHashMap
10: iconst_0
StackMap locals: jdk.nashorn.internal.runtime.PropertyHashMap jdk.nashorn.internal.runtime.PropertyHashMap$MapBuilder
StackMap stack: jdk.nashorn.internal.runtime.PropertyHashMap int
11: putfield jdk.nashorn.internal.runtime.PropertyHashMap.threshold:I
12: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Ljdk/nashorn/internal/runtime/PropertyHashMap;
0 13 1 map Ljdk/nashorn/internal/runtime/PropertyHashMap$MapBuilder;
MethodParameters:
Name Flags
map final
public jdk.nashorn.internal.runtime.PropertyHashMap immutableReplace(jdk.nashorn.internal.runtime.Property, jdk.nashorn.internal.runtime.Property);
descriptor: (Ljdk/nashorn/internal/runtime/Property;Ljdk/nashorn/internal/runtime/Property;)Ljdk/nashorn/internal/runtime/PropertyHashMap;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=3
start local 0 start local 1 start local 2 0: getstatic jdk.nashorn.internal.runtime.PropertyHashMap.$assertionsDisabled:Z
ifne 1
aload 1
invokevirtual jdk.nashorn.internal.runtime.Property.getKey:()Ljava/lang/Object;
aload 2
invokevirtual jdk.nashorn.internal.runtime.Property.getKey:()Ljava/lang/Object;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifne 1
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
ldc "replacing properties with different keys: '"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual jdk.nashorn.internal.runtime.Property.getKey:()Ljava/lang/Object;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "' != '"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2
invokevirtual jdk.nashorn.internal.runtime.Property.getKey:()Ljava/lang/Object;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "'"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
1: StackMap locals:
StackMap stack:
getstatic jdk.nashorn.internal.runtime.PropertyHashMap.$assertionsDisabled:Z
ifne 2
aload 0
aload 1
invokevirtual jdk.nashorn.internal.runtime.Property.getKey:()Ljava/lang/Object;
invokevirtual jdk.nashorn.internal.runtime.PropertyHashMap.findElement:(Ljava/lang/Object;)Ljdk/nashorn/internal/runtime/PropertyHashMap$Element;
ifnonnull 2
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
ldc "replacing property that doesn't exist in map: '"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual jdk.nashorn.internal.runtime.Property.getKey:()Ljava/lang/Object;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "'"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield jdk.nashorn.internal.runtime.PropertyHashMap.size:I
invokevirtual jdk.nashorn.internal.runtime.PropertyHashMap.newMapBuilder:(I)Ljdk/nashorn/internal/runtime/PropertyHashMap$MapBuilder;
astore 3
start local 3 3: aload 3
aload 1
invokevirtual jdk.nashorn.internal.runtime.Property.getKey:()Ljava/lang/Object;
aload 2
invokevirtual jdk.nashorn.internal.runtime.PropertyHashMap$MapBuilder.replaceProperty:(Ljava/lang/Object;Ljdk/nashorn/internal/runtime/Property;)V
4: new jdk.nashorn.internal.runtime.PropertyHashMap
dup
aload 3
invokespecial jdk.nashorn.internal.runtime.PropertyHashMap.<init>:(Ljdk/nashorn/internal/runtime/PropertyHashMap$MapBuilder;)V
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljdk/nashorn/internal/runtime/PropertyHashMap;
0 5 1 property Ljdk/nashorn/internal/runtime/Property;
0 5 2 newProperty Ljdk/nashorn/internal/runtime/Property;
3 5 3 builder Ljdk/nashorn/internal/runtime/PropertyHashMap$MapBuilder;
MethodParameters:
Name Flags
property final
newProperty final
public jdk.nashorn.internal.runtime.PropertyHashMap immutableAdd(jdk.nashorn.internal.runtime.Property);
descriptor: (Ljdk/nashorn/internal/runtime/Property;)Ljdk/nashorn/internal/runtime/PropertyHashMap;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.nashorn.internal.runtime.PropertyHashMap.size:I
iconst_1
iadd
istore 2
start local 2 1: aload 0
iload 2
invokevirtual jdk.nashorn.internal.runtime.PropertyHashMap.newMapBuilder:(I)Ljdk/nashorn/internal/runtime/PropertyHashMap$MapBuilder;
astore 3
start local 3 2: aload 3
aload 1
invokevirtual jdk.nashorn.internal.runtime.PropertyHashMap$MapBuilder.addProperty:(Ljdk/nashorn/internal/runtime/Property;)V
3: new jdk.nashorn.internal.runtime.PropertyHashMap
dup
aload 3
invokespecial jdk.nashorn.internal.runtime.PropertyHashMap.<init>:(Ljdk/nashorn/internal/runtime/PropertyHashMap$MapBuilder;)V
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljdk/nashorn/internal/runtime/PropertyHashMap;
0 4 1 property Ljdk/nashorn/internal/runtime/Property;
1 4 2 newSize I
2 4 3 builder Ljdk/nashorn/internal/runtime/PropertyHashMap$MapBuilder;
MethodParameters:
Name Flags
property final
public jdk.nashorn.internal.runtime.PropertyHashMap immutableAdd(jdk.nashorn.internal.runtime.Property[]);
descriptor: ([Ljdk/nashorn/internal/runtime/Property;)Ljdk/nashorn/internal/runtime/PropertyHashMap;
flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
Code:
stack=3, locals=8, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.nashorn.internal.runtime.PropertyHashMap.size:I
aload 1
arraylength
iadd
istore 2
start local 2 1: aload 0
iload 2
invokevirtual jdk.nashorn.internal.runtime.PropertyHashMap.newMapBuilder:(I)Ljdk/nashorn/internal/runtime/PropertyHashMap$MapBuilder;
astore 3
start local 3 2: aload 1
dup
astore 7
arraylength
istore 6
iconst_0
istore 5
goto 6
StackMap locals: jdk.nashorn.internal.runtime.PropertyHashMap jdk.nashorn.internal.runtime.Property[] int jdk.nashorn.internal.runtime.PropertyHashMap$MapBuilder top int int jdk.nashorn.internal.runtime.Property[]
StackMap stack:
3: aload 7
iload 5
aaload
astore 4
start local 4 4: aload 3
aload 4
invokevirtual jdk.nashorn.internal.runtime.PropertyHashMap$MapBuilder.addProperty:(Ljdk/nashorn/internal/runtime/Property;)V
end local 4 5: iinc 5 1
StackMap locals:
StackMap stack:
6: iload 5
iload 6
if_icmplt 3
7: new jdk.nashorn.internal.runtime.PropertyHashMap
dup
aload 3
invokespecial jdk.nashorn.internal.runtime.PropertyHashMap.<init>:(Ljdk/nashorn/internal/runtime/PropertyHashMap$MapBuilder;)V
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Ljdk/nashorn/internal/runtime/PropertyHashMap;
0 8 1 newProperties [Ljdk/nashorn/internal/runtime/Property;
1 8 2 newSize I
2 8 3 builder Ljdk/nashorn/internal/runtime/PropertyHashMap$MapBuilder;
4 5 4 property Ljdk/nashorn/internal/runtime/Property;
MethodParameters:
Name Flags
newProperties final
public jdk.nashorn.internal.runtime.PropertyHashMap immutableAdd(java.util.Collection<jdk.nashorn.internal.runtime.Property>);
descriptor: (Ljava/util/Collection;)Ljdk/nashorn/internal/runtime/PropertyHashMap;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=6, args_size=2
start local 0 start local 1 0: aload 1
ifnull 8
1: aload 0
getfield jdk.nashorn.internal.runtime.PropertyHashMap.size:I
aload 1
invokeinterface java.util.Collection.size:()I
iadd
istore 2
start local 2 2: aload 0
iload 2
invokevirtual jdk.nashorn.internal.runtime.PropertyHashMap.newMapBuilder:(I)Ljdk/nashorn/internal/runtime/PropertyHashMap$MapBuilder;
astore 3
start local 3 3: aload 1
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 5
goto 6
StackMap locals: jdk.nashorn.internal.runtime.PropertyHashMap java.util.Collection int jdk.nashorn.internal.runtime.PropertyHashMap$MapBuilder top java.util.Iterator
StackMap stack:
4: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast jdk.nashorn.internal.runtime.Property
astore 4
start local 4 5: aload 3
aload 4
invokevirtual jdk.nashorn.internal.runtime.PropertyHashMap$MapBuilder.addProperty:(Ljdk/nashorn/internal/runtime/Property;)V
end local 4 6: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 4
7: new jdk.nashorn.internal.runtime.PropertyHashMap
dup
aload 3
invokespecial jdk.nashorn.internal.runtime.PropertyHashMap.<init>:(Ljdk/nashorn/internal/runtime/PropertyHashMap$MapBuilder;)V
areturn
end local 3 end local 2 8: StackMap locals: jdk.nashorn.internal.runtime.PropertyHashMap java.util.Collection
StackMap stack:
aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Ljdk/nashorn/internal/runtime/PropertyHashMap;
0 9 1 newProperties Ljava/util/Collection<Ljdk/nashorn/internal/runtime/Property;>;
2 8 2 newSize I
3 8 3 builder Ljdk/nashorn/internal/runtime/PropertyHashMap$MapBuilder;
5 6 4 property Ljdk/nashorn/internal/runtime/Property;
Signature: (Ljava/util/Collection<Ljdk/nashorn/internal/runtime/Property;>;)Ljdk/nashorn/internal/runtime/PropertyHashMap;
MethodParameters:
Name Flags
newProperties final
public jdk.nashorn.internal.runtime.PropertyHashMap immutableRemove(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljdk/nashorn/internal/runtime/PropertyHashMap;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 0
getfield jdk.nashorn.internal.runtime.PropertyHashMap.size:I
invokevirtual jdk.nashorn.internal.runtime.PropertyHashMap.newMapBuilder:(I)Ljdk/nashorn/internal/runtime/PropertyHashMap$MapBuilder;
astore 2
start local 2 1: aload 2
aload 1
invokevirtual jdk.nashorn.internal.runtime.PropertyHashMap$MapBuilder.removeProperty:(Ljava/lang/Object;)V
2: aload 2
getfield jdk.nashorn.internal.runtime.PropertyHashMap$MapBuilder.size:I
aload 0
getfield jdk.nashorn.internal.runtime.PropertyHashMap.size:I
if_icmpge 6
3: aload 2
getfield jdk.nashorn.internal.runtime.PropertyHashMap$MapBuilder.size:I
ifeq 4
new jdk.nashorn.internal.runtime.PropertyHashMap
dup
aload 2
invokespecial jdk.nashorn.internal.runtime.PropertyHashMap.<init>:(Ljdk/nashorn/internal/runtime/PropertyHashMap$MapBuilder;)V
goto 5
StackMap locals: jdk.nashorn.internal.runtime.PropertyHashMap$MapBuilder
StackMap stack:
4: getstatic jdk.nashorn.internal.runtime.PropertyHashMap.EMPTY_HASHMAP:Ljdk/nashorn/internal/runtime/PropertyHashMap;
StackMap locals:
StackMap stack: jdk.nashorn.internal.runtime.PropertyHashMap
5: areturn
6: StackMap locals:
StackMap stack:
aload 0
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Ljdk/nashorn/internal/runtime/PropertyHashMap;
0 7 1 key Ljava/lang/Object;
1 7 2 builder Ljdk/nashorn/internal/runtime/PropertyHashMap$MapBuilder;
MethodParameters:
Name Flags
key final
public jdk.nashorn.internal.runtime.Property find(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljdk/nashorn/internal/runtime/Property;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual jdk.nashorn.internal.runtime.PropertyHashMap.findElement:(Ljava/lang/Object;)Ljdk/nashorn/internal/runtime/PropertyHashMap$Element;
astore 2
start local 2 1: aload 2
ifnull 2
aload 2
invokevirtual jdk.nashorn.internal.runtime.PropertyHashMap$Element.getProperty:()Ljdk/nashorn/internal/runtime/Property;
goto 3
StackMap locals: jdk.nashorn.internal.runtime.PropertyHashMap$Element
StackMap stack:
2: aconst_null
StackMap locals:
StackMap stack: jdk.nashorn.internal.runtime.Property
3: areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljdk/nashorn/internal/runtime/PropertyHashMap;
0 4 1 key Ljava/lang/Object;
1 4 2 element Ljdk/nashorn/internal/runtime/PropertyHashMap$Element;
MethodParameters:
Name Flags
key final
jdk.nashorn.internal.runtime.Property[] getProperties();
descriptor: ()[Ljdk/nashorn/internal/runtime/Property;
flags: (0x0000)
Code:
stack=3, locals=4, args_size=1
start local 0 0: aload 0
getfield jdk.nashorn.internal.runtime.PropertyHashMap.properties:[Ljdk/nashorn/internal/runtime/Property;
ifnonnull 9
1: aload 0
getfield jdk.nashorn.internal.runtime.PropertyHashMap.size:I
anewarray jdk.nashorn.internal.runtime.Property
astore 1
start local 1 2: aload 0
getfield jdk.nashorn.internal.runtime.PropertyHashMap.size:I
istore 2
start local 2 3: aload 0
getfield jdk.nashorn.internal.runtime.PropertyHashMap.list:Ljdk/nashorn/internal/runtime/PropertyHashMap$Element;
astore 3
start local 3 4: goto 7
5: StackMap locals: jdk.nashorn.internal.runtime.Property[] int jdk.nashorn.internal.runtime.PropertyHashMap$Element
StackMap stack:
aload 1
iinc 2 -1
iload 2
aload 3
invokevirtual jdk.nashorn.internal.runtime.PropertyHashMap$Element.getProperty:()Ljdk/nashorn/internal/runtime/Property;
aastore
6: aload 3
invokevirtual jdk.nashorn.internal.runtime.PropertyHashMap$Element.getLink:()Ljdk/nashorn/internal/runtime/PropertyHashMap$Element;
astore 3
StackMap locals:
StackMap stack:
7: aload 3
ifnonnull 5
end local 3 8: aload 0
aload 1
putfield jdk.nashorn.internal.runtime.PropertyHashMap.properties:[Ljdk/nashorn/internal/runtime/Property;
end local 2 end local 1 9: StackMap locals:
StackMap stack:
aload 0
getfield jdk.nashorn.internal.runtime.PropertyHashMap.properties:[Ljdk/nashorn/internal/runtime/Property;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Ljdk/nashorn/internal/runtime/PropertyHashMap;
2 9 1 array [Ljdk/nashorn/internal/runtime/Property;
3 9 2 i I
4 8 3 element Ljdk/nashorn/internal/runtime/PropertyHashMap$Element;
private static int binIndex(jdk.nashorn.internal.runtime.PropertyHashMap$Element[], java.lang.Object);
descriptor: ([Ljdk/nashorn/internal/runtime/PropertyHashMap$Element;Ljava/lang/Object;)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.lang.Object.hashCode:()I
aload 0
arraylength
iconst_1
isub
iand
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 bins [Ljdk/nashorn/internal/runtime/PropertyHashMap$Element;
0 1 1 key Ljava/lang/Object;
MethodParameters:
Name Flags
bins final
key final
private static int binsNeeded(int);
descriptor: (I)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=1, args_size=1
start local 0 0: iconst_1
bipush 32
iload 0
iload 0
iconst_1
iushr
iadd
bipush 31
ior
invokestatic java.lang.Integer.numberOfLeadingZeros:(I)I
isub
ishl
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 n I
MethodParameters:
Name Flags
n final
private static int threeQuarters(int);
descriptor: (I)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: iload 0
iconst_1
iushr
iload 0
iconst_2
iushr
iadd
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 n I
MethodParameters:
Name Flags
n final
private static jdk.nashorn.internal.runtime.PropertyHashMap$Element[] rehash(jdk.nashorn.internal.runtime.PropertyHashMap$Element, int);
descriptor: (Ljdk/nashorn/internal/runtime/PropertyHashMap$Element;I)[Ljdk/nashorn/internal/runtime/PropertyHashMap$Element;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=7, args_size=2
start local 0 start local 1 0: iload 1
anewarray jdk.nashorn.internal.runtime.PropertyHashMap$Element
astore 2
start local 2 1: aload 0
astore 3
start local 3 2: goto 8
3: StackMap locals: jdk.nashorn.internal.runtime.PropertyHashMap$Element[] jdk.nashorn.internal.runtime.PropertyHashMap$Element
StackMap stack:
aload 3
invokevirtual jdk.nashorn.internal.runtime.PropertyHashMap$Element.getProperty:()Ljdk/nashorn/internal/runtime/Property;
astore 4
start local 4 4: aload 4
invokevirtual jdk.nashorn.internal.runtime.Property.getKey:()Ljava/lang/Object;
astore 5
start local 5 5: aload 2
aload 5
invokestatic jdk.nashorn.internal.runtime.PropertyHashMap.binIndex:([Ljdk/nashorn/internal/runtime/PropertyHashMap$Element;Ljava/lang/Object;)I
istore 6
start local 6 6: aload 2
iload 6
new jdk.nashorn.internal.runtime.PropertyHashMap$Element
dup
aload 2
iload 6
aaload
aload 4
invokespecial jdk.nashorn.internal.runtime.PropertyHashMap$Element.<init>:(Ljdk/nashorn/internal/runtime/PropertyHashMap$Element;Ljdk/nashorn/internal/runtime/Property;)V
aastore
end local 6 end local 5 end local 4 7: aload 3
invokevirtual jdk.nashorn.internal.runtime.PropertyHashMap$Element.getLink:()Ljdk/nashorn/internal/runtime/PropertyHashMap$Element;
astore 3
StackMap locals:
StackMap stack:
8: aload 3
ifnonnull 3
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 list Ljdk/nashorn/internal/runtime/PropertyHashMap$Element;
0 10 1 binSize I
1 10 2 newBins [Ljdk/nashorn/internal/runtime/PropertyHashMap$Element;
2 9 3 element Ljdk/nashorn/internal/runtime/PropertyHashMap$Element;
4 7 4 property Ljdk/nashorn/internal/runtime/Property;
5 7 5 key Ljava/lang/Object;
6 7 6 binIndex I
MethodParameters:
Name Flags
list final
binSize final
private jdk.nashorn.internal.runtime.PropertyHashMap$Element findElement(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljdk/nashorn/internal/runtime/PropertyHashMap$Element;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.nashorn.internal.runtime.PropertyHashMap.queue:Ljdk/nashorn/internal/runtime/PropertyHashMap$ElementQueue;
ifnull 2
1: aload 0
getfield jdk.nashorn.internal.runtime.PropertyHashMap.queue:Ljdk/nashorn/internal/runtime/PropertyHashMap$ElementQueue;
aload 1
invokevirtual jdk.nashorn.internal.runtime.PropertyHashMap$ElementQueue.find:(Ljava/lang/Object;)Ljdk/nashorn/internal/runtime/PropertyHashMap$Element;
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield jdk.nashorn.internal.runtime.PropertyHashMap.bins:[Ljdk/nashorn/internal/runtime/PropertyHashMap$Element;
ifnull 5
3: aload 0
getfield jdk.nashorn.internal.runtime.PropertyHashMap.bins:[Ljdk/nashorn/internal/runtime/PropertyHashMap$Element;
aload 1
invokestatic jdk.nashorn.internal.runtime.PropertyHashMap.binIndex:([Ljdk/nashorn/internal/runtime/PropertyHashMap$Element;Ljava/lang/Object;)I
istore 2
start local 2 4: aload 0
getfield jdk.nashorn.internal.runtime.PropertyHashMap.bins:[Ljdk/nashorn/internal/runtime/PropertyHashMap$Element;
iload 2
aaload
aload 1
invokestatic jdk.nashorn.internal.runtime.PropertyHashMap.findElement:(Ljdk/nashorn/internal/runtime/PropertyHashMap$Element;Ljava/lang/Object;)Ljdk/nashorn/internal/runtime/PropertyHashMap$Element;
areturn
end local 2 5: StackMap locals:
StackMap stack:
aload 0
getfield jdk.nashorn.internal.runtime.PropertyHashMap.list:Ljdk/nashorn/internal/runtime/PropertyHashMap$Element;
aload 1
invokestatic jdk.nashorn.internal.runtime.PropertyHashMap.findElement:(Ljdk/nashorn/internal/runtime/PropertyHashMap$Element;Ljava/lang/Object;)Ljdk/nashorn/internal/runtime/PropertyHashMap$Element;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljdk/nashorn/internal/runtime/PropertyHashMap;
0 6 1 key Ljava/lang/Object;
4 5 2 binIndex I
MethodParameters:
Name Flags
key final
private static jdk.nashorn.internal.runtime.PropertyHashMap$Element findElement(jdk.nashorn.internal.runtime.PropertyHashMap$Element, java.lang.Object);
descriptor: (Ljdk/nashorn/internal/runtime/PropertyHashMap$Element;Ljava/lang/Object;)Ljdk/nashorn/internal/runtime/PropertyHashMap$Element;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.lang.Object.hashCode:()I
istore 2
start local 2 1: aload 0
astore 3
start local 3 2: goto 6
3: StackMap locals: int jdk.nashorn.internal.runtime.PropertyHashMap$Element
StackMap stack:
aload 3
aload 1
iload 2
invokevirtual jdk.nashorn.internal.runtime.PropertyHashMap$Element.match:(Ljava/lang/Object;I)Z
ifeq 5
4: aload 3
areturn
5: StackMap locals:
StackMap stack:
aload 3
invokevirtual jdk.nashorn.internal.runtime.PropertyHashMap$Element.getLink:()Ljdk/nashorn/internal/runtime/PropertyHashMap$Element;
astore 3
StackMap locals:
StackMap stack:
6: aload 3
ifnonnull 3
end local 3 7: aconst_null
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 elementList Ljdk/nashorn/internal/runtime/PropertyHashMap$Element;
0 8 1 key Ljava/lang/Object;
1 8 2 hashCode I
2 7 3 element Ljdk/nashorn/internal/runtime/PropertyHashMap$Element;
MethodParameters:
Name Flags
elementList final
key final
private jdk.nashorn.internal.runtime.PropertyHashMap$MapBuilder newMapBuilder(int);
descriptor: (I)Ljdk/nashorn/internal/runtime/PropertyHashMap$MapBuilder;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.nashorn.internal.runtime.PropertyHashMap.bins:[Ljdk/nashorn/internal/runtime/PropertyHashMap$Element;
ifnonnull 2
iload 1
bipush 8
if_icmpge 2
1: new jdk.nashorn.internal.runtime.PropertyHashMap$MapBuilder
dup
aload 0
getfield jdk.nashorn.internal.runtime.PropertyHashMap.bins:[Ljdk/nashorn/internal/runtime/PropertyHashMap$Element;
aload 0
getfield jdk.nashorn.internal.runtime.PropertyHashMap.list:Ljdk/nashorn/internal/runtime/PropertyHashMap$Element;
aload 0
getfield jdk.nashorn.internal.runtime.PropertyHashMap.size:I
iconst_0
invokespecial jdk.nashorn.internal.runtime.PropertyHashMap$MapBuilder.<init>:([Ljdk/nashorn/internal/runtime/PropertyHashMap$Element;Ljdk/nashorn/internal/runtime/PropertyHashMap$Element;IZ)V
areturn
2: StackMap locals:
StackMap stack:
iload 1
aload 0
getfield jdk.nashorn.internal.runtime.PropertyHashMap.threshold:I
if_icmple 4
3: new jdk.nashorn.internal.runtime.PropertyHashMap$MapBuilder
dup
aload 0
getfield jdk.nashorn.internal.runtime.PropertyHashMap.list:Ljdk/nashorn/internal/runtime/PropertyHashMap$Element;
iload 1
invokestatic jdk.nashorn.internal.runtime.PropertyHashMap.binsNeeded:(I)I
invokestatic jdk.nashorn.internal.runtime.PropertyHashMap.rehash:(Ljdk/nashorn/internal/runtime/PropertyHashMap$Element;I)[Ljdk/nashorn/internal/runtime/PropertyHashMap$Element;
aload 0
getfield jdk.nashorn.internal.runtime.PropertyHashMap.list:Ljdk/nashorn/internal/runtime/PropertyHashMap$Element;
aload 0
getfield jdk.nashorn.internal.runtime.PropertyHashMap.size:I
iconst_1
invokespecial jdk.nashorn.internal.runtime.PropertyHashMap$MapBuilder.<init>:([Ljdk/nashorn/internal/runtime/PropertyHashMap$Element;Ljdk/nashorn/internal/runtime/PropertyHashMap$Element;IZ)V
areturn
4: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield jdk.nashorn.internal.runtime.PropertyHashMap.size:I
iload 1
invokevirtual jdk.nashorn.internal.runtime.PropertyHashMap.shouldCloneBins:(II)Z
ifeq 6
5: new jdk.nashorn.internal.runtime.PropertyHashMap$MapBuilder
dup
aload 0
invokevirtual jdk.nashorn.internal.runtime.PropertyHashMap.cloneBins:()[Ljdk/nashorn/internal/runtime/PropertyHashMap$Element;
aload 0
getfield jdk.nashorn.internal.runtime.PropertyHashMap.list:Ljdk/nashorn/internal/runtime/PropertyHashMap$Element;
aload 0
getfield jdk.nashorn.internal.runtime.PropertyHashMap.size:I
iconst_1
invokespecial jdk.nashorn.internal.runtime.PropertyHashMap$MapBuilder.<init>:([Ljdk/nashorn/internal/runtime/PropertyHashMap$Element;Ljdk/nashorn/internal/runtime/PropertyHashMap$Element;IZ)V
areturn
6: StackMap locals:
StackMap stack:
aload 0
getfield jdk.nashorn.internal.runtime.PropertyHashMap.queue:Ljdk/nashorn/internal/runtime/PropertyHashMap$ElementQueue;
ifnonnull 8
7: new jdk.nashorn.internal.runtime.PropertyHashMap$MapBuilder
dup
aload 0
getfield jdk.nashorn.internal.runtime.PropertyHashMap.bins:[Ljdk/nashorn/internal/runtime/PropertyHashMap$Element;
aload 0
getfield jdk.nashorn.internal.runtime.PropertyHashMap.list:Ljdk/nashorn/internal/runtime/PropertyHashMap$Element;
aload 0
getfield jdk.nashorn.internal.runtime.PropertyHashMap.size:I
iconst_0
invokespecial jdk.nashorn.internal.runtime.PropertyHashMap$MapBuilder.<init>:([Ljdk/nashorn/internal/runtime/PropertyHashMap$Element;Ljdk/nashorn/internal/runtime/PropertyHashMap$Element;IZ)V
areturn
8: StackMap locals:
StackMap stack:
new jdk.nashorn.internal.runtime.PropertyHashMap$MapBuilder
dup
aload 0
getfield jdk.nashorn.internal.runtime.PropertyHashMap.queue:Ljdk/nashorn/internal/runtime/PropertyHashMap$ElementQueue;
aload 0
getfield jdk.nashorn.internal.runtime.PropertyHashMap.list:Ljdk/nashorn/internal/runtime/PropertyHashMap$Element;
aload 0
getfield jdk.nashorn.internal.runtime.PropertyHashMap.size:I
iconst_0
invokespecial jdk.nashorn.internal.runtime.PropertyHashMap$MapBuilder.<init>:(Ljdk/nashorn/internal/runtime/PropertyHashMap$ElementQueue;Ljdk/nashorn/internal/runtime/PropertyHashMap$Element;IZ)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Ljdk/nashorn/internal/runtime/PropertyHashMap;
0 9 1 newSize I
MethodParameters:
Name Flags
newSize final
private jdk.nashorn.internal.runtime.PropertyHashMap$Element[] cloneBins();
descriptor: ()[Ljdk/nashorn/internal/runtime/PropertyHashMap$Element;
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.nashorn.internal.runtime.PropertyHashMap.queue:Ljdk/nashorn/internal/runtime/PropertyHashMap$ElementQueue;
ifnull 2
1: aload 0
getfield jdk.nashorn.internal.runtime.PropertyHashMap.queue:Ljdk/nashorn/internal/runtime/PropertyHashMap$ElementQueue;
invokevirtual jdk.nashorn.internal.runtime.PropertyHashMap$ElementQueue.cloneAndMergeBins:()[Ljdk/nashorn/internal/runtime/PropertyHashMap$Element;
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield jdk.nashorn.internal.runtime.PropertyHashMap.bins:[Ljdk/nashorn/internal/runtime/PropertyHashMap$Element;
invokevirtual jdk.nashorn.internal.runtime.PropertyHashMap$Element[].clone:()Ljava/lang/Object;
checkcast jdk.nashorn.internal.runtime.PropertyHashMap$Element[]
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/nashorn/internal/runtime/PropertyHashMap;
private boolean shouldCloneBins(int, int);
descriptor: (II)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: iload 2
getstatic jdk.nashorn.internal.runtime.PropertyHashMap.QUEUE_THRESHOLD:I
if_icmplt 1
iload 2
bipush 9
iushr
iload 1
bipush 9
iushr
if_icmpgt 1
iconst_0
ireturn
StackMap locals:
StackMap stack:
1: iconst_1
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/nashorn/internal/runtime/PropertyHashMap;
0 2 1 oldSize I
0 2 2 newSize I
MethodParameters:
Name Flags
oldSize final
newSize final
private static jdk.nashorn.internal.runtime.PropertyHashMap$Element removeFromList(jdk.nashorn.internal.runtime.PropertyHashMap$Element, java.lang.Object);
descriptor: (Ljdk/nashorn/internal/runtime/PropertyHashMap$Element;Ljava/lang/Object;)Ljdk/nashorn/internal/runtime/PropertyHashMap$Element;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=7, args_size=2
start local 0 start local 1 0: aload 0
ifnonnull 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.lang.Object.hashCode:()I
istore 2
start local 2 3: aload 0
aload 1
iload 2
invokevirtual jdk.nashorn.internal.runtime.PropertyHashMap$Element.match:(Ljava/lang/Object;I)Z
ifeq 5
4: aload 0
invokevirtual jdk.nashorn.internal.runtime.PropertyHashMap$Element.getLink:()Ljdk/nashorn/internal/runtime/PropertyHashMap$Element;
areturn
5: StackMap locals: int
StackMap stack:
new jdk.nashorn.internal.runtime.PropertyHashMap$Element
dup
aconst_null
aload 0
invokevirtual jdk.nashorn.internal.runtime.PropertyHashMap$Element.getProperty:()Ljdk/nashorn/internal/runtime/Property;
invokespecial jdk.nashorn.internal.runtime.PropertyHashMap$Element.<init>:(Ljdk/nashorn/internal/runtime/PropertyHashMap$Element;Ljdk/nashorn/internal/runtime/Property;)V
astore 3
start local 3 6: aload 3
astore 4
start local 4 7: aload 0
invokevirtual jdk.nashorn.internal.runtime.PropertyHashMap$Element.getLink:()Ljdk/nashorn/internal/runtime/PropertyHashMap$Element;
astore 5
start local 5 8: goto 16
9: StackMap locals: jdk.nashorn.internal.runtime.PropertyHashMap$Element jdk.nashorn.internal.runtime.PropertyHashMap$Element jdk.nashorn.internal.runtime.PropertyHashMap$Element
StackMap stack:
aload 5
aload 1
iload 2
invokevirtual jdk.nashorn.internal.runtime.PropertyHashMap$Element.match:(Ljava/lang/Object;I)Z
ifeq 12
10: aload 4
aload 5
invokevirtual jdk.nashorn.internal.runtime.PropertyHashMap$Element.getLink:()Ljdk/nashorn/internal/runtime/PropertyHashMap$Element;
invokevirtual jdk.nashorn.internal.runtime.PropertyHashMap$Element.setLink:(Ljdk/nashorn/internal/runtime/PropertyHashMap$Element;)V
11: aload 3
areturn
12: StackMap locals:
StackMap stack:
new jdk.nashorn.internal.runtime.PropertyHashMap$Element
dup
aconst_null
aload 5
invokevirtual jdk.nashorn.internal.runtime.PropertyHashMap$Element.getProperty:()Ljdk/nashorn/internal/runtime/Property;
invokespecial jdk.nashorn.internal.runtime.PropertyHashMap$Element.<init>:(Ljdk/nashorn/internal/runtime/PropertyHashMap$Element;Ljdk/nashorn/internal/runtime/Property;)V
astore 6
start local 6 13: aload 4
aload 6
invokevirtual jdk.nashorn.internal.runtime.PropertyHashMap$Element.setLink:(Ljdk/nashorn/internal/runtime/PropertyHashMap$Element;)V
14: aload 6
astore 4
end local 6 15: aload 5
invokevirtual jdk.nashorn.internal.runtime.PropertyHashMap$Element.getLink:()Ljdk/nashorn/internal/runtime/PropertyHashMap$Element;
astore 5
StackMap locals:
StackMap stack:
16: aload 5
ifnonnull 9
end local 5 17: aload 0
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 list Ljdk/nashorn/internal/runtime/PropertyHashMap$Element;
0 18 1 key Ljava/lang/Object;
3 18 2 hashCode I
6 18 3 head Ljdk/nashorn/internal/runtime/PropertyHashMap$Element;
7 18 4 previous Ljdk/nashorn/internal/runtime/PropertyHashMap$Element;
8 17 5 element Ljdk/nashorn/internal/runtime/PropertyHashMap$Element;
13 15 6 next Ljdk/nashorn/internal/runtime/PropertyHashMap$Element;
MethodParameters:
Name Flags
list final
key final
private static jdk.nashorn.internal.runtime.PropertyHashMap$Element replaceInList(jdk.nashorn.internal.runtime.PropertyHashMap$Element, java.lang.Object, jdk.nashorn.internal.runtime.Property);
descriptor: (Ljdk/nashorn/internal/runtime/PropertyHashMap$Element;Ljava/lang/Object;Ljdk/nashorn/internal/runtime/Property;)Ljdk/nashorn/internal/runtime/PropertyHashMap$Element;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=8, args_size=3
start local 0 start local 1 start local 2 0: getstatic jdk.nashorn.internal.runtime.PropertyHashMap.$assertionsDisabled:Z
ifne 1
aload 0
ifnonnull 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.lang.Object.hashCode:()I
istore 3
start local 3 2: aload 0
aload 1
iload 3
invokevirtual jdk.nashorn.internal.runtime.PropertyHashMap$Element.match:(Ljava/lang/Object;I)Z
ifeq 4
3: new jdk.nashorn.internal.runtime.PropertyHashMap$Element
dup
aload 0
invokevirtual jdk.nashorn.internal.runtime.PropertyHashMap$Element.getLink:()Ljdk/nashorn/internal/runtime/PropertyHashMap$Element;
aload 2
invokespecial jdk.nashorn.internal.runtime.PropertyHashMap$Element.<init>:(Ljdk/nashorn/internal/runtime/PropertyHashMap$Element;Ljdk/nashorn/internal/runtime/Property;)V
areturn
4: StackMap locals: int
StackMap stack:
new jdk.nashorn.internal.runtime.PropertyHashMap$Element
dup
aconst_null
aload 0
invokevirtual jdk.nashorn.internal.runtime.PropertyHashMap$Element.getProperty:()Ljdk/nashorn/internal/runtime/Property;
invokespecial jdk.nashorn.internal.runtime.PropertyHashMap$Element.<init>:(Ljdk/nashorn/internal/runtime/PropertyHashMap$Element;Ljdk/nashorn/internal/runtime/Property;)V
astore 4
start local 4 5: aload 4
astore 5
start local 5 6: aload 0
invokevirtual jdk.nashorn.internal.runtime.PropertyHashMap$Element.getLink:()Ljdk/nashorn/internal/runtime/PropertyHashMap$Element;
astore 6
start local 6 7: goto 15
8: StackMap locals: jdk.nashorn.internal.runtime.PropertyHashMap$Element jdk.nashorn.internal.runtime.PropertyHashMap$Element jdk.nashorn.internal.runtime.PropertyHashMap$Element
StackMap stack:
aload 6
aload 1
iload 3
invokevirtual jdk.nashorn.internal.runtime.PropertyHashMap$Element.match:(Ljava/lang/Object;I)Z
ifeq 11
9: aload 5
new jdk.nashorn.internal.runtime.PropertyHashMap$Element
dup
aload 6
invokevirtual jdk.nashorn.internal.runtime.PropertyHashMap$Element.getLink:()Ljdk/nashorn/internal/runtime/PropertyHashMap$Element;
aload 2
invokespecial jdk.nashorn.internal.runtime.PropertyHashMap$Element.<init>:(Ljdk/nashorn/internal/runtime/PropertyHashMap$Element;Ljdk/nashorn/internal/runtime/Property;)V
invokevirtual jdk.nashorn.internal.runtime.PropertyHashMap$Element.setLink:(Ljdk/nashorn/internal/runtime/PropertyHashMap$Element;)V
10: aload 4
areturn
11: StackMap locals:
StackMap stack:
new jdk.nashorn.internal.runtime.PropertyHashMap$Element
dup
aconst_null
aload 6
invokevirtual jdk.nashorn.internal.runtime.PropertyHashMap$Element.getProperty:()Ljdk/nashorn/internal/runtime/Property;
invokespecial jdk.nashorn.internal.runtime.PropertyHashMap$Element.<init>:(Ljdk/nashorn/internal/runtime/PropertyHashMap$Element;Ljdk/nashorn/internal/runtime/Property;)V
astore 7
start local 7 12: aload 5
aload 7
invokevirtual jdk.nashorn.internal.runtime.PropertyHashMap$Element.setLink:(Ljdk/nashorn/internal/runtime/PropertyHashMap$Element;)V
13: aload 7
astore 5
end local 7 14: aload 6
invokevirtual jdk.nashorn.internal.runtime.PropertyHashMap$Element.getLink:()Ljdk/nashorn/internal/runtime/PropertyHashMap$Element;
astore 6
StackMap locals:
StackMap stack:
15: aload 6
ifnonnull 8
end local 6 16: aload 0
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 list Ljdk/nashorn/internal/runtime/PropertyHashMap$Element;
0 17 1 key Ljava/lang/Object;
0 17 2 property Ljdk/nashorn/internal/runtime/Property;
2 17 3 hashCode I
5 17 4 head Ljdk/nashorn/internal/runtime/PropertyHashMap$Element;
6 17 5 previous Ljdk/nashorn/internal/runtime/PropertyHashMap$Element;
7 16 6 element Ljdk/nashorn/internal/runtime/PropertyHashMap$Element;
12 14 7 next Ljdk/nashorn/internal/runtime/PropertyHashMap$Element;
MethodParameters:
Name Flags
list final
key final
property final
public int size();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.nashorn.internal.runtime.PropertyHashMap.size:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/nashorn/internal/runtime/PropertyHashMap;
public boolean isEmpty();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.nashorn.internal.runtime.PropertyHashMap.size:I
ifne 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 Ljdk/nashorn/internal/runtime/PropertyHashMap;
public boolean containsKey(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: getstatic jdk.nashorn.internal.runtime.PropertyHashMap.$assertionsDisabled:Z
ifne 1
aload 1
instanceof java.lang.String
ifne 1
aload 1
instanceof jdk.nashorn.internal.runtime.Symbol
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual jdk.nashorn.internal.runtime.PropertyHashMap.findElement:(Ljava/lang/Object;)Ljdk/nashorn/internal/runtime/PropertyHashMap$Element;
ifnull 2
iconst_1
ireturn
StackMap locals:
StackMap stack:
2: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/nashorn/internal/runtime/PropertyHashMap;
0 3 1 key Ljava/lang/Object;
MethodParameters:
Name Flags
key final
public boolean containsValue(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 1
instanceof jdk.nashorn.internal.runtime.Property
ifeq 5
1: aload 1
checkcast jdk.nashorn.internal.runtime.Property
astore 2
start local 2 2: aload 0
aload 2
invokevirtual jdk.nashorn.internal.runtime.Property.getKey:()Ljava/lang/Object;
invokevirtual jdk.nashorn.internal.runtime.PropertyHashMap.findElement:(Ljava/lang/Object;)Ljdk/nashorn/internal/runtime/PropertyHashMap$Element;
astore 3
start local 3 3: aload 3
ifnull 4
aload 3
invokevirtual jdk.nashorn.internal.runtime.PropertyHashMap$Element.getProperty:()Ljdk/nashorn/internal/runtime/Property;
aload 1
invokevirtual jdk.nashorn.internal.runtime.Property.equals:(Ljava/lang/Object;)Z
ifeq 4
iconst_1
ireturn
StackMap locals: jdk.nashorn.internal.runtime.Property jdk.nashorn.internal.runtime.PropertyHashMap$Element
StackMap stack:
4: iconst_0
ireturn
end local 3 end local 2 5: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljdk/nashorn/internal/runtime/PropertyHashMap;
0 6 1 value Ljava/lang/Object;
2 5 2 property Ljdk/nashorn/internal/runtime/Property;
3 5 3 element Ljdk/nashorn/internal/runtime/PropertyHashMap$Element;
MethodParameters:
Name Flags
value final
public jdk.nashorn.internal.runtime.Property get(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljdk/nashorn/internal/runtime/Property;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: getstatic jdk.nashorn.internal.runtime.PropertyHashMap.$assertionsDisabled:Z
ifne 1
aload 1
instanceof java.lang.String
ifne 1
aload 1
instanceof jdk.nashorn.internal.runtime.Symbol
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual jdk.nashorn.internal.runtime.PropertyHashMap.findElement:(Ljava/lang/Object;)Ljdk/nashorn/internal/runtime/PropertyHashMap$Element;
astore 2
start local 2 2: aload 2
ifnull 3
aload 2
invokevirtual jdk.nashorn.internal.runtime.PropertyHashMap$Element.getProperty:()Ljdk/nashorn/internal/runtime/Property;
goto 4
StackMap locals: jdk.nashorn.internal.runtime.PropertyHashMap$Element
StackMap stack:
3: aconst_null
StackMap locals:
StackMap stack: jdk.nashorn.internal.runtime.Property
4: areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljdk/nashorn/internal/runtime/PropertyHashMap;
0 5 1 key Ljava/lang/Object;
2 5 2 element Ljdk/nashorn/internal/runtime/PropertyHashMap$Element;
MethodParameters:
Name Flags
key final
public jdk.nashorn.internal.runtime.Property put(java.lang.Object, jdk.nashorn.internal.runtime.Property);
descriptor: (Ljava/lang/Object;Ljdk/nashorn/internal/runtime/Property;)Ljdk/nashorn/internal/runtime/Property;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: new java.lang.UnsupportedOperationException
dup
ldc "Immutable map."
invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/nashorn/internal/runtime/PropertyHashMap;
0 1 1 key Ljava/lang/Object;
0 1 2 value Ljdk/nashorn/internal/runtime/Property;
MethodParameters:
Name Flags
key final
value final
public jdk.nashorn.internal.runtime.Property remove(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljdk/nashorn/internal/runtime/Property;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: new java.lang.UnsupportedOperationException
dup
ldc "Immutable map."
invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/nashorn/internal/runtime/PropertyHashMap;
0 1 1 key Ljava/lang/Object;
MethodParameters:
Name Flags
key final
public void putAll(java.util.Map<? extends java.lang.Object, ? extends jdk.nashorn.internal.runtime.Property>);
descriptor: (Ljava/util/Map;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: new java.lang.UnsupportedOperationException
dup
ldc "Immutable map."
invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/nashorn/internal/runtime/PropertyHashMap;
0 1 1 m Ljava/util/Map<+Ljava/lang/Object;+Ljdk/nashorn/internal/runtime/Property;>;
Signature: (Ljava/util/Map<+Ljava/lang/Object;+Ljdk/nashorn/internal/runtime/Property;>;)V
MethodParameters:
Name Flags
m final
public void clear();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new java.lang.UnsupportedOperationException
dup
ldc "Immutable map."
invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/nashorn/internal/runtime/PropertyHashMap;
public java.util.Set<java.lang.Object> keySet();
descriptor: ()Ljava/util/Set;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=1
start local 0 0: new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
astore 1
start local 1 1: aload 0
getfield jdk.nashorn.internal.runtime.PropertyHashMap.list:Ljdk/nashorn/internal/runtime/PropertyHashMap$Element;
astore 2
start local 2 2: goto 5
3: StackMap locals: java.util.HashSet jdk.nashorn.internal.runtime.PropertyHashMap$Element
StackMap stack:
aload 1
aload 2
invokevirtual jdk.nashorn.internal.runtime.PropertyHashMap$Element.getKey:()Ljava/lang/Object;
invokevirtual java.util.HashSet.add:(Ljava/lang/Object;)Z
pop
4: aload 2
invokevirtual jdk.nashorn.internal.runtime.PropertyHashMap$Element.getLink:()Ljdk/nashorn/internal/runtime/PropertyHashMap$Element;
astore 2
StackMap locals:
StackMap stack:
5: aload 2
ifnonnull 3
end local 2 6: aload 1
invokestatic java.util.Collections.unmodifiableSet:(Ljava/util/Set;)Ljava/util/Set;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Ljdk/nashorn/internal/runtime/PropertyHashMap;
1 7 1 set Ljava/util/HashSet<Ljava/lang/Object;>;
2 6 2 element Ljdk/nashorn/internal/runtime/PropertyHashMap$Element;
Signature: ()Ljava/util/Set<Ljava/lang/Object;>;
public java.util.Collection<jdk.nashorn.internal.runtime.Property> values();
descriptor: ()Ljava/util/Collection;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual jdk.nashorn.internal.runtime.PropertyHashMap.getProperties:()[Ljdk/nashorn/internal/runtime/Property;
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
invokestatic java.util.Collections.unmodifiableList:(Ljava/util/List;)Ljava/util/List;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/nashorn/internal/runtime/PropertyHashMap;
Signature: ()Ljava/util/Collection<Ljdk/nashorn/internal/runtime/Property;>;
public java.util.Set<java.util.Map$Entry<java.lang.Object, jdk.nashorn.internal.runtime.Property>> entrySet();
descriptor: ()Ljava/util/Set;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=1
start local 0 0: new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
astore 1
start local 1 1: aload 0
getfield jdk.nashorn.internal.runtime.PropertyHashMap.list:Ljdk/nashorn/internal/runtime/PropertyHashMap$Element;
astore 2
start local 2 2: goto 5
3: StackMap locals: java.util.HashSet jdk.nashorn.internal.runtime.PropertyHashMap$Element
StackMap stack:
aload 1
aload 2
invokevirtual java.util.HashSet.add:(Ljava/lang/Object;)Z
pop
4: aload 2
invokevirtual jdk.nashorn.internal.runtime.PropertyHashMap$Element.getLink:()Ljdk/nashorn/internal/runtime/PropertyHashMap$Element;
astore 2
StackMap locals:
StackMap stack:
5: aload 2
ifnonnull 3
end local 2 6: aload 1
invokestatic java.util.Collections.unmodifiableSet:(Ljava/util/Set;)Ljava/util/Set;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Ljdk/nashorn/internal/runtime/PropertyHashMap;
1 7 1 set Ljava/util/HashSet<Ljava/util/Map$Entry<Ljava/lang/Object;Ljdk/nashorn/internal/runtime/Property;>;>;
2 6 2 element Ljdk/nashorn/internal/runtime/PropertyHashMap$Element;
Signature: ()Ljava/util/Set<Ljava/util/Map$Entry<Ljava/lang/Object;Ljdk/nashorn/internal/runtime/Property;>;>;
public java.lang.Object get(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
invokevirtual jdk.nashorn.internal.runtime.PropertyHashMap.get:(Ljava/lang/Object;)Ljdk/nashorn/internal/runtime/Property;
areturn
LocalVariableTable:
Start End Slot Name Signature
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.Object
aload 2
checkcast jdk.nashorn.internal.runtime.Property
invokevirtual jdk.nashorn.internal.runtime.PropertyHashMap.put:(Ljava/lang/Object;Ljdk/nashorn/internal/runtime/Property;)Ljdk/nashorn/internal/runtime/Property;
areturn
LocalVariableTable:
Start End Slot Name Signature
public java.lang.Object remove(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
invokevirtual jdk.nashorn.internal.runtime.PropertyHashMap.remove:(Ljava/lang/Object;)Ljdk/nashorn/internal/runtime/Property;
areturn
LocalVariableTable:
Start End Slot Name Signature
}
Signature: Ljava/lang/Object;Ljava/util/Map<Ljava/lang/Object;Ljdk/nashorn/internal/runtime/Property;>;
SourceFile: "PropertyHashMap.java"
NestMembers:
jdk.nashorn.internal.runtime.PropertyHashMap$Element jdk.nashorn.internal.runtime.PropertyHashMap$ElementQueue jdk.nashorn.internal.runtime.PropertyHashMap$MapBuilder
InnerClasses:
public abstract Entry = java.util.Map$Entry of java.util.Map
final Element = jdk.nashorn.internal.runtime.PropertyHashMap$Element of jdk.nashorn.internal.runtime.PropertyHashMap
private ElementQueue = jdk.nashorn.internal.runtime.PropertyHashMap$ElementQueue of jdk.nashorn.internal.runtime.PropertyHashMap
private MapBuilder = jdk.nashorn.internal.runtime.PropertyHashMap$MapBuilder of jdk.nashorn.internal.runtime.PropertyHashMap