final class org.graalvm.collections.EconomicMapImpl extends java.lang.Object implements org.graalvm.collections.EconomicMap, org.graalvm.collections.EconomicSet
{
private static final int INITIAL_CAPACITY;
private static final int COMPRESS_IMMEDIATE_CAPACITY;
private static final int MIN_CAPACITY_INCREASE;
private static final int HASH_THRESHOLD;
private static final int HASH_THRESHOLD_IDENTITY_COMPARE;
private static final int MAX_ELEMENT_COUNT;
private static final int LARGE_HASH_THRESHOLD;
private static final int VERY_LARGE_HASH_THRESHOLD;
private int totalEntries;
private int deletedEntries;
private java.lang.Object[] entries;
private byte[] hashArray;
private final org.graalvm.collections.Equivalence strategy;
private final boolean isSet;
static final boolean $assertionsDisabled;
private static org.graalvm.collections.EconomicMapImpl intercept(org.graalvm.collections.EconomicMapImpl)
{
org.graalvm.collections.EconomicMapImpl v;
v := @parameter: org.graalvm.collections.EconomicMapImpl;
return v;
}
public static org.graalvm.collections.EconomicMapImpl create(org.graalvm.collections.Equivalence, boolean)
{
org.graalvm.collections.EconomicMapImpl v, v;
org.graalvm.collections.Equivalence v;
boolean v;
v := @parameter: org.graalvm.collections.Equivalence;
v := @parameter: boolean;
v = new org.graalvm.collections.EconomicMapImpl;
specialinvoke v.<org.graalvm.collections.EconomicMapImpl: void <init>(org.graalvm.collections.Equivalence,boolean)>(v, v);
v = staticinvoke <org.graalvm.collections.EconomicMapImpl: org.graalvm.collections.EconomicMapImpl intercept(org.graalvm.collections.EconomicMapImpl)>(v);
return v;
}
public static org.graalvm.collections.EconomicMapImpl create(org.graalvm.collections.Equivalence, int, boolean)
{
int v;
org.graalvm.collections.EconomicMapImpl v, v;
org.graalvm.collections.Equivalence v;
boolean v;
v := @parameter: org.graalvm.collections.Equivalence;
v := @parameter: int;
v := @parameter: boolean;
v = new org.graalvm.collections.EconomicMapImpl;
specialinvoke v.<org.graalvm.collections.EconomicMapImpl: void <init>(org.graalvm.collections.Equivalence,int,boolean)>(v, v, v);
v = staticinvoke <org.graalvm.collections.EconomicMapImpl: org.graalvm.collections.EconomicMapImpl intercept(org.graalvm.collections.EconomicMapImpl)>(v);
return v;
}
public static org.graalvm.collections.EconomicMapImpl create(org.graalvm.collections.Equivalence, org.graalvm.collections.UnmodifiableEconomicMap, boolean)
{
org.graalvm.collections.EconomicMapImpl v, v;
org.graalvm.collections.UnmodifiableEconomicMap v;
org.graalvm.collections.Equivalence v;
boolean v;
v := @parameter: org.graalvm.collections.Equivalence;
v := @parameter: org.graalvm.collections.UnmodifiableEconomicMap;
v := @parameter: boolean;
v = new org.graalvm.collections.EconomicMapImpl;
specialinvoke v.<org.graalvm.collections.EconomicMapImpl: void <init>(org.graalvm.collections.Equivalence,org.graalvm.collections.UnmodifiableEconomicMap,boolean)>(v, v, v);
v = staticinvoke <org.graalvm.collections.EconomicMapImpl: org.graalvm.collections.EconomicMapImpl intercept(org.graalvm.collections.EconomicMapImpl)>(v);
return v;
}
public static org.graalvm.collections.EconomicMapImpl create(org.graalvm.collections.Equivalence, org.graalvm.collections.UnmodifiableEconomicSet, boolean)
{
org.graalvm.collections.EconomicMapImpl v, v;
org.graalvm.collections.Equivalence v;
boolean v;
org.graalvm.collections.UnmodifiableEconomicSet v;
v := @parameter: org.graalvm.collections.Equivalence;
v := @parameter: org.graalvm.collections.UnmodifiableEconomicSet;
v := @parameter: boolean;
v = new org.graalvm.collections.EconomicMapImpl;
specialinvoke v.<org.graalvm.collections.EconomicMapImpl: void <init>(org.graalvm.collections.Equivalence,org.graalvm.collections.UnmodifiableEconomicSet,boolean)>(v, v, v);
v = staticinvoke <org.graalvm.collections.EconomicMapImpl: org.graalvm.collections.EconomicMapImpl intercept(org.graalvm.collections.EconomicMapImpl)>(v);
return v;
}
private void <init>(org.graalvm.collections.Equivalence, boolean)
{
org.graalvm.collections.EconomicMapImpl v;
org.graalvm.collections.Equivalence v, v;
boolean v;
v := @this: org.graalvm.collections.EconomicMapImpl;
v := @parameter: org.graalvm.collections.Equivalence;
v := @parameter: boolean;
specialinvoke v.<java.lang.Object: void <init>()>();
v = <org.graalvm.collections.Equivalence: org.graalvm.collections.Equivalence IDENTITY>;
if v != v goto label;
v.<org.graalvm.collections.EconomicMapImpl: org.graalvm.collections.Equivalence strategy> = null;
goto label;
label:
v.<org.graalvm.collections.EconomicMapImpl: org.graalvm.collections.Equivalence strategy> = v;
label:
v.<org.graalvm.collections.EconomicMapImpl: boolean isSet> = v;
return;
}
private void <init>(org.graalvm.collections.Equivalence, int, boolean)
{
int v;
org.graalvm.collections.EconomicMapImpl v;
org.graalvm.collections.Equivalence v;
boolean v;
v := @this: org.graalvm.collections.EconomicMapImpl;
v := @parameter: org.graalvm.collections.Equivalence;
v := @parameter: int;
v := @parameter: boolean;
specialinvoke v.<org.graalvm.collections.EconomicMapImpl: void <init>(org.graalvm.collections.Equivalence,boolean)>(v, v);
specialinvoke v.<org.graalvm.collections.EconomicMapImpl: void init(int)>(v);
return;
}
private void <init>(org.graalvm.collections.Equivalence, org.graalvm.collections.UnmodifiableEconomicMap, boolean)
{
int v;
org.graalvm.collections.EconomicMapImpl v;
org.graalvm.collections.UnmodifiableEconomicMap v;
org.graalvm.collections.Equivalence v;
boolean v, v;
v := @this: org.graalvm.collections.EconomicMapImpl;
v := @parameter: org.graalvm.collections.Equivalence;
v := @parameter: org.graalvm.collections.UnmodifiableEconomicMap;
v := @parameter: boolean;
specialinvoke v.<org.graalvm.collections.EconomicMapImpl: void <init>(org.graalvm.collections.Equivalence,boolean)>(v, v);
v = specialinvoke v.<org.graalvm.collections.EconomicMapImpl: boolean initFrom(java.lang.Object)>(v);
if v != 0 goto label;
v = interfaceinvoke v.<org.graalvm.collections.UnmodifiableEconomicMap: int size()>();
specialinvoke v.<org.graalvm.collections.EconomicMapImpl: void init(int)>(v);
virtualinvoke v.<org.graalvm.collections.EconomicMapImpl: void putAll(org.graalvm.collections.UnmodifiableEconomicMap)>(v);
label:
return;
}
private void <init>(org.graalvm.collections.Equivalence, org.graalvm.collections.UnmodifiableEconomicSet, boolean)
{
int v;
org.graalvm.collections.EconomicMapImpl v;
org.graalvm.collections.Equivalence v;
boolean v, v;
org.graalvm.collections.UnmodifiableEconomicSet v;
v := @this: org.graalvm.collections.EconomicMapImpl;
v := @parameter: org.graalvm.collections.Equivalence;
v := @parameter: org.graalvm.collections.UnmodifiableEconomicSet;
v := @parameter: boolean;
specialinvoke v.<org.graalvm.collections.EconomicMapImpl: void <init>(org.graalvm.collections.Equivalence,boolean)>(v, v);
v = specialinvoke v.<org.graalvm.collections.EconomicMapImpl: boolean initFrom(java.lang.Object)>(v);
if v != 0 goto label;
v = interfaceinvoke v.<org.graalvm.collections.UnmodifiableEconomicSet: int size()>();
specialinvoke v.<org.graalvm.collections.EconomicMapImpl: void init(int)>(v);
virtualinvoke v.<org.graalvm.collections.EconomicMapImpl: void addAll(java.lang.Iterable)>(v);
label:
return;
}
private boolean initFrom(java.lang.Object)
{
byte[] v, v;
java.lang.Object[] v, v;
int v, v;
org.graalvm.collections.EconomicMapImpl v;
java.lang.Object v, v, v;
org.graalvm.collections.Equivalence v, v;
boolean v;
v := @this: org.graalvm.collections.EconomicMapImpl;
v := @parameter: java.lang.Object;
v = v instanceof org.graalvm.collections.EconomicMapImpl;
if v == 0 goto label;
v = v.<org.graalvm.collections.EconomicMapImpl: org.graalvm.collections.Equivalence strategy>;
v = v.<org.graalvm.collections.EconomicMapImpl: org.graalvm.collections.Equivalence strategy>;
if v != v goto label;
v = v.<org.graalvm.collections.EconomicMapImpl: int totalEntries>;
v.<org.graalvm.collections.EconomicMapImpl: int totalEntries> = v;
v = v.<org.graalvm.collections.EconomicMapImpl: int deletedEntries>;
v.<org.graalvm.collections.EconomicMapImpl: int deletedEntries> = v;
v = v.<org.graalvm.collections.EconomicMapImpl: java.lang.Object[] entries>;
if v == null goto label;
v = v.<org.graalvm.collections.EconomicMapImpl: java.lang.Object[] entries>;
v = virtualinvoke v.<java.lang.Object: java.lang.Object clone()>();
v.<org.graalvm.collections.EconomicMapImpl: java.lang.Object[] entries> = v;
label:
v = v.<org.graalvm.collections.EconomicMapImpl: byte[] hashArray>;
if v == null goto label;
v = v.<org.graalvm.collections.EconomicMapImpl: byte[] hashArray>;
v = virtualinvoke v.<java.lang.Object: java.lang.Object clone()>();
v.<org.graalvm.collections.EconomicMapImpl: byte[] hashArray> = v;
label:
return 1;
label:
return 0;
}
private void init(int)
{
java.lang.Object[] v;
int v, v;
org.graalvm.collections.EconomicMapImpl v;
v := @this: org.graalvm.collections.EconomicMapImpl;
v := @parameter: int;
if v <= 4 goto label;
v = v << 1;
v = newarray (java.lang.Object)[v];
v.<org.graalvm.collections.EconomicMapImpl: java.lang.Object[] entries> = v;
label:
return;
}
public java.lang.Object get(java.lang.Object)
{
int v, v;
org.graalvm.collections.EconomicMapImpl v;
java.lang.Object v, v;
v := @this: org.graalvm.collections.EconomicMapImpl;
v := @parameter: java.lang.Object;
specialinvoke v.<org.graalvm.collections.EconomicMapImpl: void checkKeyNonNull(java.lang.Object)>(v);
v = specialinvoke v.<org.graalvm.collections.EconomicMapImpl: int find(java.lang.Object)>(v);
v = (int) -1;
if v == v goto label;
v = specialinvoke v.<org.graalvm.collections.EconomicMapImpl: java.lang.Object getValue(int)>(v);
return v;
label:
return null;
}
private int find(java.lang.Object)
{
int v, v;
org.graalvm.collections.EconomicMapImpl v;
java.lang.Object v;
boolean v;
v := @this: org.graalvm.collections.EconomicMapImpl;
v := @parameter: java.lang.Object;
v = specialinvoke v.<org.graalvm.collections.EconomicMapImpl: boolean hasHashArray()>();
if v == 0 goto label;
v = specialinvoke v.<org.graalvm.collections.EconomicMapImpl: int findHash(java.lang.Object)>(v);
return v;
label:
v = specialinvoke v.<org.graalvm.collections.EconomicMapImpl: int findLinear(java.lang.Object)>(v);
return v;
}
private int findLinear(java.lang.Object)
{
java.lang.Object[] v;
int v, v, v, v;
org.graalvm.collections.EconomicMapImpl v;
java.lang.Object v, v;
boolean v;
v := @this: org.graalvm.collections.EconomicMapImpl;
v := @parameter: java.lang.Object;
v = 0;
label:
v = v.<org.graalvm.collections.EconomicMapImpl: int totalEntries>;
if v >= v goto label;
v = v.<org.graalvm.collections.EconomicMapImpl: java.lang.Object[] entries>;
v = v << 1;
v = v[v];
if v == null goto label;
v = specialinvoke v.<org.graalvm.collections.EconomicMapImpl: boolean compareKeys(java.lang.Object,java.lang.Object)>(v, v);
if v == 0 goto label;
return v;
label:
v = v + 1;
goto label;
label:
v = (int) -1;
return v;
}
private boolean compareKeys(java.lang.Object, java.lang.Object)
{
org.graalvm.collections.EconomicMapImpl v;
java.lang.Object v, v;
org.graalvm.collections.Equivalence v, v, v, v, v, v;
boolean v, v;
v := @this: org.graalvm.collections.EconomicMapImpl;
v := @parameter: java.lang.Object;
v := @parameter: java.lang.Object;
if v != v goto label;
return 1;
label:
v = v.<org.graalvm.collections.EconomicMapImpl: org.graalvm.collections.Equivalence strategy>;
if v == null goto label;
v = v.<org.graalvm.collections.EconomicMapImpl: org.graalvm.collections.Equivalence strategy>;
v = <org.graalvm.collections.Equivalence: org.graalvm.collections.Equivalence IDENTITY_WITH_SYSTEM_HASHCODE>;
if v == v goto label;
v = v.<org.graalvm.collections.EconomicMapImpl: org.graalvm.collections.Equivalence strategy>;
v = <org.graalvm.collections.Equivalence: org.graalvm.collections.Equivalence DEFAULT>;
if v != v goto label;
v = virtualinvoke v.<java.lang.Object: boolean equals(java.lang.Object)>(v);
return v;
label:
v = v.<org.graalvm.collections.EconomicMapImpl: org.graalvm.collections.Equivalence strategy>;
v = virtualinvoke v.<org.graalvm.collections.Equivalence: boolean equals(java.lang.Object,java.lang.Object)>(v, v);
return v;
label:
return 0;
}
private int findHash(java.lang.Object)
{
int v, v, v, v, v, v;
org.graalvm.collections.EconomicMapImpl v;
java.lang.Object v, v, v;
boolean v, v;
v := @this: org.graalvm.collections.EconomicMapImpl;
v := @parameter: java.lang.Object;
v = specialinvoke v.<org.graalvm.collections.EconomicMapImpl: int getHashIndex(java.lang.Object)>(v);
v = specialinvoke v.<org.graalvm.collections.EconomicMapImpl: int getHashArray(int)>(v);
v = v - 1;
v = (int) -1;
if v == v goto label;
v = specialinvoke v.<org.graalvm.collections.EconomicMapImpl: java.lang.Object getKey(int)>(v);
v = specialinvoke v.<org.graalvm.collections.EconomicMapImpl: boolean compareKeys(java.lang.Object,java.lang.Object)>(v, v);
if v == 0 goto label;
return v;
label:
v = specialinvoke v.<org.graalvm.collections.EconomicMapImpl: java.lang.Object getRawValue(int)>(v);
v = v instanceof org.graalvm.collections.EconomicMapImpl$CollisionLink;
if v == 0 goto label;
v = specialinvoke v.<org.graalvm.collections.EconomicMapImpl: int findWithCollision(java.lang.Object,org.graalvm.collections.EconomicMapImpl$CollisionLink)>(v, v);
return v;
label:
v = (int) -1;
return v;
}
private int findWithCollision(java.lang.Object, org.graalvm.collections.EconomicMapImpl$CollisionLink)
{
org.graalvm.collections.EconomicMapImpl$CollisionLink v;
int v, v;
org.graalvm.collections.EconomicMapImpl v;
java.lang.Object v, v, v;
boolean v, v;
v := @this: org.graalvm.collections.EconomicMapImpl;
v := @parameter: java.lang.Object;
v := @parameter: org.graalvm.collections.EconomicMapImpl$CollisionLink;
label:
v = v.<org.graalvm.collections.EconomicMapImpl$CollisionLink: int next>;
v = specialinvoke v.<org.graalvm.collections.EconomicMapImpl: java.lang.Object getKey(int)>(v);
v = specialinvoke v.<org.graalvm.collections.EconomicMapImpl: boolean compareKeys(java.lang.Object,java.lang.Object)>(v, v);
if v == 0 goto label;
return v;
label:
v = specialinvoke v.<org.graalvm.collections.EconomicMapImpl: java.lang.Object getRawValue(int)>(v);
v = v instanceof org.graalvm.collections.EconomicMapImpl$CollisionLink;
if v == 0 goto label;
specialinvoke v.<org.graalvm.collections.EconomicMapImpl: java.lang.Object getRawValue(int)>(v);
goto label;
label:
v = (int) -1;
return v;
}
private int getHashArray(int)
{
byte[] v, v, v, v, v, v, v;
byte v, v, v, v, v, v, v;
java.lang.Object[] v, v;
short v, v, v, v, v, v, v;
int v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
org.graalvm.collections.EconomicMapImpl v;
v := @this: org.graalvm.collections.EconomicMapImpl;
v := @parameter: int;
v = v.<org.graalvm.collections.EconomicMapImpl: java.lang.Object[] entries>;
v = lengthof v;
if v >= 512 goto label;
v = v.<org.graalvm.collections.EconomicMapImpl: byte[] hashArray>;
v = v[v];
v = v & 255;
return v;
label:
v = v.<org.graalvm.collections.EconomicMapImpl: java.lang.Object[] entries>;
v = lengthof v;
if v >= 131072 goto label;
v = v << 1;
v = v.<org.graalvm.collections.EconomicMapImpl: byte[] hashArray>;
v = v[v];
v = v & 255;
v = v.<org.graalvm.collections.EconomicMapImpl: byte[] hashArray>;
v = v + 1;
v = v[v];
v = v & 255;
v = v << 8;
v = v | v;
return v;
label:
v = v << 2;
v = v.<org.graalvm.collections.EconomicMapImpl: byte[] hashArray>;
v = v[v];
v = v & 255;
v = v.<org.graalvm.collections.EconomicMapImpl: byte[] hashArray>;
v = v + 1;
v = v[v];
v = v & 255;
v = v << 8;
v = v | v;
v = v.<org.graalvm.collections.EconomicMapImpl: byte[] hashArray>;
v = v + 2;
v = v[v];
v = v & 255;
v = v << 16;
v = v | v;
v = v.<org.graalvm.collections.EconomicMapImpl: byte[] hashArray>;
v = v + 3;
v = v[v];
v = v & 255;
v = v << 24;
v = v | v;
return v;
}
private void setHashArray(int, int)
{
byte[] v, v, v, v, v, v, v;
java.lang.Object[] v, v;
int v, v, v, v, v, v, v, v, v, v, v, v, v, v;
org.graalvm.collections.EconomicMapImpl v;
v := @this: org.graalvm.collections.EconomicMapImpl;
v := @parameter: int;
v := @parameter: int;
v = v.<org.graalvm.collections.EconomicMapImpl: java.lang.Object[] entries>;
v = lengthof v;
if v >= 512 goto label;
v = v.<org.graalvm.collections.EconomicMapImpl: byte[] hashArray>;
v[v] = v;
goto label;
label:
v = v.<org.graalvm.collections.EconomicMapImpl: java.lang.Object[] entries>;
v = lengthof v;
if v >= 131072 goto label;
v = v << 1;
v = v.<org.graalvm.collections.EconomicMapImpl: byte[] hashArray>;
v[v] = v;
v = v.<org.graalvm.collections.EconomicMapImpl: byte[] hashArray>;
v = v + 1;
v = v >> 8;
v[v] = v;
goto label;
label:
v = v << 2;
v = v.<org.graalvm.collections.EconomicMapImpl: byte[] hashArray>;
v[v] = v;
v = v.<org.graalvm.collections.EconomicMapImpl: byte[] hashArray>;
v = v + 1;
v = v >> 8;
v[v] = v;
v = v.<org.graalvm.collections.EconomicMapImpl: byte[] hashArray>;
v = v + 2;
v = v >> 16;
v[v] = v;
v = v.<org.graalvm.collections.EconomicMapImpl: byte[] hashArray>;
v = v + 3;
v = v >> 24;
v[v] = v;
label:
return;
}
private int findAndRemoveHash(java.lang.Object)
{
int v, v, v, v, v, v, v, v, v;
org.graalvm.collections.EconomicMapImpl v;
boolean v, v, v;
java.lang.Object v, v, v, v;
v := @this: org.graalvm.collections.EconomicMapImpl;
v := @parameter: java.lang.Object;
v = specialinvoke v.<org.graalvm.collections.EconomicMapImpl: int getHashIndex(java.lang.Object)>(v);
v = specialinvoke v.<org.graalvm.collections.EconomicMapImpl: int getHashArray(int)>(v);
v = v - 1;
v = (int) -1;
if v == v goto label;
v = specialinvoke v.<org.graalvm.collections.EconomicMapImpl: java.lang.Object getKey(int)>(v);
v = specialinvoke v.<org.graalvm.collections.EconomicMapImpl: boolean compareKeys(java.lang.Object,java.lang.Object)>(v, v);
if v == 0 goto label;
v = specialinvoke v.<org.graalvm.collections.EconomicMapImpl: java.lang.Object getRawValue(int)>(v);
v = (int) -1;
v = v;
v = v instanceof org.graalvm.collections.EconomicMapImpl$CollisionLink;
if v == 0 goto label;
v = v.<org.graalvm.collections.EconomicMapImpl$CollisionLink: int next>;
label:
v = v + 1;
specialinvoke v.<org.graalvm.collections.EconomicMapImpl: void setHashArray(int,int)>(v, v);
return v;
label:
v = specialinvoke v.<org.graalvm.collections.EconomicMapImpl: java.lang.Object getRawValue(int)>(v);
v = v instanceof org.graalvm.collections.EconomicMapImpl$CollisionLink;
if v == 0 goto label;
v = specialinvoke v.<org.graalvm.collections.EconomicMapImpl: int findAndRemoveWithCollision(java.lang.Object,org.graalvm.collections.EconomicMapImpl$CollisionLink,int)>(v, v, v);
return v;
label:
v = (int) -1;
return v;
}
private int findAndRemoveWithCollision(java.lang.Object, org.graalvm.collections.EconomicMapImpl$CollisionLink, int)
{
int v, v, v, v, v;
org.graalvm.collections.EconomicMapImpl v;
boolean v, v, v;
org.graalvm.collections.EconomicMapImpl$CollisionLink v, v;
java.lang.Object v, v, v, v, v, v;
v := @this: org.graalvm.collections.EconomicMapImpl;
v := @parameter: java.lang.Object;
v := @parameter: org.graalvm.collections.EconomicMapImpl$CollisionLink;
v := @parameter: int;
v = v;
label:
v = v.<org.graalvm.collections.EconomicMapImpl$CollisionLink: int next>;
v = specialinvoke v.<org.graalvm.collections.EconomicMapImpl: java.lang.Object getKey(int)>(v);
v = specialinvoke v.<org.graalvm.collections.EconomicMapImpl: boolean compareKeys(java.lang.Object,java.lang.Object)>(v, v);
if v == 0 goto label;
v = specialinvoke v.<org.graalvm.collections.EconomicMapImpl: java.lang.Object getRawValue(int)>(v);
v = v instanceof org.graalvm.collections.EconomicMapImpl$CollisionLink;
if v == 0 goto label;
v = new org.graalvm.collections.EconomicMapImpl$CollisionLink;
v = v.<org.graalvm.collections.EconomicMapImpl$CollisionLink: java.lang.Object value>;
v = v.<org.graalvm.collections.EconomicMapImpl$CollisionLink: int next>;
specialinvoke v.<org.graalvm.collections.EconomicMapImpl$CollisionLink: void <init>(java.lang.Object,int)>(v, v);
specialinvoke v.<org.graalvm.collections.EconomicMapImpl: void setRawValue(int,java.lang.Object)>(v, v);
goto label;
label:
v = v.<org.graalvm.collections.EconomicMapImpl$CollisionLink: java.lang.Object value>;
specialinvoke v.<org.graalvm.collections.EconomicMapImpl: void setRawValue(int,java.lang.Object)>(v, v);
label:
return v;
label:
v = specialinvoke v.<org.graalvm.collections.EconomicMapImpl: java.lang.Object getRawValue(int)>(v);
v = v instanceof org.graalvm.collections.EconomicMapImpl$CollisionLink;
if v == 0 goto label;
specialinvoke v.<org.graalvm.collections.EconomicMapImpl: java.lang.Object getRawValue(int)>(v);
v = v;
goto label;
label:
v = (int) -1;
return v;
}
private int getHashIndex(java.lang.Object)
{
int v, v, v, v, v, v;
org.graalvm.collections.EconomicMapImpl v;
java.lang.Object v;
org.graalvm.collections.Equivalence v, v, v, v, v, v;
v := @this: org.graalvm.collections.EconomicMapImpl;
v := @parameter: java.lang.Object;
v = v.<org.graalvm.collections.EconomicMapImpl: org.graalvm.collections.Equivalence strategy>;
if v == null goto label;
v = v.<org.graalvm.collections.EconomicMapImpl: org.graalvm.collections.Equivalence strategy>;
v = <org.graalvm.collections.Equivalence: org.graalvm.collections.Equivalence DEFAULT>;
if v == v goto label;
v = v.<org.graalvm.collections.EconomicMapImpl: org.graalvm.collections.Equivalence strategy>;
v = <org.graalvm.collections.Equivalence: org.graalvm.collections.Equivalence IDENTITY_WITH_SYSTEM_HASHCODE>;
if v != v goto label;
v = staticinvoke <java.lang.System: int identityHashCode(java.lang.Object)>(v);
goto label;
label:
v = v.<org.graalvm.collections.EconomicMapImpl: org.graalvm.collections.Equivalence strategy>;
v = virtualinvoke v.<org.graalvm.collections.Equivalence: int hashCode(java.lang.Object)>(v);
goto label;
label:
v = virtualinvoke v.<java.lang.Object: int hashCode()>();
label:
v = v >>> 16;
v = v ^ v;
v = specialinvoke v.<org.graalvm.collections.EconomicMapImpl: int getHashTableSize()>();
v = v - 1;
v = v & v;
return v;
}
public java.lang.Object put(java.lang.Object, java.lang.Object)
{
java.lang.Object[] v, v, v, v;
java.lang.AssertionError v;
int v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
org.graalvm.collections.EconomicMapImpl v;
boolean v, v, v;
java.lang.Object v, v, v;
v := @this: org.graalvm.collections.EconomicMapImpl;
v := @parameter: java.lang.Object;
v := @parameter: java.lang.Object;
specialinvoke v.<org.graalvm.collections.EconomicMapImpl: void checkKeyNonNull(java.lang.Object)>(v);
v = specialinvoke v.<org.graalvm.collections.EconomicMapImpl: int find(java.lang.Object)>(v);
v = (int) -1;
if v == v goto label;
v = specialinvoke v.<org.graalvm.collections.EconomicMapImpl: java.lang.Object getValue(int)>(v);
specialinvoke v.<org.graalvm.collections.EconomicMapImpl: void setValue(int,java.lang.Object)>(v, v);
return v;
label:
v = v.<org.graalvm.collections.EconomicMapImpl: int totalEntries>;
v = v.<org.graalvm.collections.EconomicMapImpl: java.lang.Object[] entries>;
if v != null goto label;
v = newarray (java.lang.Object)[8];
v.<org.graalvm.collections.EconomicMapImpl: java.lang.Object[] entries> = v;
goto label;
label:
v = v.<org.graalvm.collections.EconomicMapImpl: java.lang.Object[] entries>;
v = lengthof v;
v = v << 1;
if v != v goto label;
specialinvoke v.<org.graalvm.collections.EconomicMapImpl: void grow()>();
v = <org.graalvm.collections.EconomicMapImpl: boolean $assertionsDisabled>;
if v != 0 goto label;
v = v.<org.graalvm.collections.EconomicMapImpl: java.lang.Object[] entries>;
v = lengthof v;
v = v.<org.graalvm.collections.EconomicMapImpl: int totalEntries>;
v = v << 1;
if v > v goto label;
v = new java.lang.AssertionError;
specialinvoke v.<java.lang.AssertionError: void <init>()>();
throw v;
label:
v = v.<org.graalvm.collections.EconomicMapImpl: int totalEntries>;
label:
specialinvoke v.<org.graalvm.collections.EconomicMapImpl: void setKey(int,java.lang.Object)>(v, v);
specialinvoke v.<org.graalvm.collections.EconomicMapImpl: void setValue(int,java.lang.Object)>(v, v);
v = v.<org.graalvm.collections.EconomicMapImpl: int totalEntries>;
v = v + 1;
v.<org.graalvm.collections.EconomicMapImpl: int totalEntries> = v;
v = specialinvoke v.<org.graalvm.collections.EconomicMapImpl: boolean hasHashArray()>();
if v == 0 goto label;
v = specialinvoke v.<org.graalvm.collections.EconomicMapImpl: int getHashTableSize()>();
v = virtualinvoke v.<org.graalvm.collections.EconomicMapImpl: int size()>();
v = virtualinvoke v.<org.graalvm.collections.EconomicMapImpl: int size()>();
v = v >> 1;
v = v + v;
if v >= v goto label;
v = 1;
goto label;
label:
v = 0;
label:
specialinvoke v.<org.graalvm.collections.EconomicMapImpl: void putHashEntry(java.lang.Object,int,boolean)>(v, v, v);
goto label;
label:
v = v.<org.graalvm.collections.EconomicMapImpl: int totalEntries>;
v = specialinvoke v.<org.graalvm.collections.EconomicMapImpl: int getHashThreshold()>();
if v <= v goto label;
specialinvoke v.<org.graalvm.collections.EconomicMapImpl: void createHash()>();
label:
return null;
}
private int getHashThreshold()
{
org.graalvm.collections.EconomicMapImpl v;
org.graalvm.collections.Equivalence v, v, v;
v := @this: org.graalvm.collections.EconomicMapImpl;
v = v.<org.graalvm.collections.EconomicMapImpl: org.graalvm.collections.Equivalence strategy>;
if v == null goto label;
v = v.<org.graalvm.collections.EconomicMapImpl: org.graalvm.collections.Equivalence strategy>;
v = <org.graalvm.collections.Equivalence: org.graalvm.collections.Equivalence IDENTITY_WITH_SYSTEM_HASHCODE>;
if v != v goto label;
label:
return 8;
label:
return 4;
}
private void grow()
{
java.lang.UnsupportedOperationException v;
java.lang.Object[] v, v, v;
int v, v, v, v, v, v, v, v;
org.graalvm.collections.EconomicMapImpl v;
v := @this: org.graalvm.collections.EconomicMapImpl;
v = v.<org.graalvm.collections.EconomicMapImpl: java.lang.Object[] entries>;
v = lengthof v;
v = v >> 1;
v = v >> 2;
v = staticinvoke <java.lang.Math: int max(int,int)>(8, v);
v = v + v;
if v <= 1073741823 goto label;
v = new java.lang.UnsupportedOperationException;
specialinvoke v.<java.lang.UnsupportedOperationException: void <init>(java.lang.String)>("map grown too large!");
throw v;
label:
v = v << 1;
v = newarray (java.lang.Object)[v];
v = v.<org.graalvm.collections.EconomicMapImpl: java.lang.Object[] entries>;
staticinvoke <java.lang.System: void arraycopy(java.lang.Object,int,java.lang.Object,int,int)>(v, 0, v, 0, v);
v.<org.graalvm.collections.EconomicMapImpl: java.lang.Object[] entries> = v;
if v >= 512 goto label;
v = lengthof v;
if v >= 512 goto label;
label:
if v >= 131072 goto label;
v = lengthof v;
if v <= 131072 goto label;
label:
specialinvoke v.<org.graalvm.collections.EconomicMapImpl: void createHash()>();
label:
return;
}
private int maybeCompress(int)
{
java.lang.Object[] v;
int v, v, v, v, v, v, v, v, v;
org.graalvm.collections.EconomicMapImpl v;
v := @this: org.graalvm.collections.EconomicMapImpl;
v := @parameter: int;
v = v.<org.graalvm.collections.EconomicMapImpl: java.lang.Object[] entries>;
v = lengthof v;
if v == 8 goto label;
v = v.<org.graalvm.collections.EconomicMapImpl: int deletedEntries>;
v = v.<org.graalvm.collections.EconomicMapImpl: int totalEntries>;
v = v >> 1;
v = v.<org.graalvm.collections.EconomicMapImpl: int totalEntries>;
v = v >> 2;
v = v + v;
if v < v goto label;
v = specialinvoke v.<org.graalvm.collections.EconomicMapImpl: int compressLarge(int)>(v);
return v;
label:
return v;
}
private int compressLarge(int)
{
java.lang.Object[] v;
int v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
org.graalvm.collections.EconomicMapImpl v;
java.lang.Object v, v;
v := @this: org.graalvm.collections.EconomicMapImpl;
v := @parameter: int;
v = 4;
v = v.<org.graalvm.collections.EconomicMapImpl: int totalEntries>;
v = v.<org.graalvm.collections.EconomicMapImpl: int deletedEntries>;
v = v - v;
label:
if v > v goto label;
v = v >> 1;
v = staticinvoke <java.lang.Math: int max(int,int)>(8, v);
v = v + v;
goto label;
label:
v = v << 1;
v = newarray (java.lang.Object)[v];
v = 0;
v = v;
v = 0;
label:
v = v.<org.graalvm.collections.EconomicMapImpl: int totalEntries>;
if v >= v goto label;
v = specialinvoke v.<org.graalvm.collections.EconomicMapImpl: java.lang.Object getKey(int)>(v);
if v != v goto label;
v = v;
label:
if v == null goto label;
v = v << 1;
v[v] = v;
v = v << 1;
v = v + 1;
v = specialinvoke v.<org.graalvm.collections.EconomicMapImpl: java.lang.Object getValue(int)>(v);
v[v] = v;
v = v + 1;
label:
v = v + 1;
goto label;
label:
v.<org.graalvm.collections.EconomicMapImpl: java.lang.Object[] entries> = v;
v.<org.graalvm.collections.EconomicMapImpl: int totalEntries> = v;
v.<org.graalvm.collections.EconomicMapImpl: int deletedEntries> = 0;
v = specialinvoke v.<org.graalvm.collections.EconomicMapImpl: int getHashThreshold()>();
if v > v goto label;
v.<org.graalvm.collections.EconomicMapImpl: byte[] hashArray> = null;
goto label;
label:
specialinvoke v.<org.graalvm.collections.EconomicMapImpl: void createHash()>();
label:
return v;
}
private int getHashTableSize()
{
byte[] v, v, v;
java.lang.Object[] v, v;
int v, v, v, v, v, v, v;
org.graalvm.collections.EconomicMapImpl v;
v := @this: org.graalvm.collections.EconomicMapImpl;
v = v.<org.graalvm.collections.EconomicMapImpl: java.lang.Object[] entries>;
v = lengthof v;
if v >= 512 goto label;
v = v.<org.graalvm.collections.EconomicMapImpl: byte[] hashArray>;
v = lengthof v;
return v;
label:
v = v.<org.graalvm.collections.EconomicMapImpl: java.lang.Object[] entries>;
v = lengthof v;
if v >= 131072 goto label;
v = v.<org.graalvm.collections.EconomicMapImpl: byte[] hashArray>;
v = lengthof v;
v = v >> 1;
return v;
label:
v = v.<org.graalvm.collections.EconomicMapImpl: byte[] hashArray>;
v = lengthof v;
v = v >> 2;
return v;
}
private void createHash()
{
byte[] v;
java.lang.Object[] v, v;
int v, v, v, v, v, v, v, v;
org.graalvm.collections.EconomicMapImpl v;
java.lang.Object v;
v := @this: org.graalvm.collections.EconomicMapImpl;
v = virtualinvoke v.<org.graalvm.collections.EconomicMapImpl: int size()>();
v = specialinvoke v.<org.graalvm.collections.EconomicMapImpl: int getHashThreshold()>();
label:
if v > v goto label;
v = v << 1;
goto label;
label:
v = v << 1;
v = v.<org.graalvm.collections.EconomicMapImpl: java.lang.Object[] entries>;
v = lengthof v;
if v < 131072 goto label;
v = v << 2;
goto label;
label:
v = v.<org.graalvm.collections.EconomicMapImpl: java.lang.Object[] entries>;
v = lengthof v;
if v < 512 goto label;
v = v << 1;
goto label;
label:
v = v << 1;
label:
v = newarray (byte)[v];
v.<org.graalvm.collections.EconomicMapImpl: byte[] hashArray> = v;
v = 0;
label:
v = v.<org.graalvm.collections.EconomicMapImpl: int totalEntries>;
if v >= v goto label;
v = specialinvoke v.<org.graalvm.collections.EconomicMapImpl: java.lang.Object getKey(int)>(v);
if v == null goto label;
specialinvoke v.<org.graalvm.collections.EconomicMapImpl: void putHashEntry(java.lang.Object,int,boolean)>(v, v, 0);
label:
v = v + 1;
goto label;
label:
return;
}
private void putHashEntry(java.lang.Object, int, boolean)
{
java.lang.AssertionError v;
int v, v, v, v, v, v, v;
org.graalvm.collections.EconomicMapImpl v;
boolean v, v, v, v;
org.graalvm.collections.EconomicMapImpl$CollisionLink v, v;
java.lang.Object v, v, v, v, v;
v := @this: org.graalvm.collections.EconomicMapImpl;
v := @parameter: java.lang.Object;
v := @parameter: int;
v := @parameter: boolean;
v = specialinvoke v.<org.graalvm.collections.EconomicMapImpl: int getHashIndex(java.lang.Object)>(v);
v = specialinvoke v.<org.graalvm.collections.EconomicMapImpl: int getHashArray(int)>(v);
v = v - 1;
v = (int) -1;
if v == v goto label;
if v == 0 goto label;
specialinvoke v.<org.graalvm.collections.EconomicMapImpl: void createHash()>();
return;
label:
v = v + 1;
specialinvoke v.<org.graalvm.collections.EconomicMapImpl: void setHashArray(int,int)>(v, v);
v = specialinvoke v.<org.graalvm.collections.EconomicMapImpl: java.lang.Object getRawValue(int)>(v);
v = (int) -1;
if v == v goto label;
v = <org.graalvm.collections.EconomicMapImpl: boolean $assertionsDisabled>;
if v != 0 goto label;
if v != v goto label;
v = new java.lang.AssertionError;
specialinvoke v.<java.lang.AssertionError: void <init>(java.lang.Object)>("this cannot happen and would create an endless collision link cycle");
throw v;
label:
v = v instanceof org.graalvm.collections.EconomicMapImpl$CollisionLink;
if v == 0 goto label;
v = new org.graalvm.collections.EconomicMapImpl$CollisionLink;
v = v.<org.graalvm.collections.EconomicMapImpl$CollisionLink: java.lang.Object value>;
specialinvoke v.<org.graalvm.collections.EconomicMapImpl$CollisionLink: void <init>(java.lang.Object,int)>(v, v);
specialinvoke v.<org.graalvm.collections.EconomicMapImpl: void setRawValue(int,java.lang.Object)>(v, v);
goto label;
label:
v = new org.graalvm.collections.EconomicMapImpl$CollisionLink;
v = specialinvoke v.<org.graalvm.collections.EconomicMapImpl: java.lang.Object getRawValue(int)>(v);
specialinvoke v.<org.graalvm.collections.EconomicMapImpl$CollisionLink: void <init>(java.lang.Object,int)>(v, v);
specialinvoke v.<org.graalvm.collections.EconomicMapImpl: void setRawValue(int,java.lang.Object)>(v, v);
goto label;
label:
v = v instanceof org.graalvm.collections.EconomicMapImpl$CollisionLink;
if v == 0 goto label;
v = v.<org.graalvm.collections.EconomicMapImpl$CollisionLink: java.lang.Object value>;
specialinvoke v.<org.graalvm.collections.EconomicMapImpl: void setRawValue(int,java.lang.Object)>(v, v);
label:
return;
}
public int size()
{
int v, v, v;
org.graalvm.collections.EconomicMapImpl v;
v := @this: org.graalvm.collections.EconomicMapImpl;
v = v.<org.graalvm.collections.EconomicMapImpl: int totalEntries>;
v = v.<org.graalvm.collections.EconomicMapImpl: int deletedEntries>;
v = v - v;
return v;
}
public boolean containsKey(java.lang.Object)
{
int v, v;
org.graalvm.collections.EconomicMapImpl v;
java.lang.Object v;
boolean v;
v := @this: org.graalvm.collections.EconomicMapImpl;
v := @parameter: java.lang.Object;
v = specialinvoke v.<org.graalvm.collections.EconomicMapImpl: int find(java.lang.Object)>(v);
v = (int) -1;
if v == v goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
public void clear()
{
org.graalvm.collections.EconomicMapImpl v;
v := @this: org.graalvm.collections.EconomicMapImpl;
v.<org.graalvm.collections.EconomicMapImpl: java.lang.Object[] entries> = null;
v.<org.graalvm.collections.EconomicMapImpl: byte[] hashArray> = null;
v.<org.graalvm.collections.EconomicMapImpl: int deletedEntries> = 0;
v.<org.graalvm.collections.EconomicMapImpl: int totalEntries> = 0;
return;
}
private boolean hasHashArray()
{
org.graalvm.collections.EconomicMapImpl v;
byte[] v;
boolean v;
v := @this: org.graalvm.collections.EconomicMapImpl;
v = v.<org.graalvm.collections.EconomicMapImpl: byte[] hashArray>;
if v == null goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
public java.lang.Object removeKey(java.lang.Object)
{
int v, v;
org.graalvm.collections.EconomicMapImpl v;
java.lang.Object v, v;
boolean v;
v := @this: org.graalvm.collections.EconomicMapImpl;
v := @parameter: java.lang.Object;
specialinvoke v.<org.graalvm.collections.EconomicMapImpl: void checkKeyNonNull(java.lang.Object)>(v);
v = specialinvoke v.<org.graalvm.collections.EconomicMapImpl: boolean hasHashArray()>();
if v == 0 goto label;
v = specialinvoke v.<org.graalvm.collections.EconomicMapImpl: int findAndRemoveHash(java.lang.Object)>(v);
goto label;
label:
v = specialinvoke v.<org.graalvm.collections.EconomicMapImpl: int findLinear(java.lang.Object)>(v);
label:
v = (int) -1;
if v == v goto label;
v = specialinvoke v.<org.graalvm.collections.EconomicMapImpl: java.lang.Object getValue(int)>(v);
specialinvoke v.<org.graalvm.collections.EconomicMapImpl: int remove(int)>(v);
return v;
label:
return null;
}
private void checkKeyNonNull(java.lang.Object)
{
org.graalvm.collections.EconomicMapImpl v;
java.lang.UnsupportedOperationException v;
java.lang.Object v;
v := @this: org.graalvm.collections.EconomicMapImpl;
v := @parameter: java.lang.Object;
if v != null goto label;
v = new java.lang.UnsupportedOperationException;
specialinvoke v.<java.lang.UnsupportedOperationException: void <init>(java.lang.String)>("null not supported as key!");
throw v;
label:
return;
}
private int remove(int)
{
int v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
org.graalvm.collections.EconomicMapImpl v;
boolean v;
java.lang.Object v, v, v;
v := @this: org.graalvm.collections.EconomicMapImpl;
v := @parameter: int;
v = v;
v = v.<org.graalvm.collections.EconomicMapImpl: int totalEntries>;
v = v - v;
v = v - 1;
v = v + 1;
if v > 8 goto label;
v = specialinvoke v.<org.graalvm.collections.EconomicMapImpl: boolean hasHashArray()>();
if v != 0 goto label;
label:
v = v.<org.graalvm.collections.EconomicMapImpl: int totalEntries>;
v = v - 1;
if v >= v goto label;
v = v + 1;
v = specialinvoke v.<org.graalvm.collections.EconomicMapImpl: java.lang.Object getKey(int)>(v);
specialinvoke v.<org.graalvm.collections.EconomicMapImpl: void setKey(int,java.lang.Object)>(v, v);
v = v + 1;
v = specialinvoke v.<org.graalvm.collections.EconomicMapImpl: java.lang.Object getRawValue(int)>(v);
specialinvoke v.<org.graalvm.collections.EconomicMapImpl: void setRawValue(int,java.lang.Object)>(v, v);
v = v + 1;
goto label;
label:
v = v - 1;
label:
specialinvoke v.<org.graalvm.collections.EconomicMapImpl: void setKey(int,java.lang.Object)>(v, null);
specialinvoke v.<org.graalvm.collections.EconomicMapImpl: void setRawValue(int,java.lang.Object)>(v, null);
v = v.<org.graalvm.collections.EconomicMapImpl: int totalEntries>;
v = v - 1;
if v != v goto label;
v = v.<org.graalvm.collections.EconomicMapImpl: int totalEntries>;
v = v - 1;
v.<org.graalvm.collections.EconomicMapImpl: int totalEntries> = v;
label:
if v <= 0 goto label;
v = v - 1;
v = specialinvoke v.<org.graalvm.collections.EconomicMapImpl: java.lang.Object getKey(int)>(v);
if v != null goto label;
v = v.<org.graalvm.collections.EconomicMapImpl: int totalEntries>;
v = v - 1;
v.<org.graalvm.collections.EconomicMapImpl: int totalEntries> = v;
v = v.<org.graalvm.collections.EconomicMapImpl: int deletedEntries>;
v = v - 1;
v.<org.graalvm.collections.EconomicMapImpl: int deletedEntries> = v;
v = v - 1;
goto label;
label:
v = v.<org.graalvm.collections.EconomicMapImpl: int deletedEntries>;
v = v + 1;
v.<org.graalvm.collections.EconomicMapImpl: int deletedEntries> = v;
v = specialinvoke v.<org.graalvm.collections.EconomicMapImpl: int maybeCompress(int)>(v);
label:
return v;
}
public java.lang.Iterable getValues()
{
org.graalvm.collections.EconomicMapImpl v;
org.graalvm.collections.EconomicMapImpl$1 v;
v := @this: org.graalvm.collections.EconomicMapImpl;
v = new org.graalvm.collections.EconomicMapImpl$1;
specialinvoke v.<org.graalvm.collections.EconomicMapImpl$1: void <init>(org.graalvm.collections.EconomicMapImpl)>(v);
return v;
}
public java.lang.Iterable getKeys()
{
org.graalvm.collections.EconomicMapImpl v;
v := @this: org.graalvm.collections.EconomicMapImpl;
return v;
}
public boolean isEmpty()
{
int v;
org.graalvm.collections.EconomicMapImpl v;
boolean v;
v := @this: org.graalvm.collections.EconomicMapImpl;
v = virtualinvoke v.<org.graalvm.collections.EconomicMapImpl: int size()>();
if v != 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
public org.graalvm.collections.MapCursor getEntries()
{
org.graalvm.collections.EconomicMapImpl v;
org.graalvm.collections.EconomicMapImpl$2 v;
v := @this: org.graalvm.collections.EconomicMapImpl;
v = new org.graalvm.collections.EconomicMapImpl$2;
specialinvoke v.<org.graalvm.collections.EconomicMapImpl$2: void <init>(org.graalvm.collections.EconomicMapImpl)>(v);
return v;
}
public void replaceAll(java.util.function.BiFunction)
{
java.util.function.BiFunction v;
int v, v;
org.graalvm.collections.EconomicMapImpl v;
java.lang.Object v, v, v;
v := @this: org.graalvm.collections.EconomicMapImpl;
v := @parameter: java.util.function.BiFunction;
v = 0;
label:
v = v.<org.graalvm.collections.EconomicMapImpl: int totalEntries>;
if v >= v goto label;
v = specialinvoke v.<org.graalvm.collections.EconomicMapImpl: java.lang.Object getKey(int)>(v);
if v == null goto label;
v = specialinvoke v.<org.graalvm.collections.EconomicMapImpl: java.lang.Object getValue(int)>(v);
v = interfaceinvoke v.<java.util.function.BiFunction: java.lang.Object apply(java.lang.Object,java.lang.Object)>(v, v);
specialinvoke v.<org.graalvm.collections.EconomicMapImpl: void setValue(int,java.lang.Object)>(v, v);
label:
v = v + 1;
goto label;
label:
return;
}
private java.lang.Object getKey(int)
{
java.lang.Object[] v;
int v, v;
org.graalvm.collections.EconomicMapImpl v;
java.lang.Object v;
v := @this: org.graalvm.collections.EconomicMapImpl;
v := @parameter: int;
v = v.<org.graalvm.collections.EconomicMapImpl: java.lang.Object[] entries>;
v = v << 1;
v = v[v];
return v;
}
private void setKey(int, java.lang.Object)
{
java.lang.Object[] v;
int v, v;
org.graalvm.collections.EconomicMapImpl v;
java.lang.Object v;
v := @this: org.graalvm.collections.EconomicMapImpl;
v := @parameter: int;
v := @parameter: java.lang.Object;
v = v.<org.graalvm.collections.EconomicMapImpl: java.lang.Object[] entries>;
v = v << 1;
v[v] = v;
return;
}
private void setValue(int, java.lang.Object)
{
org.graalvm.collections.EconomicMapImpl$CollisionLink v;
int v, v;
org.graalvm.collections.EconomicMapImpl v;
java.lang.Object v, v;
boolean v;
v := @this: org.graalvm.collections.EconomicMapImpl;
v := @parameter: int;
v := @parameter: java.lang.Object;
v = specialinvoke v.<org.graalvm.collections.EconomicMapImpl: java.lang.Object getRawValue(int)>(v);
v = v instanceof org.graalvm.collections.EconomicMapImpl$CollisionLink;
if v == 0 goto label;
v = new org.graalvm.collections.EconomicMapImpl$CollisionLink;
v = v.<org.graalvm.collections.EconomicMapImpl$CollisionLink: int next>;
specialinvoke v.<org.graalvm.collections.EconomicMapImpl$CollisionLink: void <init>(java.lang.Object,int)>(v, v);
specialinvoke v.<org.graalvm.collections.EconomicMapImpl: void setRawValue(int,java.lang.Object)>(v, v);
goto label;
label:
specialinvoke v.<org.graalvm.collections.EconomicMapImpl: void setRawValue(int,java.lang.Object)>(v, v);
label:
return;
}
private void setRawValue(int, java.lang.Object)
{
java.lang.Object[] v;
int v, v, v;
org.graalvm.collections.EconomicMapImpl v;
java.lang.Object v;
v := @this: org.graalvm.collections.EconomicMapImpl;
v := @parameter: int;
v := @parameter: java.lang.Object;
v = v.<org.graalvm.collections.EconomicMapImpl: java.lang.Object[] entries>;
v = v << 1;
v = v + 1;
v[v] = v;
return;
}
private java.lang.Object getRawValue(int)
{
java.lang.Object[] v;
int v, v, v;
org.graalvm.collections.EconomicMapImpl v;
java.lang.Object v;
v := @this: org.graalvm.collections.EconomicMapImpl;
v := @parameter: int;
v = v.<org.graalvm.collections.EconomicMapImpl: java.lang.Object[] entries>;
v = v << 1;
v = v + 1;
v = v[v];
return v;
}
private java.lang.Object getValue(int)
{
int v;
org.graalvm.collections.EconomicMapImpl v;
java.lang.Object v, v;
boolean v;
v := @this: org.graalvm.collections.EconomicMapImpl;
v := @parameter: int;
v = specialinvoke v.<org.graalvm.collections.EconomicMapImpl: java.lang.Object getRawValue(int)>(v);
v = v instanceof org.graalvm.collections.EconomicMapImpl$CollisionLink;
if v == 0 goto label;
v = v.<org.graalvm.collections.EconomicMapImpl$CollisionLink: java.lang.Object value>;
return v;
label:
return v;
}
public java.lang.String toString()
{
int v;
org.graalvm.collections.EconomicMapImpl v;
java.lang.String v, v, v;
boolean v, v, v;
org.graalvm.collections.MapCursor v;
java.lang.Object v, v, v;
java.lang.StringBuilder v, v, v, v, v, v, v;
v := @this: org.graalvm.collections.EconomicMapImpl;
v = new java.lang.StringBuilder;
specialinvoke v.<java.lang.StringBuilder: void <init>()>();
v = v.<org.graalvm.collections.EconomicMapImpl: boolean isSet>;
if v == 0 goto label;
v = "set(size=";
goto label;
label:
v = "map(size=";
label:
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
v = virtualinvoke v.<org.graalvm.collections.EconomicMapImpl: int size()>();
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(int)>(v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(", {");
v = "";
v = virtualinvoke v.<org.graalvm.collections.EconomicMapImpl: org.graalvm.collections.MapCursor getEntries()>();
label:
v = interfaceinvoke v.<org.graalvm.collections.MapCursor: boolean advance()>();
if v == 0 goto label;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
v = v.<org.graalvm.collections.EconomicMapImpl: boolean isSet>;
if v == 0 goto label;
v = interfaceinvoke v.<org.graalvm.collections.MapCursor: java.lang.Object getKey()>();
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.Object)>(v);
goto label;
label:
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("(");
v = interfaceinvoke v.<org.graalvm.collections.MapCursor: java.lang.Object getKey()>();
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.Object)>(v);
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(",");
v = interfaceinvoke v.<org.graalvm.collections.MapCursor: java.lang.Object getValue()>();
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.Object)>(v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(")");
label:
v = ",";
goto label;
label:
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("})");
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.String toString()>();
return v;
}
public java.util.Iterator iterator()
{
org.graalvm.collections.EconomicMapImpl v;
org.graalvm.collections.EconomicMapImpl$3 v;
v := @this: org.graalvm.collections.EconomicMapImpl;
v = new org.graalvm.collections.EconomicMapImpl$3;
specialinvoke v.<org.graalvm.collections.EconomicMapImpl$3: void <init>(org.graalvm.collections.EconomicMapImpl)>(v);
return v;
}
public boolean contains(java.lang.Object)
{
org.graalvm.collections.EconomicMapImpl v;
java.lang.Object v;
boolean v;
v := @this: org.graalvm.collections.EconomicMapImpl;
v := @parameter: java.lang.Object;
v = virtualinvoke v.<org.graalvm.collections.EconomicMapImpl: boolean containsKey(java.lang.Object)>(v);
return v;
}
public boolean add(java.lang.Object)
{
org.graalvm.collections.EconomicMapImpl v;
java.lang.Object v, v;
boolean v;
v := @this: org.graalvm.collections.EconomicMapImpl;
v := @parameter: java.lang.Object;
v = virtualinvoke v.<org.graalvm.collections.EconomicMapImpl: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
if v != null goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
public void remove(java.lang.Object)
{
org.graalvm.collections.EconomicMapImpl v;
java.lang.Object v;
v := @this: org.graalvm.collections.EconomicMapImpl;
v := @parameter: java.lang.Object;
virtualinvoke v.<org.graalvm.collections.EconomicMapImpl: java.lang.Object removeKey(java.lang.Object)>(v);
return;
}
static void <clinit>()
{
java.lang.Class v;
boolean v, v;
v = class "Lorg/graalvm/collections/EconomicMapImpl;";
v = virtualinvoke v.<java.lang.Class: boolean desiredAssertionStatus()>();
if v != 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
<org.graalvm.collections.EconomicMapImpl: boolean $assertionsDisabled> = v;
return;
}
}