public final class org.graalvm.util.impl.EconomicMapImpl<K, V> implements org.graalvm.util.EconomicMap<K, V>, org.graalvm.util.EconomicSet<K>
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: org.graalvm.util.impl.EconomicMapImpl
super_class: java.lang.Object
{
private static final int INITIAL_CAPACITY;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 4
private static final int COMPRESS_IMMEDIATE_CAPACITY;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 8
private static final int MIN_CAPACITY_INCREASE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 8
private static final int HASH_THRESHOLD;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 4
private static final int HASH_THRESHOLD_IDENTITY_COMPARE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 8
private static final int MAX_ELEMENT_COUNT;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1073741823
private static final int LARGE_HASH_THRESHOLD;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 512
private static final int VERY_LARGE_HASH_THRESHOLD;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 131072
private int totalEntries;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int deletedEntries;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private java.lang.Object[] entries;
descriptor: [Ljava/lang/Object;
flags: (0x0002) ACC_PRIVATE
private byte[] hashArray;
descriptor: [B
flags: (0x0002) ACC_PRIVATE
private final org.graalvm.util.Equivalence strategy;
descriptor: Lorg/graalvm/util/Equivalence;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
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=1, locals=0, args_size=0
0: ldc Lorg/graalvm/util/impl/EconomicMapImpl;
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 org.graalvm.util.impl.EconomicMapImpl.$assertionsDisabled:Z
3: return
LocalVariableTable:
Start End Slot Name Signature
private static <K, V> org.graalvm.util.impl.EconomicMapImpl<K, V> intercept(org.graalvm.util.impl.EconomicMapImpl<K, V>);
descriptor: (Lorg/graalvm/util/impl/EconomicMapImpl;)Lorg/graalvm/util/impl/EconomicMapImpl;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 map Lorg/graalvm/util/impl/EconomicMapImpl<TK;TV;>;
Signature: <K:Ljava/lang/Object;V:Ljava/lang/Object;>(Lorg/graalvm/util/impl/EconomicMapImpl<TK;TV;>;)Lorg/graalvm/util/impl/EconomicMapImpl<TK;TV;>;
MethodParameters:
Name Flags
map
public static <K, V> org.graalvm.util.impl.EconomicMapImpl<K, V> create(org.graalvm.util.Equivalence);
descriptor: (Lorg/graalvm/util/Equivalence;)Lorg/graalvm/util/impl/EconomicMapImpl;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new org.graalvm.util.impl.EconomicMapImpl
dup
aload 0
invokespecial org.graalvm.util.impl.EconomicMapImpl.<init>:(Lorg/graalvm/util/Equivalence;)V
invokestatic org.graalvm.util.impl.EconomicMapImpl.intercept:(Lorg/graalvm/util/impl/EconomicMapImpl;)Lorg/graalvm/util/impl/EconomicMapImpl;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 strategy Lorg/graalvm/util/Equivalence;
Signature: <K:Ljava/lang/Object;V:Ljava/lang/Object;>(Lorg/graalvm/util/Equivalence;)Lorg/graalvm/util/impl/EconomicMapImpl<TK;TV;>;
MethodParameters:
Name Flags
strategy
public static <K, V> org.graalvm.util.impl.EconomicMapImpl<K, V> create(org.graalvm.util.Equivalence, int);
descriptor: (Lorg/graalvm/util/Equivalence;I)Lorg/graalvm/util/impl/EconomicMapImpl;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: new org.graalvm.util.impl.EconomicMapImpl
dup
aload 0
iload 1
invokespecial org.graalvm.util.impl.EconomicMapImpl.<init>:(Lorg/graalvm/util/Equivalence;I)V
invokestatic org.graalvm.util.impl.EconomicMapImpl.intercept:(Lorg/graalvm/util/impl/EconomicMapImpl;)Lorg/graalvm/util/impl/EconomicMapImpl;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 strategy Lorg/graalvm/util/Equivalence;
0 1 1 initialCapacity I
Signature: <K:Ljava/lang/Object;V:Ljava/lang/Object;>(Lorg/graalvm/util/Equivalence;I)Lorg/graalvm/util/impl/EconomicMapImpl<TK;TV;>;
MethodParameters:
Name Flags
strategy
initialCapacity
public static <K, V> org.graalvm.util.impl.EconomicMapImpl<K, V> create(org.graalvm.util.Equivalence, org.graalvm.util.UnmodifiableEconomicMap<K, V>);
descriptor: (Lorg/graalvm/util/Equivalence;Lorg/graalvm/util/UnmodifiableEconomicMap;)Lorg/graalvm/util/impl/EconomicMapImpl;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: new org.graalvm.util.impl.EconomicMapImpl
dup
aload 0
aload 1
invokespecial org.graalvm.util.impl.EconomicMapImpl.<init>:(Lorg/graalvm/util/Equivalence;Lorg/graalvm/util/UnmodifiableEconomicMap;)V
invokestatic org.graalvm.util.impl.EconomicMapImpl.intercept:(Lorg/graalvm/util/impl/EconomicMapImpl;)Lorg/graalvm/util/impl/EconomicMapImpl;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 strategy Lorg/graalvm/util/Equivalence;
0 1 1 other Lorg/graalvm/util/UnmodifiableEconomicMap<TK;TV;>;
Signature: <K:Ljava/lang/Object;V:Ljava/lang/Object;>(Lorg/graalvm/util/Equivalence;Lorg/graalvm/util/UnmodifiableEconomicMap<TK;TV;>;)Lorg/graalvm/util/impl/EconomicMapImpl<TK;TV;>;
MethodParameters:
Name Flags
strategy
other
public static <K, V> org.graalvm.util.impl.EconomicMapImpl<K, V> create(org.graalvm.util.Equivalence, org.graalvm.util.UnmodifiableEconomicSet<K>);
descriptor: (Lorg/graalvm/util/Equivalence;Lorg/graalvm/util/UnmodifiableEconomicSet;)Lorg/graalvm/util/impl/EconomicMapImpl;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: new org.graalvm.util.impl.EconomicMapImpl
dup
aload 0
aload 1
invokespecial org.graalvm.util.impl.EconomicMapImpl.<init>:(Lorg/graalvm/util/Equivalence;Lorg/graalvm/util/UnmodifiableEconomicSet;)V
invokestatic org.graalvm.util.impl.EconomicMapImpl.intercept:(Lorg/graalvm/util/impl/EconomicMapImpl;)Lorg/graalvm/util/impl/EconomicMapImpl;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 strategy Lorg/graalvm/util/Equivalence;
0 1 1 other Lorg/graalvm/util/UnmodifiableEconomicSet<TK;>;
Signature: <K:Ljava/lang/Object;V:Ljava/lang/Object;>(Lorg/graalvm/util/Equivalence;Lorg/graalvm/util/UnmodifiableEconomicSet<TK;>;)Lorg/graalvm/util/impl/EconomicMapImpl<TK;TV;>;
MethodParameters:
Name Flags
strategy
other
private void <init>(org.graalvm.util.Equivalence);
descriptor: (Lorg/graalvm/util/Equivalence;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 1
getstatic org.graalvm.util.Equivalence.IDENTITY:Lorg/graalvm/util/Equivalence;
if_acmpne 4
2: aload 0
aconst_null
putfield org.graalvm.util.impl.EconomicMapImpl.strategy:Lorg/graalvm/util/Equivalence;
3: goto 5
4: StackMap locals: org.graalvm.util.impl.EconomicMapImpl org.graalvm.util.Equivalence
StackMap stack:
aload 0
aload 1
putfield org.graalvm.util.impl.EconomicMapImpl.strategy:Lorg/graalvm/util/Equivalence;
5: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/graalvm/util/impl/EconomicMapImpl<TK;TV;>;
0 6 1 strategy Lorg/graalvm/util/Equivalence;
MethodParameters:
Name Flags
strategy
private void <init>(org.graalvm.util.Equivalence, int);
descriptor: (Lorg/graalvm/util/Equivalence;I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokespecial org.graalvm.util.impl.EconomicMapImpl.<init>:(Lorg/graalvm/util/Equivalence;)V
1: aload 0
iload 2
invokevirtual org.graalvm.util.impl.EconomicMapImpl.init:(I)V
2: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/graalvm/util/impl/EconomicMapImpl<TK;TV;>;
0 3 1 strategy Lorg/graalvm/util/Equivalence;
0 3 2 initialCapacity I
MethodParameters:
Name Flags
strategy
initialCapacity
private void <init>(org.graalvm.util.Equivalence, org.graalvm.util.UnmodifiableEconomicMap<K, V>);
descriptor: (Lorg/graalvm/util/Equivalence;Lorg/graalvm/util/UnmodifiableEconomicMap;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokespecial org.graalvm.util.impl.EconomicMapImpl.<init>:(Lorg/graalvm/util/Equivalence;)V
1: aload 0
aload 2
invokevirtual org.graalvm.util.impl.EconomicMapImpl.initFrom:(Ljava/lang/Object;)Z
ifne 4
2: aload 0
aload 2
invokeinterface org.graalvm.util.UnmodifiableEconomicMap.size:()I
invokevirtual org.graalvm.util.impl.EconomicMapImpl.init:(I)V
3: aload 0
aload 2
invokevirtual org.graalvm.util.impl.EconomicMapImpl.putAll:(Lorg/graalvm/util/UnmodifiableEconomicMap;)V
4: StackMap locals: org.graalvm.util.impl.EconomicMapImpl org.graalvm.util.Equivalence org.graalvm.util.UnmodifiableEconomicMap
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/graalvm/util/impl/EconomicMapImpl<TK;TV;>;
0 5 1 strategy Lorg/graalvm/util/Equivalence;
0 5 2 other Lorg/graalvm/util/UnmodifiableEconomicMap<TK;TV;>;
Signature: (Lorg/graalvm/util/Equivalence;Lorg/graalvm/util/UnmodifiableEconomicMap<TK;TV;>;)V
MethodParameters:
Name Flags
strategy
other
private void <init>(org.graalvm.util.Equivalence, org.graalvm.util.UnmodifiableEconomicSet<K>);
descriptor: (Lorg/graalvm/util/Equivalence;Lorg/graalvm/util/UnmodifiableEconomicSet;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokespecial org.graalvm.util.impl.EconomicMapImpl.<init>:(Lorg/graalvm/util/Equivalence;)V
1: aload 0
aload 2
invokevirtual org.graalvm.util.impl.EconomicMapImpl.initFrom:(Ljava/lang/Object;)Z
ifne 4
2: aload 0
aload 2
invokeinterface org.graalvm.util.UnmodifiableEconomicSet.size:()I
invokevirtual org.graalvm.util.impl.EconomicMapImpl.init:(I)V
3: aload 0
aload 2
invokevirtual org.graalvm.util.impl.EconomicMapImpl.addAll:(Ljava/lang/Iterable;)V
4: StackMap locals: org.graalvm.util.impl.EconomicMapImpl org.graalvm.util.Equivalence org.graalvm.util.UnmodifiableEconomicSet
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/graalvm/util/impl/EconomicMapImpl<TK;TV;>;
0 5 1 strategy Lorg/graalvm/util/Equivalence;
0 5 2 other Lorg/graalvm/util/UnmodifiableEconomicSet<TK;>;
Signature: (Lorg/graalvm/util/Equivalence;Lorg/graalvm/util/UnmodifiableEconomicSet<TK;>;)V
MethodParameters:
Name Flags
strategy
other
private boolean initFrom(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
instanceof org.graalvm.util.impl.EconomicMapImpl
ifeq 10
1: aload 1
checkcast org.graalvm.util.impl.EconomicMapImpl
astore 2
start local 2 2: aload 0
getfield org.graalvm.util.impl.EconomicMapImpl.strategy:Lorg/graalvm/util/Equivalence;
aload 2
getfield org.graalvm.util.impl.EconomicMapImpl.strategy:Lorg/graalvm/util/Equivalence;
if_acmpne 10
3: aload 0
aload 2
getfield org.graalvm.util.impl.EconomicMapImpl.totalEntries:I
putfield org.graalvm.util.impl.EconomicMapImpl.totalEntries:I
4: aload 0
aload 2
getfield org.graalvm.util.impl.EconomicMapImpl.deletedEntries:I
putfield org.graalvm.util.impl.EconomicMapImpl.deletedEntries:I
5: aload 2
getfield org.graalvm.util.impl.EconomicMapImpl.entries:[Ljava/lang/Object;
ifnull 7
6: aload 0
aload 2
getfield org.graalvm.util.impl.EconomicMapImpl.entries:[Ljava/lang/Object;
invokevirtual java.lang.Object[].clone:()Ljava/lang/Object;
checkcast java.lang.Object[]
putfield org.graalvm.util.impl.EconomicMapImpl.entries:[Ljava/lang/Object;
7: StackMap locals: org.graalvm.util.impl.EconomicMapImpl
StackMap stack:
aload 2
getfield org.graalvm.util.impl.EconomicMapImpl.hashArray:[B
ifnull 9
8: aload 0
aload 2
getfield org.graalvm.util.impl.EconomicMapImpl.hashArray:[B
invokevirtual byte[].clone:()Ljava/lang/Object;
checkcast byte[]
putfield org.graalvm.util.impl.EconomicMapImpl.hashArray:[B
9: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 2 10: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/graalvm/util/impl/EconomicMapImpl<TK;TV;>;
0 11 1 o Ljava/lang/Object;
2 10 2 otherMap Lorg/graalvm/util/impl/EconomicMapImpl<TK;TV;>;
MethodParameters:
Name Flags
o
private void init(int);
descriptor: (I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: iload 1
iconst_4
if_icmple 2
1: aload 0
iload 1
iconst_1
ishl
anewarray java.lang.Object
putfield org.graalvm.util.impl.EconomicMapImpl.entries:[Ljava/lang/Object;
2: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/graalvm/util/impl/EconomicMapImpl<TK;TV;>;
0 3 1 size I
MethodParameters:
Name Flags
size
public V get();
descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
1: aload 0
aload 1
invokevirtual org.graalvm.util.impl.EconomicMapImpl.find:(Ljava/lang/Object;)I
istore 2
start local 2 2: iload 2
iconst_m1
if_icmpeq 4
3: aload 0
iload 2
invokevirtual org.graalvm.util.impl.EconomicMapImpl.getValue:(I)Ljava/lang/Object;
areturn
4: StackMap locals: int
StackMap stack:
aconst_null
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/graalvm/util/impl/EconomicMapImpl<TK;TV;>;
0 5 1 key TK;
2 5 2 index I
Signature: (TK;)TV;
MethodParameters:
Name Flags
key
private int find();
descriptor: (Ljava/lang/Object;)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.graalvm.util.impl.EconomicMapImpl.hasHashArray:()Z
ifeq 2
1: aload 0
aload 1
invokevirtual org.graalvm.util.impl.EconomicMapImpl.findHash:(Ljava/lang/Object;)I
ireturn
2: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual org.graalvm.util.impl.EconomicMapImpl.findLinear:(Ljava/lang/Object;)I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/graalvm/util/impl/EconomicMapImpl<TK;TV;>;
0 3 1 key TK;
Signature: (TK;)I
MethodParameters:
Name Flags
key
private int findLinear();
descriptor: (Ljava/lang/Object;)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: iconst_0
istore 2
start local 2 1: goto 6
2: StackMap locals: int
StackMap stack:
aload 0
getfield org.graalvm.util.impl.EconomicMapImpl.entries:[Ljava/lang/Object;
iload 2
iconst_1
ishl
aaload
astore 3
start local 3 3: aload 3
ifnull 5
aload 0
aload 1
aload 3
invokevirtual org.graalvm.util.impl.EconomicMapImpl.compareKeys:(Ljava/lang/Object;Ljava/lang/Object;)Z
ifeq 5
4: iload 2
ireturn
end local 3 5: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
6: iload 2
aload 0
getfield org.graalvm.util.impl.EconomicMapImpl.totalEntries:I
if_icmplt 2
end local 2 7: iconst_m1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/graalvm/util/impl/EconomicMapImpl<TK;TV;>;
0 8 1 key TK;
1 7 2 i I
3 5 3 entryKey Ljava/lang/Object;
Signature: (TK;)I
MethodParameters:
Name Flags
key
private boolean compareKeys(java.lang.Object, java.lang.Object);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
aload 2
if_acmpne 2
1: iconst_1
ireturn
2: StackMap locals:
StackMap stack:
aload 0
getfield org.graalvm.util.impl.EconomicMapImpl.strategy:Lorg/graalvm/util/Equivalence;
ifnull 6
aload 0
getfield org.graalvm.util.impl.EconomicMapImpl.strategy:Lorg/graalvm/util/Equivalence;
getstatic org.graalvm.util.Equivalence.IDENTITY_WITH_SYSTEM_HASHCODE:Lorg/graalvm/util/Equivalence;
if_acmpeq 6
3: aload 0
getfield org.graalvm.util.impl.EconomicMapImpl.strategy:Lorg/graalvm/util/Equivalence;
getstatic org.graalvm.util.Equivalence.DEFAULT:Lorg/graalvm/util/Equivalence;
if_acmpne 5
4: aload 1
aload 2
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ireturn
5: StackMap locals:
StackMap stack:
aload 0
getfield org.graalvm.util.impl.EconomicMapImpl.strategy:Lorg/graalvm/util/Equivalence;
aload 1
aload 2
invokevirtual org.graalvm.util.Equivalence.equals:(Ljava/lang/Object;Ljava/lang/Object;)Z
ireturn
6: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/graalvm/util/impl/EconomicMapImpl<TK;TV;>;
0 7 1 key Ljava/lang/Object;
0 7 2 entryKey Ljava/lang/Object;
MethodParameters:
Name Flags
key
entryKey
private int findHash();
descriptor: (Ljava/lang/Object;)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=5, args_size=2
start local 0 start local 1 0: aload 0
aload 0
aload 1
invokevirtual org.graalvm.util.impl.EconomicMapImpl.getHashIndex:(Ljava/lang/Object;)I
invokevirtual org.graalvm.util.impl.EconomicMapImpl.getHashArray:(I)I
iconst_1
isub
istore 2
start local 2 1: iload 2
iconst_m1
if_icmpeq 8
2: aload 0
iload 2
invokevirtual org.graalvm.util.impl.EconomicMapImpl.getKey:(I)Ljava/lang/Object;
astore 3
start local 3 3: aload 0
aload 1
aload 3
invokevirtual org.graalvm.util.impl.EconomicMapImpl.compareKeys:(Ljava/lang/Object;Ljava/lang/Object;)Z
ifeq 5
4: iload 2
ireturn
5: StackMap locals: int java.lang.Object
StackMap stack:
aload 0
iload 2
invokevirtual org.graalvm.util.impl.EconomicMapImpl.getRawValue:(I)Ljava/lang/Object;
astore 4
start local 4 6: aload 4
instanceof org.graalvm.util.impl.EconomicMapImpl$CollisionLink
ifeq 8
7: aload 0
aload 1
aload 4
checkcast org.graalvm.util.impl.EconomicMapImpl$CollisionLink
invokevirtual org.graalvm.util.impl.EconomicMapImpl.findWithCollision:(Ljava/lang/Object;Lorg/graalvm/util/impl/EconomicMapImpl$CollisionLink;)I
ireturn
end local 4 end local 3 8: StackMap locals:
StackMap stack:
iconst_m1
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/graalvm/util/impl/EconomicMapImpl<TK;TV;>;
0 9 1 key TK;
1 9 2 index I
3 8 3 entryKey Ljava/lang/Object;
6 8 4 entryValue Ljava/lang/Object;
Signature: (TK;)I
MethodParameters:
Name Flags
key
private int findWithCollision(K, org.graalvm.util.impl.EconomicMapImpl$CollisionLink);
descriptor: (Ljava/lang/Object;Lorg/graalvm/util/impl/EconomicMapImpl$CollisionLink;)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=8, args_size=3
start local 0 start local 1 start local 2 0: aload 2
astore 5
start local 5 1: StackMap locals: org.graalvm.util.impl.EconomicMapImpl java.lang.Object org.graalvm.util.impl.EconomicMapImpl$CollisionLink top top org.graalvm.util.impl.EconomicMapImpl$CollisionLink
StackMap stack:
aload 5
astore 6
start local 6 2: aload 6
getfield org.graalvm.util.impl.EconomicMapImpl$CollisionLink.next:I
istore 3
start local 3 3: aload 0
iload 3
invokevirtual org.graalvm.util.impl.EconomicMapImpl.getKey:(I)Ljava/lang/Object;
astore 4
start local 4 4: aload 0
aload 1
aload 4
invokevirtual org.graalvm.util.impl.EconomicMapImpl.compareKeys:(Ljava/lang/Object;Ljava/lang/Object;)Z
ifeq 6
5: iload 3
ireturn
6: StackMap locals: org.graalvm.util.impl.EconomicMapImpl java.lang.Object org.graalvm.util.impl.EconomicMapImpl$CollisionLink int java.lang.Object org.graalvm.util.impl.EconomicMapImpl$CollisionLink org.graalvm.util.impl.EconomicMapImpl$CollisionLink
StackMap stack:
aload 0
iload 3
invokevirtual org.graalvm.util.impl.EconomicMapImpl.getRawValue:(I)Ljava/lang/Object;
astore 7
start local 7 7: aload 7
instanceof org.graalvm.util.impl.EconomicMapImpl$CollisionLink
ifeq 10
8: aload 0
iload 3
invokevirtual org.graalvm.util.impl.EconomicMapImpl.getRawValue:(I)Ljava/lang/Object;
checkcast org.graalvm.util.impl.EconomicMapImpl$CollisionLink
astore 5
9: goto 1
10: StackMap locals: java.lang.Object
StackMap stack:
iconst_m1
ireturn
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 11 0 this Lorg/graalvm/util/impl/EconomicMapImpl<TK;TV;>;
0 11 1 key TK;
0 11 2 initialEntryValue Lorg/graalvm/util/impl/EconomicMapImpl$CollisionLink;
3 11 3 index I
4 11 4 entryKey Ljava/lang/Object;
1 11 5 entryValue Lorg/graalvm/util/impl/EconomicMapImpl$CollisionLink;
2 11 6 collisionLink Lorg/graalvm/util/impl/EconomicMapImpl$CollisionLink;
7 11 7 value Ljava/lang/Object;
Signature: (TK;Lorg/graalvm/util/impl/EconomicMapImpl$CollisionLink;)I
MethodParameters:
Name Flags
key
initialEntryValue
private int getHashArray(int);
descriptor: (I)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield org.graalvm.util.impl.EconomicMapImpl.entries:[Ljava/lang/Object;
arraylength
sipush 512
if_icmpge 2
1: aload 0
getfield org.graalvm.util.impl.EconomicMapImpl.hashArray:[B
iload 1
baload
sipush 255
iand
ireturn
2: StackMap locals:
StackMap stack:
aload 0
getfield org.graalvm.util.impl.EconomicMapImpl.entries:[Ljava/lang/Object;
arraylength
ldc 131072
if_icmpge 5
3: iload 1
iconst_1
ishl
istore 2
start local 2 4: aload 0
getfield org.graalvm.util.impl.EconomicMapImpl.hashArray:[B
iload 2
baload
sipush 255
iand
aload 0
getfield org.graalvm.util.impl.EconomicMapImpl.hashArray:[B
iload 2
iconst_1
iadd
baload
sipush 255
iand
bipush 8
ishl
ior
ireturn
end local 2 5: StackMap locals:
StackMap stack:
iload 1
iconst_2
ishl
istore 2
start local 2 6: aload 0
getfield org.graalvm.util.impl.EconomicMapImpl.hashArray:[B
iload 2
baload
sipush 255
iand
aload 0
getfield org.graalvm.util.impl.EconomicMapImpl.hashArray:[B
iload 2
iconst_1
iadd
baload
sipush 255
iand
bipush 8
ishl
ior
aload 0
getfield org.graalvm.util.impl.EconomicMapImpl.hashArray:[B
iload 2
iconst_2
iadd
baload
sipush 255
iand
bipush 16
ishl
ior
aload 0
getfield org.graalvm.util.impl.EconomicMapImpl.hashArray:[B
iload 2
iconst_3
iadd
baload
sipush 255
iand
bipush 24
ishl
ior
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/graalvm/util/impl/EconomicMapImpl<TK;TV;>;
0 7 1 index I
4 5 2 adjustedIndex I
6 7 2 adjustedIndex I
MethodParameters:
Name Flags
index
private void setHashArray(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
getfield org.graalvm.util.impl.EconomicMapImpl.entries:[Ljava/lang/Object;
arraylength
sipush 512
if_icmpge 3
1: aload 0
getfield org.graalvm.util.impl.EconomicMapImpl.hashArray:[B
iload 1
iload 2
i2b
bastore
2: goto 13
StackMap locals:
StackMap stack:
3: aload 0
getfield org.graalvm.util.impl.EconomicMapImpl.entries:[Ljava/lang/Object;
arraylength
ldc 131072
if_icmpge 8
4: iload 1
iconst_1
ishl
istore 3
start local 3 5: aload 0
getfield org.graalvm.util.impl.EconomicMapImpl.hashArray:[B
iload 3
iload 2
i2b
bastore
6: aload 0
getfield org.graalvm.util.impl.EconomicMapImpl.hashArray:[B
iload 3
iconst_1
iadd
iload 2
bipush 8
ishr
i2b
bastore
end local 3 7: goto 13
8: StackMap locals:
StackMap stack:
iload 1
iconst_2
ishl
istore 3
start local 3 9: aload 0
getfield org.graalvm.util.impl.EconomicMapImpl.hashArray:[B
iload 3
iload 2
i2b
bastore
10: aload 0
getfield org.graalvm.util.impl.EconomicMapImpl.hashArray:[B
iload 3
iconst_1
iadd
iload 2
bipush 8
ishr
i2b
bastore
11: aload 0
getfield org.graalvm.util.impl.EconomicMapImpl.hashArray:[B
iload 3
iconst_2
iadd
iload 2
bipush 16
ishr
i2b
bastore
12: aload 0
getfield org.graalvm.util.impl.EconomicMapImpl.hashArray:[B
iload 3
iconst_3
iadd
iload 2
bipush 24
ishr
i2b
bastore
end local 3 13: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lorg/graalvm/util/impl/EconomicMapImpl<TK;TV;>;
0 14 1 index I
0 14 2 value I
5 7 3 adjustedIndex I
9 13 3 adjustedIndex I
MethodParameters:
Name Flags
index
value
private int findAndRemoveHash(java.lang.Object);
descriptor: (Ljava/lang/Object;)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=8, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual org.graalvm.util.impl.EconomicMapImpl.getHashIndex:(Ljava/lang/Object;)I
istore 2
start local 2 1: aload 0
iload 2
invokevirtual org.graalvm.util.impl.EconomicMapImpl.getHashArray:(I)I
iconst_1
isub
istore 3
start local 3 2: iload 3
iconst_m1
if_icmpeq 15
3: aload 0
iload 3
invokevirtual org.graalvm.util.impl.EconomicMapImpl.getKey:(I)Ljava/lang/Object;
astore 4
start local 4 4: aload 0
aload 1
aload 4
invokevirtual org.graalvm.util.impl.EconomicMapImpl.compareKeys:(Ljava/lang/Object;Ljava/lang/Object;)Z
ifeq 12
5: aload 0
iload 3
invokevirtual org.graalvm.util.impl.EconomicMapImpl.getRawValue:(I)Ljava/lang/Object;
astore 5
start local 5 6: iconst_m1
istore 6
start local 6 7: aload 5
instanceof org.graalvm.util.impl.EconomicMapImpl$CollisionLink
ifeq 10
8: aload 5
checkcast org.graalvm.util.impl.EconomicMapImpl$CollisionLink
astore 7
start local 7 9: aload 7
getfield org.graalvm.util.impl.EconomicMapImpl$CollisionLink.next:I
istore 6
end local 7 10: StackMap locals: org.graalvm.util.impl.EconomicMapImpl java.lang.Object int int java.lang.Object java.lang.Object int
StackMap stack:
aload 0
iload 2
iload 6
iconst_1
iadd
invokevirtual org.graalvm.util.impl.EconomicMapImpl.setHashArray:(II)V
11: iload 3
ireturn
end local 6 end local 5 12: StackMap locals:
StackMap stack:
aload 0
iload 3
invokevirtual org.graalvm.util.impl.EconomicMapImpl.getRawValue:(I)Ljava/lang/Object;
astore 5
start local 5 13: aload 5
instanceof org.graalvm.util.impl.EconomicMapImpl$CollisionLink
ifeq 15
14: aload 0
aload 1
aload 5
checkcast org.graalvm.util.impl.EconomicMapImpl$CollisionLink
iload 3
invokevirtual org.graalvm.util.impl.EconomicMapImpl.findAndRemoveWithCollision:(Ljava/lang/Object;Lorg/graalvm/util/impl/EconomicMapImpl$CollisionLink;I)I
ireturn
end local 5 end local 4 15: StackMap locals:
StackMap stack:
iconst_m1
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lorg/graalvm/util/impl/EconomicMapImpl<TK;TV;>;
0 16 1 key Ljava/lang/Object;
1 16 2 hashIndex I
2 16 3 index I
4 15 4 entryKey Ljava/lang/Object;
6 12 5 value Ljava/lang/Object;
7 12 6 nextIndex I
9 10 7 collisionLink Lorg/graalvm/util/impl/EconomicMapImpl$CollisionLink;
13 15 5 entryValue Ljava/lang/Object;
MethodParameters:
Name Flags
key
private int findAndRemoveWithCollision(java.lang.Object, org.graalvm.util.impl.EconomicMapImpl$CollisionLink, int);
descriptor: (Ljava/lang/Object;Lorg/graalvm/util/impl/EconomicMapImpl$CollisionLink;I)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=11, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
astore 6
start local 6 1: iload 3
istore 7
start local 7 2: StackMap locals: org.graalvm.util.impl.EconomicMapImpl java.lang.Object org.graalvm.util.impl.EconomicMapImpl$CollisionLink int top top org.graalvm.util.impl.EconomicMapImpl$CollisionLink int
StackMap stack:
aload 6
astore 8
start local 8 3: aload 8
getfield org.graalvm.util.impl.EconomicMapImpl$CollisionLink.next:I
istore 4
start local 4 4: aload 0
iload 4
invokevirtual org.graalvm.util.impl.EconomicMapImpl.getKey:(I)Ljava/lang/Object;
astore 5
start local 5 5: aload 0
aload 1
aload 5
invokevirtual org.graalvm.util.impl.EconomicMapImpl.compareKeys:(Ljava/lang/Object;Ljava/lang/Object;)Z
ifeq 13
6: aload 0
iload 4
invokevirtual org.graalvm.util.impl.EconomicMapImpl.getRawValue:(I)Ljava/lang/Object;
astore 9
start local 9 7: aload 9
instanceof org.graalvm.util.impl.EconomicMapImpl$CollisionLink
ifeq 11
8: aload 9
checkcast org.graalvm.util.impl.EconomicMapImpl$CollisionLink
astore 10
start local 10 9: aload 0
iload 7
new org.graalvm.util.impl.EconomicMapImpl$CollisionLink
dup
aload 8
getfield org.graalvm.util.impl.EconomicMapImpl$CollisionLink.value:Ljava/lang/Object;
aload 10
getfield org.graalvm.util.impl.EconomicMapImpl$CollisionLink.next:I
invokespecial org.graalvm.util.impl.EconomicMapImpl$CollisionLink.<init>:(Ljava/lang/Object;I)V
invokevirtual org.graalvm.util.impl.EconomicMapImpl.setRawValue:(ILjava/lang/Object;)V
end local 10 10: goto 12
11: StackMap locals: org.graalvm.util.impl.EconomicMapImpl java.lang.Object org.graalvm.util.impl.EconomicMapImpl$CollisionLink int int java.lang.Object org.graalvm.util.impl.EconomicMapImpl$CollisionLink int org.graalvm.util.impl.EconomicMapImpl$CollisionLink java.lang.Object
StackMap stack:
aload 0
iload 7
aload 8
getfield org.graalvm.util.impl.EconomicMapImpl$CollisionLink.value:Ljava/lang/Object;
invokevirtual org.graalvm.util.impl.EconomicMapImpl.setRawValue:(ILjava/lang/Object;)V
12: StackMap locals:
StackMap stack:
iload 4
ireturn
end local 9 13: StackMap locals:
StackMap stack:
aload 0
iload 4
invokevirtual org.graalvm.util.impl.EconomicMapImpl.getRawValue:(I)Ljava/lang/Object;
astore 9
start local 9 14: aload 9
instanceof org.graalvm.util.impl.EconomicMapImpl$CollisionLink
ifeq 18
15: aload 0
iload 4
invokevirtual org.graalvm.util.impl.EconomicMapImpl.getRawValue:(I)Ljava/lang/Object;
checkcast org.graalvm.util.impl.EconomicMapImpl$CollisionLink
astore 6
16: iload 4
istore 7
17: goto 2
18: StackMap locals: java.lang.Object
StackMap stack:
iconst_m1
ireturn
end local 9 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 19 0 this Lorg/graalvm/util/impl/EconomicMapImpl<TK;TV;>;
0 19 1 key Ljava/lang/Object;
0 19 2 initialEntryValue Lorg/graalvm/util/impl/EconomicMapImpl$CollisionLink;
0 19 3 initialIndexValue I
4 19 4 index I
5 19 5 entryKey Ljava/lang/Object;
1 19 6 entryValue Lorg/graalvm/util/impl/EconomicMapImpl$CollisionLink;
2 19 7 lastIndex I
3 19 8 collisionLink Lorg/graalvm/util/impl/EconomicMapImpl$CollisionLink;
7 13 9 value Ljava/lang/Object;
9 10 10 thisCollisionLink Lorg/graalvm/util/impl/EconomicMapImpl$CollisionLink;
14 19 9 value Ljava/lang/Object;
MethodParameters:
Name Flags
key
initialEntryValue
initialIndexValue
private int getHashIndex(java.lang.Object);
descriptor: (Ljava/lang/Object;)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield org.graalvm.util.impl.EconomicMapImpl.strategy:Lorg/graalvm/util/Equivalence;
ifnull 6
aload 0
getfield org.graalvm.util.impl.EconomicMapImpl.strategy:Lorg/graalvm/util/Equivalence;
getstatic org.graalvm.util.Equivalence.DEFAULT:Lorg/graalvm/util/Equivalence;
if_acmpeq 6
1: aload 0
getfield org.graalvm.util.impl.EconomicMapImpl.strategy:Lorg/graalvm/util/Equivalence;
getstatic org.graalvm.util.Equivalence.IDENTITY_WITH_SYSTEM_HASHCODE:Lorg/graalvm/util/Equivalence;
if_acmpne 4
2: aload 1
invokestatic java.lang.System.identityHashCode:(Ljava/lang/Object;)I
istore 2
start local 2 3: goto 7
end local 2 4: StackMap locals:
StackMap stack:
aload 0
getfield org.graalvm.util.impl.EconomicMapImpl.strategy:Lorg/graalvm/util/Equivalence;
aload 1
invokevirtual org.graalvm.util.Equivalence.hashCode:(Ljava/lang/Object;)I
istore 2
start local 2 5: goto 7
end local 2 6: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.lang.Object.hashCode:()I
istore 2
start local 2 7: StackMap locals: int
StackMap stack:
iload 2
iload 2
bipush 16
iushr
ixor
istore 2
8: iload 2
aload 0
invokevirtual org.graalvm.util.impl.EconomicMapImpl.getHashTableSize:()I
iconst_1
isub
iand
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/graalvm/util/impl/EconomicMapImpl<TK;TV;>;
0 9 1 key Ljava/lang/Object;
3 4 2 hash I
5 6 2 hash I
7 9 2 hash I
MethodParameters:
Name Flags
key
public V put(K, );
descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 1
ifnonnull 2
1: new java.lang.UnsupportedOperationException
dup
ldc "null not supported as key!"
invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual org.graalvm.util.impl.EconomicMapImpl.find:(Ljava/lang/Object;)I
istore 3
start local 3 3: iload 3
iconst_m1
if_icmpeq 7
4: aload 0
iload 3
invokevirtual org.graalvm.util.impl.EconomicMapImpl.getValue:(I)Ljava/lang/Object;
astore 4
start local 4 5: aload 0
iload 3
aload 2
invokevirtual org.graalvm.util.impl.EconomicMapImpl.setValue:(ILjava/lang/Object;)V
6: aload 4
areturn
end local 4 7: StackMap locals: int
StackMap stack:
aload 0
getfield org.graalvm.util.impl.EconomicMapImpl.totalEntries:I
istore 4
start local 4 8: aload 0
getfield org.graalvm.util.impl.EconomicMapImpl.entries:[Ljava/lang/Object;
ifnonnull 11
9: aload 0
bipush 8
anewarray java.lang.Object
putfield org.graalvm.util.impl.EconomicMapImpl.entries:[Ljava/lang/Object;
10: goto 15
StackMap locals: int
StackMap stack:
11: aload 0
getfield org.graalvm.util.impl.EconomicMapImpl.entries:[Ljava/lang/Object;
arraylength
iload 4
iconst_1
ishl
if_icmpne 15
12: aload 0
invokevirtual org.graalvm.util.impl.EconomicMapImpl.grow:()V
13: getstatic org.graalvm.util.impl.EconomicMapImpl.$assertionsDisabled:Z
ifne 14
aload 0
getfield org.graalvm.util.impl.EconomicMapImpl.entries:[Ljava/lang/Object;
arraylength
aload 0
getfield org.graalvm.util.impl.EconomicMapImpl.totalEntries:I
iconst_1
ishl
if_icmpgt 14
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
14: StackMap locals:
StackMap stack:
aload 0
getfield org.graalvm.util.impl.EconomicMapImpl.totalEntries:I
istore 4
15: StackMap locals:
StackMap stack:
aload 0
iload 4
aload 1
invokevirtual org.graalvm.util.impl.EconomicMapImpl.setKey:(ILjava/lang/Object;)V
16: aload 0
iload 4
aload 2
invokevirtual org.graalvm.util.impl.EconomicMapImpl.setValue:(ILjava/lang/Object;)V
17: aload 0
dup
getfield org.graalvm.util.impl.EconomicMapImpl.totalEntries:I
iconst_1
iadd
putfield org.graalvm.util.impl.EconomicMapImpl.totalEntries:I
18: aload 0
invokevirtual org.graalvm.util.impl.EconomicMapImpl.hasHashArray:()Z
ifeq 24
19: aload 0
invokevirtual org.graalvm.util.impl.EconomicMapImpl.getHashTableSize:()I
aload 0
invokevirtual org.graalvm.util.impl.EconomicMapImpl.size:()I
aload 0
invokevirtual org.graalvm.util.impl.EconomicMapImpl.size:()I
iconst_1
ishr
iadd
if_icmpge 20
iconst_1
goto 21
StackMap locals:
StackMap stack:
20: iconst_0
StackMap locals:
StackMap stack: int
21: istore 5
start local 5 22: aload 0
aload 1
iload 4
iload 5
invokevirtual org.graalvm.util.impl.EconomicMapImpl.putHashEntry:(Ljava/lang/Object;IZ)V
end local 5 23: goto 26
StackMap locals:
StackMap stack:
24: aload 0
getfield org.graalvm.util.impl.EconomicMapImpl.totalEntries:I
aload 0
invokevirtual org.graalvm.util.impl.EconomicMapImpl.getHashThreshold:()I
if_icmple 26
25: aload 0
invokevirtual org.graalvm.util.impl.EconomicMapImpl.createHash:()V
26: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 27 0 this Lorg/graalvm/util/impl/EconomicMapImpl<TK;TV;>;
0 27 1 key TK;
0 27 2 value TV;
3 27 3 index I
5 7 4 oldValue Ljava/lang/Object;
8 27 4 nextEntryIndex I
22 23 5 rehashOnCollision Z
Signature: (TK;TV;)TV;
MethodParameters:
Name Flags
key
value
private int getHashThreshold();
descriptor: ()I
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield org.graalvm.util.impl.EconomicMapImpl.strategy:Lorg/graalvm/util/Equivalence;
ifnull 1
aload 0
getfield org.graalvm.util.impl.EconomicMapImpl.strategy:Lorg/graalvm/util/Equivalence;
getstatic org.graalvm.util.Equivalence.IDENTITY_WITH_SYSTEM_HASHCODE:Lorg/graalvm/util/Equivalence;
if_acmpne 2
1: StackMap locals:
StackMap stack:
bipush 8
ireturn
2: StackMap locals:
StackMap stack:
iconst_4
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/graalvm/util/impl/EconomicMapImpl<TK;TV;>;
private void grow();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=4, args_size=1
start local 0 0: aload 0
getfield org.graalvm.util.impl.EconomicMapImpl.entries:[Ljava/lang/Object;
arraylength
istore 1
start local 1 1: iload 1
iconst_1
ishr
bipush 8
iload 1
iconst_2
ishr
invokestatic java.lang.Math.max:(II)I
iadd
istore 2
start local 2 2: iload 2
ldc 1073741823
if_icmple 4
3: new java.lang.UnsupportedOperationException
dup
ldc "map grown too large!"
invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals: int int
StackMap stack:
iload 2
iconst_1
ishl
anewarray java.lang.Object
astore 3
start local 3 5: aload 0
getfield org.graalvm.util.impl.EconomicMapImpl.entries:[Ljava/lang/Object;
iconst_0
aload 3
iconst_0
iload 1
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
6: aload 0
aload 3
putfield org.graalvm.util.impl.EconomicMapImpl.entries:[Ljava/lang/Object;
7: iload 1
sipush 512
if_icmpge 8
aload 3
arraylength
sipush 512
if_icmpge 9
8: StackMap locals: java.lang.Object[]
StackMap stack:
iload 1
ldc 131072
if_icmpge 10
aload 3
arraylength
ldc 131072
if_icmple 10
9: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.graalvm.util.impl.EconomicMapImpl.createHash:()V
10: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/graalvm/util/impl/EconomicMapImpl<TK;TV;>;
1 11 1 entriesLength I
2 11 2 newSize I
5 11 3 newEntries [Ljava/lang/Object;
private int maybeCompress(int);
descriptor: (I)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.graalvm.util.impl.EconomicMapImpl.entries:[Ljava/lang/Object;
arraylength
bipush 8
if_icmpeq 2
aload 0
getfield org.graalvm.util.impl.EconomicMapImpl.deletedEntries:I
aload 0
getfield org.graalvm.util.impl.EconomicMapImpl.totalEntries:I
iconst_1
ishr
aload 0
getfield org.graalvm.util.impl.EconomicMapImpl.totalEntries:I
iconst_2
ishr
iadd
if_icmplt 2
1: aload 0
iload 1
invokevirtual org.graalvm.util.impl.EconomicMapImpl.compressLarge:(I)I
ireturn
2: StackMap locals:
StackMap stack:
iload 1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/graalvm/util/impl/EconomicMapImpl<TK;TV;>;
0 3 1 nextIndex I
MethodParameters:
Name Flags
nextIndex
private int compressLarge(int);
descriptor: (I)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=9, args_size=2
start local 0 start local 1 0: iconst_4
istore 2
start local 2 1: aload 0
getfield org.graalvm.util.impl.EconomicMapImpl.totalEntries:I
aload 0
getfield org.graalvm.util.impl.EconomicMapImpl.deletedEntries:I
isub
istore 3
start local 3 2: goto 4
3: StackMap locals: int int
StackMap stack:
iload 2
bipush 8
iload 2
iconst_1
ishr
invokestatic java.lang.Math.max:(II)I
iadd
istore 2
4: StackMap locals:
StackMap stack:
iload 2
iload 3
if_icmple 3
5: iload 2
iconst_1
ishl
anewarray java.lang.Object
astore 4
start local 4 6: iconst_0
istore 5
start local 5 7: iload 3
istore 6
start local 6 8: iconst_0
istore 7
start local 7 9: goto 18
10: StackMap locals: org.graalvm.util.impl.EconomicMapImpl int int int java.lang.Object[] int int int
StackMap stack:
aload 0
iload 7
invokevirtual org.graalvm.util.impl.EconomicMapImpl.getKey:(I)Ljava/lang/Object;
astore 8
start local 8 11: iload 7
iload 1
if_icmpne 13
12: iload 5
istore 6
13: StackMap locals: java.lang.Object
StackMap stack:
aload 8
ifnull 17
14: aload 4
iload 5
iconst_1
ishl
aload 8
aastore
15: aload 4
iload 5
iconst_1
ishl
iconst_1
iadd
aload 0
iload 7
invokevirtual org.graalvm.util.impl.EconomicMapImpl.getValue:(I)Ljava/lang/Object;
aastore
16: iinc 5 1
end local 8 17: StackMap locals:
StackMap stack:
iinc 7 1
StackMap locals:
StackMap stack:
18: iload 7
aload 0
getfield org.graalvm.util.impl.EconomicMapImpl.totalEntries:I
if_icmplt 10
end local 7 19: aload 0
aload 4
putfield org.graalvm.util.impl.EconomicMapImpl.entries:[Ljava/lang/Object;
20: aload 0
iload 5
putfield org.graalvm.util.impl.EconomicMapImpl.totalEntries:I
21: aload 0
iconst_0
putfield org.graalvm.util.impl.EconomicMapImpl.deletedEntries:I
22: iload 5
aload 0
invokevirtual org.graalvm.util.impl.EconomicMapImpl.getHashThreshold:()I
if_icmpgt 25
23: aload 0
aconst_null
putfield org.graalvm.util.impl.EconomicMapImpl.hashArray:[B
24: goto 26
25: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.graalvm.util.impl.EconomicMapImpl.createHash:()V
26: StackMap locals:
StackMap stack:
iload 6
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 27 0 this Lorg/graalvm/util/impl/EconomicMapImpl<TK;TV;>;
0 27 1 nextIndex I
1 27 2 size I
2 27 3 remaining I
6 27 4 newEntries [Ljava/lang/Object;
7 27 5 z I
8 27 6 newNextIndex I
9 19 7 i I
11 17 8 key Ljava/lang/Object;
MethodParameters:
Name Flags
nextIndex
private int getHashTableSize();
descriptor: ()I
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield org.graalvm.util.impl.EconomicMapImpl.entries:[Ljava/lang/Object;
arraylength
sipush 512
if_icmpge 2
1: aload 0
getfield org.graalvm.util.impl.EconomicMapImpl.hashArray:[B
arraylength
ireturn
2: StackMap locals:
StackMap stack:
aload 0
getfield org.graalvm.util.impl.EconomicMapImpl.entries:[Ljava/lang/Object;
arraylength
ldc 131072
if_icmpge 4
3: aload 0
getfield org.graalvm.util.impl.EconomicMapImpl.hashArray:[B
arraylength
iconst_1
ishr
ireturn
4: StackMap locals:
StackMap stack:
aload 0
getfield org.graalvm.util.impl.EconomicMapImpl.hashArray:[B
arraylength
iconst_2
ishr
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/graalvm/util/impl/EconomicMapImpl<TK;TV;>;
private void createHash();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=5, args_size=1
start local 0 0: aload 0
invokevirtual org.graalvm.util.impl.EconomicMapImpl.size:()I
istore 1
start local 1 1: aload 0
invokevirtual org.graalvm.util.impl.EconomicMapImpl.getHashThreshold:()I
istore 2
start local 2 2: goto 4
3: StackMap locals: int int
StackMap stack:
iload 2
iconst_1
ishl
istore 2
4: StackMap locals:
StackMap stack:
iload 2
iload 1
if_icmple 3
5: iload 2
iconst_1
ishl
istore 2
6: aload 0
getfield org.graalvm.util.impl.EconomicMapImpl.entries:[Ljava/lang/Object;
arraylength
ldc 131072
if_icmplt 9
7: iload 2
iconst_2
ishl
istore 2
8: goto 13
StackMap locals:
StackMap stack:
9: aload 0
getfield org.graalvm.util.impl.EconomicMapImpl.entries:[Ljava/lang/Object;
arraylength
sipush 512
if_icmplt 12
10: iload 2
iconst_1
ishl
istore 2
11: goto 13
12: StackMap locals:
StackMap stack:
iload 2
iconst_1
ishl
istore 2
13: StackMap locals:
StackMap stack:
aload 0
iload 2
newarray 8
putfield org.graalvm.util.impl.EconomicMapImpl.hashArray:[B
14: iconst_0
istore 3
start local 3 15: goto 20
16: StackMap locals: int
StackMap stack:
aload 0
iload 3
invokevirtual org.graalvm.util.impl.EconomicMapImpl.getKey:(I)Ljava/lang/Object;
astore 4
start local 4 17: aload 4
ifnull 19
18: aload 0
aload 4
iload 3
iconst_0
invokevirtual org.graalvm.util.impl.EconomicMapImpl.putHashEntry:(Ljava/lang/Object;IZ)V
end local 4 19: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
20: iload 3
aload 0
getfield org.graalvm.util.impl.EconomicMapImpl.totalEntries:I
if_icmplt 16
end local 3 21: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 this Lorg/graalvm/util/impl/EconomicMapImpl<TK;TV;>;
1 22 1 entryCount I
2 22 2 size I
15 21 3 i I
17 19 4 entryKey Ljava/lang/Object;
private void putHashEntry(java.lang.Object, int, boolean);
descriptor: (Ljava/lang/Object;IZ)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
invokevirtual org.graalvm.util.impl.EconomicMapImpl.getHashIndex:(Ljava/lang/Object;)I
istore 4
start local 4 1: aload 0
iload 4
invokevirtual org.graalvm.util.impl.EconomicMapImpl.getHashArray:(I)I
iconst_1
isub
istore 5
start local 5 2: iload 5
iconst_m1
if_icmpeq 5
iload 3
ifeq 5
3: aload 0
invokevirtual org.graalvm.util.impl.EconomicMapImpl.createHash:()V
4: return
5: StackMap locals: int int
StackMap stack:
aload 0
iload 4
iload 2
iconst_1
iadd
invokevirtual org.graalvm.util.impl.EconomicMapImpl.setHashArray:(II)V
6: aload 0
iload 2
invokevirtual org.graalvm.util.impl.EconomicMapImpl.getRawValue:(I)Ljava/lang/Object;
astore 6
start local 6 7: iload 5
iconst_m1
if_icmpeq 15
8: getstatic org.graalvm.util.impl.EconomicMapImpl.$assertionsDisabled:Z
ifne 9
iload 2
iload 5
if_icmpne 9
new java.lang.AssertionError
dup
ldc "this cannot happend and would create an endless collision link cycle"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
9: StackMap locals: java.lang.Object
StackMap stack:
aload 6
instanceof org.graalvm.util.impl.EconomicMapImpl$CollisionLink
ifeq 13
10: aload 6
checkcast org.graalvm.util.impl.EconomicMapImpl$CollisionLink
astore 7
start local 7 11: aload 0
iload 2
new org.graalvm.util.impl.EconomicMapImpl$CollisionLink
dup
aload 7
getfield org.graalvm.util.impl.EconomicMapImpl$CollisionLink.value:Ljava/lang/Object;
iload 5
invokespecial org.graalvm.util.impl.EconomicMapImpl$CollisionLink.<init>:(Ljava/lang/Object;I)V
invokevirtual org.graalvm.util.impl.EconomicMapImpl.setRawValue:(ILjava/lang/Object;)V
end local 7 12: goto 18
13: StackMap locals:
StackMap stack:
aload 0
iload 2
new org.graalvm.util.impl.EconomicMapImpl$CollisionLink
dup
aload 0
iload 2
invokevirtual org.graalvm.util.impl.EconomicMapImpl.getRawValue:(I)Ljava/lang/Object;
iload 5
invokespecial org.graalvm.util.impl.EconomicMapImpl$CollisionLink.<init>:(Ljava/lang/Object;I)V
invokevirtual org.graalvm.util.impl.EconomicMapImpl.setRawValue:(ILjava/lang/Object;)V
14: goto 18
15: StackMap locals:
StackMap stack:
aload 6
instanceof org.graalvm.util.impl.EconomicMapImpl$CollisionLink
ifeq 18
16: aload 6
checkcast org.graalvm.util.impl.EconomicMapImpl$CollisionLink
astore 7
start local 7 17: aload 0
iload 2
aload 7
getfield org.graalvm.util.impl.EconomicMapImpl$CollisionLink.value:Ljava/lang/Object;
invokevirtual org.graalvm.util.impl.EconomicMapImpl.setRawValue:(ILjava/lang/Object;)V
end local 7 18: StackMap locals:
StackMap stack:
return
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 Lorg/graalvm/util/impl/EconomicMapImpl<TK;TV;>;
0 19 1 key Ljava/lang/Object;
0 19 2 entryIndex I
0 19 3 rehashOnCollision Z
1 19 4 hashIndex I
2 19 5 oldIndex I
7 19 6 value Ljava/lang/Object;
11 12 7 collisionLink Lorg/graalvm/util/impl/EconomicMapImpl$CollisionLink;
17 18 7 collisionLink Lorg/graalvm/util/impl/EconomicMapImpl$CollisionLink;
MethodParameters:
Name Flags
key
entryIndex
rehashOnCollision
public int size();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield org.graalvm.util.impl.EconomicMapImpl.totalEntries:I
aload 0
getfield org.graalvm.util.impl.EconomicMapImpl.deletedEntries:I
isub
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/util/impl/EconomicMapImpl<TK;TV;>;
public boolean containsKey();
descriptor: (Ljava/lang/Object;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual org.graalvm.util.impl.EconomicMapImpl.find:(Ljava/lang/Object;)I
iconst_m1
if_icmpeq 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/graalvm/util/impl/EconomicMapImpl<TK;TV;>;
0 2 1 key TK;
Signature: (TK;)Z
MethodParameters:
Name Flags
key
public void clear();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
aconst_null
putfield org.graalvm.util.impl.EconomicMapImpl.entries:[Ljava/lang/Object;
1: aload 0
aconst_null
putfield org.graalvm.util.impl.EconomicMapImpl.hashArray:[B
2: aload 0
aload 0
iconst_0
dup_x1
putfield org.graalvm.util.impl.EconomicMapImpl.deletedEntries:I
putfield org.graalvm.util.impl.EconomicMapImpl.totalEntries:I
3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/graalvm/util/impl/EconomicMapImpl<TK;TV;>;
private boolean hasHashArray();
descriptor: ()Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.graalvm.util.impl.EconomicMapImpl.hashArray:[B
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 Lorg/graalvm/util/impl/EconomicMapImpl<TK;TV;>;
public V removeKey();
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
ifnonnull 2
1: new java.lang.UnsupportedOperationException
dup
ldc "null not supported as key!"
invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.graalvm.util.impl.EconomicMapImpl.hasHashArray:()Z
ifeq 5
3: aload 0
aload 1
invokevirtual org.graalvm.util.impl.EconomicMapImpl.findAndRemoveHash:(Ljava/lang/Object;)I
istore 2
start local 2 4: goto 6
end local 2 5: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual org.graalvm.util.impl.EconomicMapImpl.findLinear:(Ljava/lang/Object;)I
istore 2
start local 2 6: StackMap locals: int
StackMap stack:
iload 2
iconst_m1
if_icmpeq 10
7: aload 0
iload 2
invokevirtual org.graalvm.util.impl.EconomicMapImpl.getValue:(I)Ljava/lang/Object;
astore 3
start local 3 8: aload 0
iload 2
invokevirtual org.graalvm.util.impl.EconomicMapImpl.remove:(I)I
pop
9: aload 3
areturn
end local 3 10: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/graalvm/util/impl/EconomicMapImpl<TK;TV;>;
0 11 1 key TK;
4 5 2 index I
6 11 2 index I
8 10 3 value Ljava/lang/Object;
Signature: (TK;)TV;
MethodParameters:
Name Flags
key
private int remove(int);
descriptor: (I)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=5, args_size=2
start local 0 start local 1 0: iload 1
istore 2
start local 2 1: aload 0
getfield org.graalvm.util.impl.EconomicMapImpl.totalEntries:I
iload 2
isub
iconst_1
isub
istore 3
start local 3 2: iload 2
iconst_1
iadd
istore 4
start local 4 3: iload 3
bipush 8
if_icmpgt 10
aload 0
invokevirtual org.graalvm.util.impl.EconomicMapImpl.hasHashArray:()Z
ifne 10
4: goto 8
5: StackMap locals: int int int
StackMap stack:
aload 0
iload 2
aload 0
iload 2
iconst_1
iadd
invokevirtual org.graalvm.util.impl.EconomicMapImpl.getKey:(I)Ljava/lang/Object;
invokevirtual org.graalvm.util.impl.EconomicMapImpl.setKey:(ILjava/lang/Object;)V
6: aload 0
iload 2
aload 0
iload 2
iconst_1
iadd
invokevirtual org.graalvm.util.impl.EconomicMapImpl.getRawValue:(I)Ljava/lang/Object;
invokevirtual org.graalvm.util.impl.EconomicMapImpl.setRawValue:(ILjava/lang/Object;)V
7: iinc 2 1
8: StackMap locals:
StackMap stack:
iload 2
aload 0
getfield org.graalvm.util.impl.EconomicMapImpl.totalEntries:I
iconst_1
isub
if_icmplt 5
9: iinc 4 -1
10: StackMap locals:
StackMap stack:
aload 0
iload 2
aconst_null
invokevirtual org.graalvm.util.impl.EconomicMapImpl.setKey:(ILjava/lang/Object;)V
11: aload 0
iload 2
aconst_null
invokevirtual org.graalvm.util.impl.EconomicMapImpl.setRawValue:(ILjava/lang/Object;)V
12: iload 2
aload 0
getfield org.graalvm.util.impl.EconomicMapImpl.totalEntries:I
iconst_1
isub
if_icmpne 20
13: aload 0
dup
getfield org.graalvm.util.impl.EconomicMapImpl.totalEntries:I
iconst_1
isub
putfield org.graalvm.util.impl.EconomicMapImpl.totalEntries:I
14: goto 18
15: StackMap locals:
StackMap stack:
aload 0
dup
getfield org.graalvm.util.impl.EconomicMapImpl.totalEntries:I
iconst_1
isub
putfield org.graalvm.util.impl.EconomicMapImpl.totalEntries:I
16: aload 0
dup
getfield org.graalvm.util.impl.EconomicMapImpl.deletedEntries:I
iconst_1
isub
putfield org.graalvm.util.impl.EconomicMapImpl.deletedEntries:I
17: iinc 2 -1
18: StackMap locals:
StackMap stack:
iload 2
ifle 22
aload 0
iload 2
iconst_1
isub
invokevirtual org.graalvm.util.impl.EconomicMapImpl.getKey:(I)Ljava/lang/Object;
ifnull 15
19: goto 22
20: StackMap locals:
StackMap stack:
aload 0
dup
getfield org.graalvm.util.impl.EconomicMapImpl.deletedEntries:I
iconst_1
iadd
putfield org.graalvm.util.impl.EconomicMapImpl.deletedEntries:I
21: aload 0
iload 4
invokevirtual org.graalvm.util.impl.EconomicMapImpl.maybeCompress:(I)I
istore 4
22: StackMap locals:
StackMap stack:
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 23 0 this Lorg/graalvm/util/impl/EconomicMapImpl<TK;TV;>;
0 23 1 indexToRemove I
1 23 2 index I
2 23 3 entriesAfterIndex I
3 23 4 result I
MethodParameters:
Name Flags
indexToRemove
public java.lang.Iterable<V> getValues();
descriptor: ()Ljava/lang/Iterable;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new org.graalvm.util.impl.EconomicMapImpl$1
dup
aload 0
invokespecial org.graalvm.util.impl.EconomicMapImpl$1.<init>:(Lorg/graalvm/util/impl/EconomicMapImpl;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/util/impl/EconomicMapImpl<TK;TV;>;
Signature: ()Ljava/lang/Iterable<TV;>;
public java.lang.Iterable<K> getKeys();
descriptor: ()Ljava/lang/Iterable;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/util/impl/EconomicMapImpl<TK;TV;>;
Signature: ()Ljava/lang/Iterable<TK;>;
public boolean isEmpty();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.graalvm.util.impl.EconomicMapImpl.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 Lorg/graalvm/util/impl/EconomicMapImpl<TK;TV;>;
public org.graalvm.util.MapCursor<K, V> getEntries();
descriptor: ()Lorg/graalvm/util/MapCursor;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new org.graalvm.util.impl.EconomicMapImpl$2
dup
aload 0
invokespecial org.graalvm.util.impl.EconomicMapImpl$2.<init>:(Lorg/graalvm/util/impl/EconomicMapImpl;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/util/impl/EconomicMapImpl<TK;TV;>;
Signature: ()Lorg/graalvm/util/MapCursor<TK;TV;>;
public void replaceAll(java.util.function.BiFunction<? super K, ? super V, ? extends V>);
descriptor: (Ljava/util/function/BiFunction;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=2
start local 0 start local 1 0: iconst_0
istore 2
start local 2 1: goto 7
2: StackMap locals: int
StackMap stack:
aload 0
iload 2
invokevirtual org.graalvm.util.impl.EconomicMapImpl.getKey:(I)Ljava/lang/Object;
astore 3
start local 3 3: aload 3
ifnull 6
4: aload 1
aload 3
aload 0
iload 2
invokevirtual org.graalvm.util.impl.EconomicMapImpl.getValue:(I)Ljava/lang/Object;
invokeinterface java.util.function.BiFunction.apply:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
astore 4
start local 4 5: aload 0
iload 2
aload 4
invokevirtual org.graalvm.util.impl.EconomicMapImpl.setValue:(ILjava/lang/Object;)V
end local 4 end local 3 6: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
7: iload 2
aload 0
getfield org.graalvm.util.impl.EconomicMapImpl.totalEntries:I
if_icmplt 2
end local 2 8: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/graalvm/util/impl/EconomicMapImpl<TK;TV;>;
0 9 1 function Ljava/util/function/BiFunction<-TK;-TV;+TV;>;
1 8 2 i I
3 6 3 entryKey Ljava/lang/Object;
5 6 4 newValue Ljava/lang/Object;
Signature: (Ljava/util/function/BiFunction<-TK;-TV;+TV;>;)V
MethodParameters:
Name Flags
function
private java.lang.Object getKey(int);
descriptor: (I)Ljava/lang/Object;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.graalvm.util.impl.EconomicMapImpl.entries:[Ljava/lang/Object;
iload 1
iconst_1
ishl
aaload
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/util/impl/EconomicMapImpl<TK;TV;>;
0 1 1 index I
MethodParameters:
Name Flags
index
private void setKey(int, java.lang.Object);
descriptor: (ILjava/lang/Object;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.graalvm.util.impl.EconomicMapImpl.entries:[Ljava/lang/Object;
iload 1
iconst_1
ishl
aload 2
aastore
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/graalvm/util/impl/EconomicMapImpl<TK;TV;>;
0 2 1 index I
0 2 2 newValue Ljava/lang/Object;
MethodParameters:
Name Flags
index
newValue
private void setValue(int, java.lang.Object);
descriptor: (ILjava/lang/Object;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
iload 1
invokevirtual org.graalvm.util.impl.EconomicMapImpl.getRawValue:(I)Ljava/lang/Object;
astore 3
start local 3 1: aload 3
instanceof org.graalvm.util.impl.EconomicMapImpl$CollisionLink
ifeq 5
2: aload 3
checkcast org.graalvm.util.impl.EconomicMapImpl$CollisionLink
astore 4
start local 4 3: aload 0
iload 1
new org.graalvm.util.impl.EconomicMapImpl$CollisionLink
dup
aload 2
aload 4
getfield org.graalvm.util.impl.EconomicMapImpl$CollisionLink.next:I
invokespecial org.graalvm.util.impl.EconomicMapImpl$CollisionLink.<init>:(Ljava/lang/Object;I)V
invokevirtual org.graalvm.util.impl.EconomicMapImpl.setRawValue:(ILjava/lang/Object;)V
end local 4 4: goto 6
5: StackMap locals: java.lang.Object
StackMap stack:
aload 0
iload 1
aload 2
invokevirtual org.graalvm.util.impl.EconomicMapImpl.setRawValue:(ILjava/lang/Object;)V
6: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/graalvm/util/impl/EconomicMapImpl<TK;TV;>;
0 7 1 index I
0 7 2 newValue Ljava/lang/Object;
1 7 3 oldValue Ljava/lang/Object;
3 4 4 collisionLink Lorg/graalvm/util/impl/EconomicMapImpl$CollisionLink;
MethodParameters:
Name Flags
index
newValue
private void setRawValue(int, java.lang.Object);
descriptor: (ILjava/lang/Object;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.graalvm.util.impl.EconomicMapImpl.entries:[Ljava/lang/Object;
iload 1
iconst_1
ishl
iconst_1
iadd
aload 2
aastore
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/graalvm/util/impl/EconomicMapImpl<TK;TV;>;
0 2 1 index I
0 2 2 newValue Ljava/lang/Object;
MethodParameters:
Name Flags
index
newValue
private java.lang.Object getRawValue(int);
descriptor: (I)Ljava/lang/Object;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.graalvm.util.impl.EconomicMapImpl.entries:[Ljava/lang/Object;
iload 1
iconst_1
ishl
iconst_1
iadd
aaload
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/util/impl/EconomicMapImpl<TK;TV;>;
0 1 1 index I
MethodParameters:
Name Flags
index
private java.lang.Object getValue(int);
descriptor: (I)Ljava/lang/Object;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
iload 1
invokevirtual org.graalvm.util.impl.EconomicMapImpl.getRawValue:(I)Ljava/lang/Object;
astore 2
start local 2 1: aload 2
instanceof org.graalvm.util.impl.EconomicMapImpl$CollisionLink
ifeq 3
2: aload 2
checkcast org.graalvm.util.impl.EconomicMapImpl$CollisionLink
getfield org.graalvm.util.impl.EconomicMapImpl$CollisionLink.value:Ljava/lang/Object;
areturn
3: StackMap locals: java.lang.Object
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/graalvm/util/impl/EconomicMapImpl<TK;TV;>;
0 4 1 index I
1 4 2 object Ljava/lang/Object;
MethodParameters:
Name Flags
index
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 1
start local 1 1: aload 1
ldc "map(size="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
invokevirtual org.graalvm.util.impl.EconomicMapImpl.size:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ", {"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
2: aload 0
invokevirtual org.graalvm.util.impl.EconomicMapImpl.getEntries:()Lorg/graalvm/util/MapCursor;
astore 2
start local 2 3: goto 5
4: StackMap locals: java.lang.StringBuilder org.graalvm.util.MapCursor
StackMap stack:
aload 1
ldc "("
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2
invokeinterface org.graalvm.util.MapCursor.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
invokeinterface org.graalvm.util.MapCursor.getValue:()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;
pop
5: StackMap locals:
StackMap stack:
aload 2
invokeinterface org.graalvm.util.MapCursor.advance:()Z
ifne 4
6: aload 1
ldc "})"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
7: aload 1
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/graalvm/util/impl/EconomicMapImpl<TK;TV;>;
1 8 1 builder Ljava/lang/StringBuilder;
3 8 2 cursor Lorg/graalvm/util/MapCursor<TK;TV;>;
public java.util.Iterator<K> iterator();
descriptor: ()Ljava/util/Iterator;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: new org.graalvm.util.impl.EconomicMapImpl$3
dup
aload 0
aload 0
invokespecial org.graalvm.util.impl.EconomicMapImpl$3.<init>:(Lorg/graalvm/util/impl/EconomicMapImpl;Lorg/graalvm/util/impl/EconomicMapImpl;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/util/impl/EconomicMapImpl<TK;TV;>;
Signature: ()Ljava/util/Iterator<TK;>;
public boolean contains();
descriptor: (Ljava/lang/Object;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual org.graalvm.util.impl.EconomicMapImpl.containsKey:(Ljava/lang/Object;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/util/impl/EconomicMapImpl<TK;TV;>;
0 1 1 element TK;
Signature: (TK;)Z
MethodParameters:
Name Flags
element
public boolean add();
descriptor: (Ljava/lang/Object;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
aload 1
invokevirtual org.graalvm.util.impl.EconomicMapImpl.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
ifnonnull 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/graalvm/util/impl/EconomicMapImpl<TK;TV;>;
0 2 1 element TK;
Signature: (TK;)Z
MethodParameters:
Name Flags
element
public void remove();
descriptor: (Ljava/lang/Object;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual org.graalvm.util.impl.EconomicMapImpl.removeKey:(Ljava/lang/Object;)Ljava/lang/Object;
pop
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/graalvm/util/impl/EconomicMapImpl<TK;TV;>;
0 2 1 element TK;
Signature: (TK;)V
MethodParameters:
Name Flags
element
public org.graalvm.util.UnmodifiableMapCursor getEntries();
descriptor: ()Lorg/graalvm/util/UnmodifiableMapCursor;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokevirtual org.graalvm.util.impl.EconomicMapImpl.getEntries:()Lorg/graalvm/util/MapCursor;
areturn
LocalVariableTable:
Start End Slot Name Signature
}
Signature: <K:Ljava/lang/Object;V:Ljava/lang/Object;>Ljava/lang/Object;Lorg/graalvm/util/EconomicMap<TK;TV;>;Lorg/graalvm/util/EconomicSet<TK;>;
SourceFile: "EconomicMapImpl.java"
NestMembers:
org.graalvm.util.impl.EconomicMapImpl$1 org.graalvm.util.impl.EconomicMapImpl$1$1 org.graalvm.util.impl.EconomicMapImpl$2 org.graalvm.util.impl.EconomicMapImpl$3 org.graalvm.util.impl.EconomicMapImpl$CollisionLink org.graalvm.util.impl.EconomicMapImpl$SparseMapIterator
InnerClasses:
org.graalvm.util.impl.EconomicMapImpl$1
org.graalvm.util.impl.EconomicMapImpl$2
org.graalvm.util.impl.EconomicMapImpl$3
private final CollisionLink = org.graalvm.util.impl.EconomicMapImpl$CollisionLink of org.graalvm.util.impl.EconomicMapImpl
private abstract SparseMapIterator = org.graalvm.util.impl.EconomicMapImpl$SparseMapIterator of org.graalvm.util.impl.EconomicMapImpl