public class org.apache.activemq.store.kahadb.disk.index.HashIndex extends java.lang.Object implements org.apache.activemq.store.kahadb.disk.index.Index
{
public static final int CLOSED_STATE;
public static final int OPEN_STATE;
private static final org.slf4j.Logger LOG;
public static final int DEFAULT_BIN_CAPACITY;
public static final int DEFAULT_MAXIMUM_BIN_CAPACITY;
public static final int DEFAULT_MINIMUM_BIN_CAPACITY;
public static final int DEFAULT_LOAD_FACTOR;
private java.util.concurrent.atomic.AtomicBoolean loaded;
private int increaseThreshold;
private int decreaseThreshold;
private int maximumBinCapacity;
private int minimumBinCapacity;
private int loadFactor;
private org.apache.activemq.store.kahadb.disk.page.PageFile pageFile;
private long pageId;
private org.apache.activemq.store.kahadb.disk.index.HashIndex$Metadata metadata;
private org.apache.activemq.store.kahadb.disk.index.HashIndex$Metadata$Marshaller metadataMarshaller;
private org.apache.activemq.store.kahadb.disk.index.HashBin$Marshaller hashBinMarshaller;
private volatile org.apache.activemq.store.kahadb.disk.util.Marshaller keyMarshaller;
private org.apache.activemq.store.kahadb.disk.util.Marshaller valueMarshaller;
public void <init>(org.apache.activemq.store.kahadb.disk.page.PageFile, long) throws java.io.IOException
{
org.apache.activemq.store.kahadb.disk.index.HashIndex$Metadata v;
java.util.concurrent.atomic.AtomicBoolean v;
long v;
int v, v, v;
org.apache.activemq.store.kahadb.disk.index.HashIndex$Metadata$Marshaller v;
org.apache.activemq.store.kahadb.disk.index.HashBin$Marshaller v;
org.apache.activemq.store.kahadb.disk.page.PageFile v;
org.apache.activemq.store.kahadb.disk.index.HashIndex v;
v := @this: org.apache.activemq.store.kahadb.disk.index.HashIndex;
v := @parameter: org.apache.activemq.store.kahadb.disk.page.PageFile;
v := @parameter: long;
specialinvoke v.<java.lang.Object: void <init>()>();
v = new java.util.concurrent.atomic.AtomicBoolean;
specialinvoke v.<java.util.concurrent.atomic.AtomicBoolean: void <init>()>();
v.<org.apache.activemq.store.kahadb.disk.index.HashIndex: java.util.concurrent.atomic.AtomicBoolean loaded> = v;
v = <org.apache.activemq.store.kahadb.disk.index.HashIndex: int DEFAULT_MAXIMUM_BIN_CAPACITY>;
v.<org.apache.activemq.store.kahadb.disk.index.HashIndex: int maximumBinCapacity> = v;
v = <org.apache.activemq.store.kahadb.disk.index.HashIndex: int DEFAULT_MINIMUM_BIN_CAPACITY>;
v.<org.apache.activemq.store.kahadb.disk.index.HashIndex: int minimumBinCapacity> = v;
v = <org.apache.activemq.store.kahadb.disk.index.HashIndex: int DEFAULT_LOAD_FACTOR>;
v.<org.apache.activemq.store.kahadb.disk.index.HashIndex: int loadFactor> = v;
v = new org.apache.activemq.store.kahadb.disk.index.HashIndex$Metadata;
specialinvoke v.<org.apache.activemq.store.kahadb.disk.index.HashIndex$Metadata: void <init>()>();
v.<org.apache.activemq.store.kahadb.disk.index.HashIndex: org.apache.activemq.store.kahadb.disk.index.HashIndex$Metadata metadata> = v;
v = new org.apache.activemq.store.kahadb.disk.index.HashIndex$Metadata$Marshaller;
specialinvoke v.<org.apache.activemq.store.kahadb.disk.index.HashIndex$Metadata$Marshaller: void <init>()>();
v.<org.apache.activemq.store.kahadb.disk.index.HashIndex: org.apache.activemq.store.kahadb.disk.index.HashIndex$Metadata$Marshaller metadataMarshaller> = v;
v = new org.apache.activemq.store.kahadb.disk.index.HashBin$Marshaller;
specialinvoke v.<org.apache.activemq.store.kahadb.disk.index.HashBin$Marshaller: void <init>(org.apache.activemq.store.kahadb.disk.index.HashIndex)>(v);
v.<org.apache.activemq.store.kahadb.disk.index.HashIndex: org.apache.activemq.store.kahadb.disk.index.HashBin$Marshaller hashBinMarshaller> = v;
v.<org.apache.activemq.store.kahadb.disk.index.HashIndex: org.apache.activemq.store.kahadb.disk.page.PageFile pageFile> = v;
v.<org.apache.activemq.store.kahadb.disk.index.HashIndex: long pageId> = v;
return;
}
public synchronized void load(org.apache.activemq.store.kahadb.disk.page.Transaction) throws java.io.IOException
{
boolean v;
org.apache.activemq.store.kahadb.disk.index.HashIndex$Metadata v, v, v, v, v, v, v, v, v, v, v, v, v;
org.apache.activemq.store.kahadb.disk.index.HashIndex$Metadata$Marshaller v, v;
java.util.concurrent.atomic.AtomicBoolean v;
long v, v, v;
short v;
int v, v, v, v, v, v, v, v;
java.lang.String v;
org.apache.activemq.store.kahadb.disk.index.HashIndex v;
org.slf4j.Logger v;
org.apache.activemq.store.kahadb.disk.page.Page v, v;
java.lang.Object v;
org.apache.activemq.store.kahadb.disk.page.Transaction v;
v := @this: org.apache.activemq.store.kahadb.disk.index.HashIndex;
v := @parameter: org.apache.activemq.store.kahadb.disk.page.Transaction;
v = v.<org.apache.activemq.store.kahadb.disk.index.HashIndex: java.util.concurrent.atomic.AtomicBoolean loaded>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: boolean compareAndSet(boolean,boolean)>(0, 1);
if v == 0 goto label;
v = v.<org.apache.activemq.store.kahadb.disk.index.HashIndex: long pageId>;
v = v.<org.apache.activemq.store.kahadb.disk.index.HashIndex: org.apache.activemq.store.kahadb.disk.index.HashIndex$Metadata$Marshaller metadataMarshaller>;
v = virtualinvoke v.<org.apache.activemq.store.kahadb.disk.page.Transaction: org.apache.activemq.store.kahadb.disk.page.Page load(long,org.apache.activemq.store.kahadb.disk.util.Marshaller)>(v, v);
v = virtualinvoke v.<org.apache.activemq.store.kahadb.disk.page.Page: short getType()>();
if v != 0 goto label;
v = v.<org.apache.activemq.store.kahadb.disk.index.HashIndex: org.apache.activemq.store.kahadb.disk.index.HashIndex$Metadata metadata>;
v = v.<org.apache.activemq.store.kahadb.disk.index.HashIndex$Metadata: int binCapacity>;
v = virtualinvoke v.<org.apache.activemq.store.kahadb.disk.page.Transaction: org.apache.activemq.store.kahadb.disk.page.Page allocate(int)>(v);
v = v.<org.apache.activemq.store.kahadb.disk.index.HashIndex: org.apache.activemq.store.kahadb.disk.index.HashIndex$Metadata metadata>;
v = virtualinvoke v.<org.apache.activemq.store.kahadb.disk.page.Page: long getPageId()>();
v.<org.apache.activemq.store.kahadb.disk.index.HashIndex$Metadata: long binPageId> = v;
v = v.<org.apache.activemq.store.kahadb.disk.index.HashIndex: org.apache.activemq.store.kahadb.disk.index.HashIndex$Metadata metadata>;
v.<org.apache.activemq.store.kahadb.disk.index.HashIndex$Metadata: org.apache.activemq.store.kahadb.disk.page.Page page> = v;
v = v.<org.apache.activemq.store.kahadb.disk.index.HashIndex: org.apache.activemq.store.kahadb.disk.index.HashIndex$Metadata metadata>;
virtualinvoke v.<org.apache.activemq.store.kahadb.disk.page.Page: void set(java.lang.Object)>(v);
virtualinvoke v.<org.apache.activemq.store.kahadb.disk.index.HashIndex: void clear(org.apache.activemq.store.kahadb.disk.page.Transaction)>(v);
goto label;
label:
v = virtualinvoke v.<org.apache.activemq.store.kahadb.disk.page.Page: java.lang.Object get()>();
v.<org.apache.activemq.store.kahadb.disk.index.HashIndex: org.apache.activemq.store.kahadb.disk.index.HashIndex$Metadata metadata> = v;
v = v.<org.apache.activemq.store.kahadb.disk.index.HashIndex: org.apache.activemq.store.kahadb.disk.index.HashIndex$Metadata metadata>;
v.<org.apache.activemq.store.kahadb.disk.index.HashIndex$Metadata: org.apache.activemq.store.kahadb.disk.page.Page page> = v;
v = v.<org.apache.activemq.store.kahadb.disk.index.HashIndex: org.apache.activemq.store.kahadb.disk.index.HashIndex$Metadata metadata>;
v = v.<org.apache.activemq.store.kahadb.disk.index.HashIndex$Metadata: int state>;
if v != 2 goto label;
v = v.<org.apache.activemq.store.kahadb.disk.index.HashIndex: org.apache.activemq.store.kahadb.disk.index.HashIndex$Metadata metadata>;
v.<org.apache.activemq.store.kahadb.disk.index.HashIndex$Metadata: int size> = 0;
v = 0;
label:
v = v.<org.apache.activemq.store.kahadb.disk.index.HashIndex: org.apache.activemq.store.kahadb.disk.index.HashIndex$Metadata metadata>;
v = v.<org.apache.activemq.store.kahadb.disk.index.HashIndex$Metadata: int binCapacity>;
if v >= v goto label;
v = specialinvoke v.<org.apache.activemq.store.kahadb.disk.index.HashIndex: int sizeOfBin(org.apache.activemq.store.kahadb.disk.page.Transaction,int)>(v, v);
if v <= 0 goto label;
v = v.<org.apache.activemq.store.kahadb.disk.index.HashIndex: org.apache.activemq.store.kahadb.disk.index.HashIndex$Metadata metadata>;
staticinvoke <org.apache.activemq.store.kahadb.disk.index.HashIndex$Metadata: int access$508(org.apache.activemq.store.kahadb.disk.index.HashIndex$Metadata)>(v);
label:
v = v.<org.apache.activemq.store.kahadb.disk.index.HashIndex: org.apache.activemq.store.kahadb.disk.index.HashIndex$Metadata metadata>;
v = v.<org.apache.activemq.store.kahadb.disk.index.HashIndex$Metadata: int size>;
v = v + v;
v.<org.apache.activemq.store.kahadb.disk.index.HashIndex$Metadata: int size> = v;
v = v + 1;
goto label;
label:
specialinvoke v.<org.apache.activemq.store.kahadb.disk.index.HashIndex: void calcThresholds()>();
v = v.<org.apache.activemq.store.kahadb.disk.index.HashIndex: org.apache.activemq.store.kahadb.disk.index.HashIndex$Metadata metadata>;
v.<org.apache.activemq.store.kahadb.disk.index.HashIndex$Metadata: int state> = 2;
v = v.<org.apache.activemq.store.kahadb.disk.index.HashIndex: org.apache.activemq.store.kahadb.disk.index.HashIndex$Metadata$Marshaller metadataMarshaller>;
virtualinvoke v.<org.apache.activemq.store.kahadb.disk.page.Transaction: void store(org.apache.activemq.store.kahadb.disk.page.Page,org.apache.activemq.store.kahadb.disk.util.Marshaller,boolean)>(v, v, 1);
v = <org.apache.activemq.store.kahadb.disk.index.HashIndex: org.slf4j.Logger LOG>;
v = v.<org.apache.activemq.store.kahadb.disk.index.HashIndex: org.apache.activemq.store.kahadb.disk.index.HashIndex$Metadata metadata>;
v = v.<org.apache.activemq.store.kahadb.disk.index.HashIndex$Metadata: int binCapacity>;
v = v.<org.apache.activemq.store.kahadb.disk.index.HashIndex: org.apache.activemq.store.kahadb.disk.index.HashIndex$Metadata metadata>;
v = v.<org.apache.activemq.store.kahadb.disk.index.HashIndex$Metadata: long binPageId>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (int,long)>(v, v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("HashIndex loaded. Using \u bins starting at page \u0001");
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String)>(v);
label:
return;
}
public synchronized void unload(org.apache.activemq.store.kahadb.disk.page.Transaction) throws java.io.IOException
{
org.apache.activemq.store.kahadb.disk.index.HashIndex$Metadata v, v;
java.util.concurrent.atomic.AtomicBoolean v;
org.apache.activemq.store.kahadb.disk.page.Page v;
org.apache.activemq.store.kahadb.disk.index.HashIndex$Metadata$Marshaller v;
org.apache.activemq.store.kahadb.disk.page.Transaction v;
boolean v;
org.apache.activemq.store.kahadb.disk.index.HashIndex v;
v := @this: org.apache.activemq.store.kahadb.disk.index.HashIndex;
v := @parameter: org.apache.activemq.store.kahadb.disk.page.Transaction;
v = v.<org.apache.activemq.store.kahadb.disk.index.HashIndex: java.util.concurrent.atomic.AtomicBoolean loaded>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: boolean compareAndSet(boolean,boolean)>(1, 0);
if v == 0 goto label;
v = v.<org.apache.activemq.store.kahadb.disk.index.HashIndex: org.apache.activemq.store.kahadb.disk.index.HashIndex$Metadata metadata>;
v.<org.apache.activemq.store.kahadb.disk.index.HashIndex$Metadata: int state> = 1;
v = v.<org.apache.activemq.store.kahadb.disk.index.HashIndex: org.apache.activemq.store.kahadb.disk.index.HashIndex$Metadata metadata>;
v = v.<org.apache.activemq.store.kahadb.disk.index.HashIndex$Metadata: org.apache.activemq.store.kahadb.disk.page.Page page>;
v = v.<org.apache.activemq.store.kahadb.disk.index.HashIndex: org.apache.activemq.store.kahadb.disk.index.HashIndex$Metadata$Marshaller metadataMarshaller>;
virtualinvoke v.<org.apache.activemq.store.kahadb.disk.page.Transaction: void store(org.apache.activemq.store.kahadb.disk.page.Page,org.apache.activemq.store.kahadb.disk.util.Marshaller,boolean)>(v, v, 1);
label:
return;
}
private int sizeOfBin(org.apache.activemq.store.kahadb.disk.page.Transaction, int) throws java.io.IOException
{
int v, v;
org.apache.activemq.store.kahadb.disk.index.HashBin v;
org.apache.activemq.store.kahadb.disk.page.Transaction v;
org.apache.activemq.store.kahadb.disk.index.HashIndex v;
v := @this: org.apache.activemq.store.kahadb.disk.index.HashIndex;
v := @parameter: org.apache.activemq.store.kahadb.disk.page.Transaction;
v := @parameter: int;
v = specialinvoke v.<org.apache.activemq.store.kahadb.disk.index.HashIndex: org.apache.activemq.store.kahadb.disk.index.HashBin getBin(org.apache.activemq.store.kahadb.disk.page.Transaction,int)>(v, v);
v = virtualinvoke v.<org.apache.activemq.store.kahadb.disk.index.HashBin: int size()>();
return v;
}
public synchronized java.lang.Object get(org.apache.activemq.store.kahadb.disk.page.Transaction, java.lang.Object) throws java.io.IOException
{
java.lang.Object v, v;
org.apache.activemq.store.kahadb.disk.index.HashBin v;
org.apache.activemq.store.kahadb.disk.page.Transaction v;
org.apache.activemq.store.kahadb.disk.index.HashIndex v;
v := @this: org.apache.activemq.store.kahadb.disk.index.HashIndex;
v := @parameter: org.apache.activemq.store.kahadb.disk.page.Transaction;
v := @parameter: java.lang.Object;
specialinvoke v.<org.apache.activemq.store.kahadb.disk.index.HashIndex: void assertLoaded()>();
v = specialinvoke v.<org.apache.activemq.store.kahadb.disk.index.HashIndex: org.apache.activemq.store.kahadb.disk.index.HashBin getBin(org.apache.activemq.store.kahadb.disk.page.Transaction,java.lang.Object)>(v, v);
v = virtualinvoke v.<org.apache.activemq.store.kahadb.disk.index.HashBin: java.lang.Object get(java.lang.Object)>(v);
return v;
}
public synchronized boolean containsKey(org.apache.activemq.store.kahadb.disk.page.Transaction, java.lang.Object) throws java.io.IOException
{
java.lang.Object v;
org.apache.activemq.store.kahadb.disk.index.HashBin v;
org.apache.activemq.store.kahadb.disk.page.Transaction v;
boolean v;
org.apache.activemq.store.kahadb.disk.index.HashIndex v;
v := @this: org.apache.activemq.store.kahadb.disk.index.HashIndex;
v := @parameter: org.apache.activemq.store.kahadb.disk.page.Transaction;
v := @parameter: java.lang.Object;
specialinvoke v.<org.apache.activemq.store.kahadb.disk.index.HashIndex: void assertLoaded()>();
v = specialinvoke v.<org.apache.activemq.store.kahadb.disk.index.HashIndex: org.apache.activemq.store.kahadb.disk.index.HashBin getBin(org.apache.activemq.store.kahadb.disk.page.Transaction,java.lang.Object)>(v, v);
v = virtualinvoke v.<org.apache.activemq.store.kahadb.disk.index.HashBin: boolean containsKey(java.lang.Object)>(v);
return v;
}
public synchronized java.lang.Object put(org.apache.activemq.store.kahadb.disk.page.Transaction, java.lang.Object, java.lang.Object) throws java.io.IOException
{
org.apache.activemq.store.kahadb.disk.index.HashBin v;
int v, v, v, v, v, v, v, v, v;
org.apache.activemq.store.kahadb.disk.index.HashIndex v;
org.apache.activemq.store.kahadb.disk.index.HashIndex$Metadata v, v, v, v, v;
java.lang.Object v, v, v;
org.apache.activemq.store.kahadb.disk.page.Transaction v;
v := @this: org.apache.activemq.store.kahadb.disk.index.HashIndex;
v := @parameter: org.apache.activemq.store.kahadb.disk.page.Transaction;
v := @parameter: java.lang.Object;
v := @parameter: java.lang.Object;
specialinvoke v.<org.apache.activemq.store.kahadb.disk.index.HashIndex: void assertLoaded()>();
v = specialinvoke v.<org.apache.activemq.store.kahadb.disk.index.HashIndex: org.apache.activemq.store.kahadb.disk.index.HashBin getBin(org.apache.activemq.store.kahadb.disk.page.Transaction,java.lang.Object)>(v, v);
v = virtualinvoke v.<org.apache.activemq.store.kahadb.disk.index.HashBin: int size()>();
v = virtualinvoke v.<org.apache.activemq.store.kahadb.disk.index.HashBin: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
virtualinvoke v.<org.apache.activemq.store.kahadb.disk.index.HashIndex: void store(org.apache.activemq.store.kahadb.disk.page.Transaction,org.apache.activemq.store.kahadb.disk.index.HashBin)>(v, v);
v = virtualinvoke v.<org.apache.activemq.store.kahadb.disk.index.HashBin: int size()>();
if v == v goto label;
v = v.<org.apache.activemq.store.kahadb.disk.index.HashIndex: org.apache.activemq.store.kahadb.disk.index.HashIndex$Metadata metadata>;
staticinvoke <org.apache.activemq.store.kahadb.disk.index.HashIndex$Metadata: int access$408(org.apache.activemq.store.kahadb.disk.index.HashIndex$Metadata)>(v);
if v != 1 goto label;
v = v.<org.apache.activemq.store.kahadb.disk.index.HashIndex: org.apache.activemq.store.kahadb.disk.index.HashIndex$Metadata metadata>;
staticinvoke <org.apache.activemq.store.kahadb.disk.index.HashIndex$Metadata: int access$508(org.apache.activemq.store.kahadb.disk.index.HashIndex$Metadata)>(v);
label:
v = v.<org.apache.activemq.store.kahadb.disk.index.HashIndex: org.apache.activemq.store.kahadb.disk.index.HashIndex$Metadata metadata>;
v = v.<org.apache.activemq.store.kahadb.disk.index.HashIndex$Metadata: int binsActive>;
v = v.<org.apache.activemq.store.kahadb.disk.index.HashIndex: int increaseThreshold>;
if v < v goto label;
v = v.<org.apache.activemq.store.kahadb.disk.index.HashIndex: int maximumBinCapacity>;
v = v.<org.apache.activemq.store.kahadb.disk.index.HashIndex: org.apache.activemq.store.kahadb.disk.index.HashIndex$Metadata metadata>;
v = v.<org.apache.activemq.store.kahadb.disk.index.HashIndex$Metadata: int binCapacity>;
v = v * 2;
v = staticinvoke <java.lang.Math: int min(int,int)>(v, v);
v = v.<org.apache.activemq.store.kahadb.disk.index.HashIndex: org.apache.activemq.store.kahadb.disk.index.HashIndex$Metadata metadata>;
v = v.<org.apache.activemq.store.kahadb.disk.index.HashIndex$Metadata: int binCapacity>;
if v == v goto label;
specialinvoke v.<org.apache.activemq.store.kahadb.disk.index.HashIndex: void resize(org.apache.activemq.store.kahadb.disk.page.Transaction,int)>(v, v);
label:
return v;
}
public synchronized java.lang.Object remove(org.apache.activemq.store.kahadb.disk.page.Transaction, java.lang.Object) throws java.io.IOException
{
org.apache.activemq.store.kahadb.disk.index.HashBin v;
int v, v, v, v, v, v, v, v, v;
org.apache.activemq.store.kahadb.disk.index.HashIndex v;
org.apache.activemq.store.kahadb.disk.index.HashIndex$Metadata v, v, v, v, v;
java.lang.Object v, v;
org.apache.activemq.store.kahadb.disk.page.Transaction v;
v := @this: org.apache.activemq.store.kahadb.disk.index.HashIndex;
v := @parameter: org.apache.activemq.store.kahadb.disk.page.Transaction;
v := @parameter: java.lang.Object;
specialinvoke v.<org.apache.activemq.store.kahadb.disk.index.HashIndex: void assertLoaded()>();
v = specialinvoke v.<org.apache.activemq.store.kahadb.disk.index.HashIndex: org.apache.activemq.store.kahadb.disk.index.HashBin getBin(org.apache.activemq.store.kahadb.disk.page.Transaction,java.lang.Object)>(v, v);
v = virtualinvoke v.<org.apache.activemq.store.kahadb.disk.index.HashBin: int size()>();
v = virtualinvoke v.<org.apache.activemq.store.kahadb.disk.index.HashBin: java.lang.Object remove(java.lang.Object)>(v);
v = virtualinvoke v.<org.apache.activemq.store.kahadb.disk.index.HashBin: int size()>();
if v == v goto label;
virtualinvoke v.<org.apache.activemq.store.kahadb.disk.index.HashIndex: void store(org.apache.activemq.store.kahadb.disk.page.Transaction,org.apache.activemq.store.kahadb.disk.index.HashBin)>(v, v);
v = v.<org.apache.activemq.store.kahadb.disk.index.HashIndex: org.apache.activemq.store.kahadb.disk.index.HashIndex$Metadata metadata>;
staticinvoke <org.apache.activemq.store.kahadb.disk.index.HashIndex$Metadata: int access$410(org.apache.activemq.store.kahadb.disk.index.HashIndex$Metadata)>(v);
if v != 0 goto label;
v = v.<org.apache.activemq.store.kahadb.disk.index.HashIndex: org.apache.activemq.store.kahadb.disk.index.HashIndex$Metadata metadata>;
staticinvoke <org.apache.activemq.store.kahadb.disk.index.HashIndex$Metadata: int access$510(org.apache.activemq.store.kahadb.disk.index.HashIndex$Metadata)>(v);
label:
v = v.<org.apache.activemq.store.kahadb.disk.index.HashIndex: org.apache.activemq.store.kahadb.disk.index.HashIndex$Metadata metadata>;
v = v.<org.apache.activemq.store.kahadb.disk.index.HashIndex$Metadata: int binsActive>;
v = v.<org.apache.activemq.store.kahadb.disk.index.HashIndex: int decreaseThreshold>;
if v > v goto label;
v = v.<org.apache.activemq.store.kahadb.disk.index.HashIndex: int minimumBinCapacity>;
v = v.<org.apache.activemq.store.kahadb.disk.index.HashIndex: org.apache.activemq.store.kahadb.disk.index.HashIndex$Metadata metadata>;
v = v.<org.apache.activemq.store.kahadb.disk.index.HashIndex$Metadata: int binCapacity>;
v = v / 2;
v = staticinvoke <java.lang.Math: int max(int,int)>(v, v);
v = v.<org.apache.activemq.store.kahadb.disk.index.HashIndex: org.apache.activemq.store.kahadb.disk.index.HashIndex$Metadata metadata>;
v = v.<org.apache.activemq.store.kahadb.disk.index.HashIndex$Metadata: int binCapacity>;
if v == v goto label;
specialinvoke v.<org.apache.activemq.store.kahadb.disk.index.HashIndex: void resize(org.apache.activemq.store.kahadb.disk.page.Transaction,int)>(v, v);
label:
return v;
}
public synchronized void clear(org.apache.activemq.store.kahadb.disk.page.Transaction) throws java.io.IOException
{
org.apache.activemq.store.kahadb.disk.index.HashIndex$Metadata v, v, v, v;
long v, v;
int v, v;
org.apache.activemq.store.kahadb.disk.page.Transaction v;
org.apache.activemq.store.kahadb.disk.index.HashIndex v;
v := @this: org.apache.activemq.store.kahadb.disk.index.HashIndex;
v := @parameter: org.apache.activemq.store.kahadb.disk.page.Transaction;
specialinvoke v.<org.apache.activemq.store.kahadb.disk.index.HashIndex: void assertLoaded()>();
v = 0;
label:
v = v.<org.apache.activemq.store.kahadb.disk.index.HashIndex: org.apache.activemq.store.kahadb.disk.index.HashIndex$Metadata metadata>;
v = v.<org.apache.activemq.store.kahadb.disk.index.HashIndex$Metadata: int binCapacity>;
if v >= v goto label;
v = v.<org.apache.activemq.store.kahadb.disk.index.HashIndex: org.apache.activemq.store.kahadb.disk.index.HashIndex$Metadata metadata>;
v = v.<org.apache.activemq.store.kahadb.disk.index.HashIndex$Metadata: long binPageId>;
v = v + v;
specialinvoke v.<org.apache.activemq.store.kahadb.disk.index.HashIndex: void clearBinAtPage(org.apache.activemq.store.kahadb.disk.page.Transaction,long)>(v, v);
v = v + 1;
goto label;
label:
v = v.<org.apache.activemq.store.kahadb.disk.index.HashIndex: org.apache.activemq.store.kahadb.disk.index.HashIndex$Metadata metadata>;
v.<org.apache.activemq.store.kahadb.disk.index.HashIndex$Metadata: int size> = 0;
v = v.<org.apache.activemq.store.kahadb.disk.index.HashIndex: org.apache.activemq.store.kahadb.disk.index.HashIndex$Metadata metadata>;
v.<org.apache.activemq.store.kahadb.disk.index.HashIndex$Metadata: int binsActive> = 0;
return;
}
public java.util.Iterator iterator(org.apache.activemq.store.kahadb.disk.page.Transaction) throws java.io.IOException, java.lang.UnsupportedOperationException
{
java.lang.UnsupportedOperationException v;
org.apache.activemq.store.kahadb.disk.page.Transaction v;
org.apache.activemq.store.kahadb.disk.index.HashIndex v;
v := @this: org.apache.activemq.store.kahadb.disk.index.HashIndex;
v := @parameter: org.apache.activemq.store.kahadb.disk.page.Transaction;
v = new java.lang.UnsupportedOperationException;
specialinvoke v.<java.lang.UnsupportedOperationException: void <init>()>();
throw v;
}
private void clearBinAtPage(org.apache.activemq.store.kahadb.disk.page.Transaction, long) throws java.io.IOException
{
long v;
org.apache.activemq.store.kahadb.disk.index.HashBin v;
org.apache.activemq.store.kahadb.disk.page.Transaction v;
org.apache.activemq.store.kahadb.disk.index.HashIndex v;
org.apache.activemq.store.kahadb.disk.page.Page v;
v := @this: org.apache.activemq.store.kahadb.disk.index.HashIndex;
v := @parameter: org.apache.activemq.store.kahadb.disk.page.Transaction;
v := @parameter: long;
v = virtualinvoke v.<org.apache.activemq.store.kahadb.disk.page.Transaction: org.apache.activemq.store.kahadb.disk.page.Page load(long,org.apache.activemq.store.kahadb.disk.util.Marshaller)>(v, null);
v = new org.apache.activemq.store.kahadb.disk.index.HashBin;
specialinvoke v.<org.apache.activemq.store.kahadb.disk.index.HashBin: void <init>()>();
virtualinvoke v.<org.apache.activemq.store.kahadb.disk.index.HashBin: void setPage(org.apache.activemq.store.kahadb.disk.page.Page)>(v);
virtualinvoke v.<org.apache.activemq.store.kahadb.disk.page.Page: void set(java.lang.Object)>(v);
virtualinvoke v.<org.apache.activemq.store.kahadb.disk.index.HashIndex: void store(org.apache.activemq.store.kahadb.disk.page.Transaction,org.apache.activemq.store.kahadb.disk.index.HashBin)>(v, v);
return;
}
public java.lang.String toString()
{
int v;
java.lang.String v;
org.apache.activemq.store.kahadb.disk.page.PageFile v;
org.apache.activemq.store.kahadb.disk.index.HashIndex v;
v := @this: org.apache.activemq.store.kahadb.disk.index.HashIndex;
v = staticinvoke <java.lang.System: int identityHashCode(java.lang.Object)>(v);
v = v.<org.apache.activemq.store.kahadb.disk.index.HashIndex: org.apache.activemq.store.kahadb.disk.page.PageFile pageFile>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (int,org.apache.activemq.store.kahadb.disk.page.PageFile)>(v, v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("HashIndex\u0001: \u0001");
return v;
}
private void assertLoaded() throws java.lang.IllegalStateException
{
java.lang.IllegalStateException v;
java.util.concurrent.atomic.AtomicBoolean v;
boolean v;
org.apache.activemq.store.kahadb.disk.index.HashIndex v;
v := @this: org.apache.activemq.store.kahadb.disk.index.HashIndex;
v = v.<org.apache.activemq.store.kahadb.disk.index.HashIndex: java.util.concurrent.atomic.AtomicBoolean loaded>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: boolean get()>();
if v != 0 goto label;
v = new java.lang.IllegalStateException;
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>("The HashIndex is not loaded");
throw v;
label:
return;
}
public synchronized void store(org.apache.activemq.store.kahadb.disk.page.Transaction, org.apache.activemq.store.kahadb.disk.index.HashBin) throws java.io.IOException
{
org.apache.activemq.store.kahadb.disk.index.HashBin$Marshaller v;
org.apache.activemq.store.kahadb.disk.index.HashBin v;
org.apache.activemq.store.kahadb.disk.page.Transaction v;
org.apache.activemq.store.kahadb.disk.index.HashIndex v;
org.apache.activemq.store.kahadb.disk.page.Page v;
v := @this: org.apache.activemq.store.kahadb.disk.index.HashIndex;
v := @parameter: org.apache.activemq.store.kahadb.disk.page.Transaction;
v := @parameter: org.apache.activemq.store.kahadb.disk.index.HashBin;
v = virtualinvoke v.<org.apache.activemq.store.kahadb.disk.index.HashBin: org.apache.activemq.store.kahadb.disk.page.Page getPage()>();
v = v.<org.apache.activemq.store.kahadb.disk.index.HashIndex: org.apache.activemq.store.kahadb.disk.index.HashBin$Marshaller hashBinMarshaller>;
virtualinvoke v.<org.apache.activemq.store.kahadb.disk.page.Transaction: void store(org.apache.activemq.store.kahadb.disk.page.Page,org.apache.activemq.store.kahadb.disk.util.Marshaller,boolean)>(v, v, 1);
return;
}
private void resize(org.apache.activemq.store.kahadb.disk.page.Transaction, int) throws java.io.IOException
{
org.apache.activemq.store.kahadb.disk.index.HashBin v, v;
java.util.Map v;
boolean v;
org.apache.activemq.store.kahadb.disk.index.HashIndex$Metadata v, v, v, v, v, v, v, v, v, v;
java.util.Set v;
org.apache.activemq.store.kahadb.disk.index.HashIndex$Metadata$Marshaller v;
long v, v, v, v;
int v, v, v, v, v, v;
java.lang.String v, v;
org.apache.activemq.store.kahadb.disk.index.HashIndex v;
org.slf4j.Logger v, v;
java.util.Iterator v;
org.apache.activemq.store.kahadb.disk.page.Page v, v;
java.lang.Object v, v, v, v;
org.apache.activemq.store.kahadb.disk.page.Transaction v;
v := @this: org.apache.activemq.store.kahadb.disk.index.HashIndex;
v := @parameter: org.apache.activemq.store.kahadb.disk.page.Transaction;
v := @parameter: int;
v = <org.apache.activemq.store.kahadb.disk.index.HashIndex: org.slf4j.Logger LOG>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (int)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Resizing to: \u0001");
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String)>(v);
v = virtualinvoke v.<org.apache.activemq.store.kahadb.disk.page.Transaction: org.apache.activemq.store.kahadb.disk.page.Page allocate(int)>(v);
v = virtualinvoke v.<org.apache.activemq.store.kahadb.disk.page.Page: long getPageId()>();
v = 0;
label:
if v >= v goto label;
v = v + v;
specialinvoke v.<org.apache.activemq.store.kahadb.disk.index.HashIndex: void clearBinAtPage(org.apache.activemq.store.kahadb.disk.page.Transaction,long)>(v, v);
v = v + 1;
goto label;
label:
v = v.<org.apache.activemq.store.kahadb.disk.index.HashIndex: org.apache.activemq.store.kahadb.disk.index.HashIndex$Metadata metadata>;
v.<org.apache.activemq.store.kahadb.disk.index.HashIndex$Metadata: int binsActive> = 0;
v = 0;
label:
v = v.<org.apache.activemq.store.kahadb.disk.index.HashIndex: org.apache.activemq.store.kahadb.disk.index.HashIndex$Metadata metadata>;
v = v.<org.apache.activemq.store.kahadb.disk.index.HashIndex$Metadata: int binCapacity>;
if v >= v goto label;
v = specialinvoke v.<org.apache.activemq.store.kahadb.disk.index.HashIndex: org.apache.activemq.store.kahadb.disk.index.HashBin getBin(org.apache.activemq.store.kahadb.disk.page.Transaction,int)>(v, v);
v = virtualinvoke v.<org.apache.activemq.store.kahadb.disk.index.HashBin: java.util.Map getAll(org.apache.activemq.store.kahadb.disk.page.Transaction)>(v);
v = interfaceinvoke v.<java.util.Map: java.util.Set entrySet()>();
v = interfaceinvoke v.<java.util.Set: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = interfaceinvoke v.<java.util.Map$Entry: java.lang.Object getKey()>();
v = specialinvoke v.<org.apache.activemq.store.kahadb.disk.index.HashIndex: org.apache.activemq.store.kahadb.disk.index.HashBin getBin(org.apache.activemq.store.kahadb.disk.page.Transaction,java.lang.Object,long,int)>(v, v, v, v);
v = interfaceinvoke v.<java.util.Map$Entry: java.lang.Object getKey()>();
v = interfaceinvoke v.<java.util.Map$Entry: java.lang.Object getValue()>();
virtualinvoke v.<org.apache.activemq.store.kahadb.disk.index.HashBin: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
virtualinvoke v.<org.apache.activemq.store.kahadb.disk.index.HashIndex: void store(org.apache.activemq.store.kahadb.disk.page.Transaction,org.apache.activemq.store.kahadb.disk.index.HashBin)>(v, v);
v = virtualinvoke v.<org.apache.activemq.store.kahadb.disk.index.HashBin: int size()>();
if v != 1 goto label;
v = v.<org.apache.activemq.store.kahadb.disk.index.HashIndex: org.apache.activemq.store.kahadb.disk.index.HashIndex$Metadata metadata>;
staticinvoke <org.apache.activemq.store.kahadb.disk.index.HashIndex$Metadata: int access$508(org.apache.activemq.store.kahadb.disk.index.HashIndex$Metadata)>(v);
goto label;
label:
v = v + 1;
goto label;
label:
v = v.<org.apache.activemq.store.kahadb.disk.index.HashIndex: org.apache.activemq.store.kahadb.disk.index.HashIndex$Metadata metadata>;
v = v.<org.apache.activemq.store.kahadb.disk.index.HashIndex$Metadata: long binPageId>;
v = v.<org.apache.activemq.store.kahadb.disk.index.HashIndex: org.apache.activemq.store.kahadb.disk.index.HashIndex$Metadata metadata>;
v = v.<org.apache.activemq.store.kahadb.disk.index.HashIndex$Metadata: int binCapacity>;
virtualinvoke v.<org.apache.activemq.store.kahadb.disk.page.Transaction: void free(long,int)>(v, v);
v = v.<org.apache.activemq.store.kahadb.disk.index.HashIndex: org.apache.activemq.store.kahadb.disk.index.HashIndex$Metadata metadata>;
v.<org.apache.activemq.store.kahadb.disk.index.HashIndex$Metadata: int binCapacity> = v;
v = v.<org.apache.activemq.store.kahadb.disk.index.HashIndex: org.apache.activemq.store.kahadb.disk.index.HashIndex$Metadata metadata>;
v.<org.apache.activemq.store.kahadb.disk.index.HashIndex$Metadata: long binPageId> = v;
v = v.<org.apache.activemq.store.kahadb.disk.index.HashIndex: org.apache.activemq.store.kahadb.disk.index.HashIndex$Metadata metadata>;
v.<org.apache.activemq.store.kahadb.disk.index.HashIndex$Metadata: int state> = 2;
v = v.<org.apache.activemq.store.kahadb.disk.index.HashIndex: org.apache.activemq.store.kahadb.disk.index.HashIndex$Metadata metadata>;
v = v.<org.apache.activemq.store.kahadb.disk.index.HashIndex$Metadata: org.apache.activemq.store.kahadb.disk.page.Page page>;
v = v.<org.apache.activemq.store.kahadb.disk.index.HashIndex: org.apache.activemq.store.kahadb.disk.index.HashIndex$Metadata$Marshaller metadataMarshaller>;
virtualinvoke v.<org.apache.activemq.store.kahadb.disk.page.Transaction: void store(org.apache.activemq.store.kahadb.disk.page.Page,org.apache.activemq.store.kahadb.disk.util.Marshaller,boolean)>(v, v, 1);
specialinvoke v.<org.apache.activemq.store.kahadb.disk.index.HashIndex: void calcThresholds()>();
v = <org.apache.activemq.store.kahadb.disk.index.HashIndex: org.slf4j.Logger LOG>;
v = v.<org.apache.activemq.store.kahadb.disk.index.HashIndex: org.apache.activemq.store.kahadb.disk.index.HashIndex$Metadata metadata>;
v = v.<org.apache.activemq.store.kahadb.disk.index.HashIndex$Metadata: long binPageId>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (long)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Resizing done.  New bins start at: \u0001");
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String)>(v);
return;
}
private void calcThresholds()
{
org.apache.activemq.store.kahadb.disk.index.HashIndex$Metadata v, v;
int v, v, v, v, v, v, v, v, v, v;
org.apache.activemq.store.kahadb.disk.index.HashIndex v;
v := @this: org.apache.activemq.store.kahadb.disk.index.HashIndex;
v = v.<org.apache.activemq.store.kahadb.disk.index.HashIndex: org.apache.activemq.store.kahadb.disk.index.HashIndex$Metadata metadata>;
v = v.<org.apache.activemq.store.kahadb.disk.index.HashIndex$Metadata: int binCapacity>;
v = v.<org.apache.activemq.store.kahadb.disk.index.HashIndex: int loadFactor>;
v = v * v;
v = v / 100;
v.<org.apache.activemq.store.kahadb.disk.index.HashIndex: int increaseThreshold> = v;
v = v.<org.apache.activemq.store.kahadb.disk.index.HashIndex: org.apache.activemq.store.kahadb.disk.index.HashIndex$Metadata metadata>;
v = v.<org.apache.activemq.store.kahadb.disk.index.HashIndex$Metadata: int binCapacity>;
v = v.<org.apache.activemq.store.kahadb.disk.index.HashIndex: int loadFactor>;
v = v * v;
v = v.<org.apache.activemq.store.kahadb.disk.index.HashIndex: int loadFactor>;
v = v * v;
v = v / 20000;
v.<org.apache.activemq.store.kahadb.disk.index.HashIndex: int decreaseThreshold> = v;
return;
}
private org.apache.activemq.store.kahadb.disk.index.HashBin getBin(org.apache.activemq.store.kahadb.disk.page.Transaction, java.lang.Object) throws java.io.IOException
{
org.apache.activemq.store.kahadb.disk.index.HashIndex$Metadata v, v;
long v;
org.apache.activemq.store.kahadb.disk.index.HashBin v;
int v;
java.lang.Object v;
org.apache.activemq.store.kahadb.disk.page.Transaction v;
org.apache.activemq.store.kahadb.disk.index.HashIndex v;
v := @this: org.apache.activemq.store.kahadb.disk.index.HashIndex;
v := @parameter: org.apache.activemq.store.kahadb.disk.page.Transaction;
v := @parameter: java.lang.Object;
v = v.<org.apache.activemq.store.kahadb.disk.index.HashIndex: org.apache.activemq.store.kahadb.disk.index.HashIndex$Metadata metadata>;
v = v.<org.apache.activemq.store.kahadb.disk.index.HashIndex$Metadata: long binPageId>;
v = v.<org.apache.activemq.store.kahadb.disk.index.HashIndex: org.apache.activemq.store.kahadb.disk.index.HashIndex$Metadata metadata>;
v = v.<org.apache.activemq.store.kahadb.disk.index.HashIndex$Metadata: int binCapacity>;
v = specialinvoke v.<org.apache.activemq.store.kahadb.disk.index.HashIndex: org.apache.activemq.store.kahadb.disk.index.HashBin getBin(org.apache.activemq.store.kahadb.disk.page.Transaction,java.lang.Object,long,int)>(v, v, v, v);
return v;
}
private org.apache.activemq.store.kahadb.disk.index.HashBin getBin(org.apache.activemq.store.kahadb.disk.page.Transaction, int) throws java.io.IOException
{
org.apache.activemq.store.kahadb.disk.index.HashIndex$Metadata v;
int v;
long v;
org.apache.activemq.store.kahadb.disk.index.HashBin v;
org.apache.activemq.store.kahadb.disk.page.Transaction v;
org.apache.activemq.store.kahadb.disk.index.HashIndex v;
v := @this: org.apache.activemq.store.kahadb.disk.index.HashIndex;
v := @parameter: org.apache.activemq.store.kahadb.disk.page.Transaction;
v := @parameter: int;
v = v.<org.apache.activemq.store.kahadb.disk.index.HashIndex: org.apache.activemq.store.kahadb.disk.index.HashIndex$Metadata metadata>;
v = v.<org.apache.activemq.store.kahadb.disk.index.HashIndex$Metadata: long binPageId>;
v = specialinvoke v.<org.apache.activemq.store.kahadb.disk.index.HashIndex: org.apache.activemq.store.kahadb.disk.index.HashBin getBin(org.apache.activemq.store.kahadb.disk.page.Transaction,int,long)>(v, v, v);
return v;
}
private org.apache.activemq.store.kahadb.disk.index.HashBin getBin(org.apache.activemq.store.kahadb.disk.page.Transaction, java.lang.Object, long, int) throws java.io.IOException
{
int v, v;
java.lang.Object v;
long v;
org.apache.activemq.store.kahadb.disk.index.HashBin v;
org.apache.activemq.store.kahadb.disk.page.Transaction v;
org.apache.activemq.store.kahadb.disk.index.HashIndex v;
v := @this: org.apache.activemq.store.kahadb.disk.index.HashIndex;
v := @parameter: org.apache.activemq.store.kahadb.disk.page.Transaction;
v := @parameter: java.lang.Object;
v := @parameter: long;
v := @parameter: int;
v = virtualinvoke v.<org.apache.activemq.store.kahadb.disk.index.HashIndex: int indexFor(java.lang.Object,int)>(v, v);
v = specialinvoke v.<org.apache.activemq.store.kahadb.disk.index.HashIndex: org.apache.activemq.store.kahadb.disk.index.HashBin getBin(org.apache.activemq.store.kahadb.disk.page.Transaction,int,long)>(v, v, v);
return v;
}
private org.apache.activemq.store.kahadb.disk.index.HashBin getBin(org.apache.activemq.store.kahadb.disk.page.Transaction, int, long) throws java.io.IOException
{
long v, v;
org.apache.activemq.store.kahadb.disk.page.Page v;
int v;
java.lang.Object v;
org.apache.activemq.store.kahadb.disk.index.HashBin$Marshaller v;
org.apache.activemq.store.kahadb.disk.page.Transaction v;
org.apache.activemq.store.kahadb.disk.index.HashIndex v;
v := @this: org.apache.activemq.store.kahadb.disk.index.HashIndex;
v := @parameter: org.apache.activemq.store.kahadb.disk.page.Transaction;
v := @parameter: int;
v := @parameter: long;
v = v + v;
v = v.<org.apache.activemq.store.kahadb.disk.index.HashIndex: org.apache.activemq.store.kahadb.disk.index.HashBin$Marshaller hashBinMarshaller>;
v = virtualinvoke v.<org.apache.activemq.store.kahadb.disk.page.Transaction: org.apache.activemq.store.kahadb.disk.page.Page load(long,org.apache.activemq.store.kahadb.disk.util.Marshaller)>(v, v);
v = virtualinvoke v.<org.apache.activemq.store.kahadb.disk.page.Page: java.lang.Object get()>();
virtualinvoke v.<org.apache.activemq.store.kahadb.disk.index.HashBin: void setPage(org.apache.activemq.store.kahadb.disk.page.Page)>(v);
return v;
}
int indexFor(java.lang.Object, int)
{
int v, v, v, v;
java.lang.Object v;
org.apache.activemq.store.kahadb.disk.index.HashIndex v;
v := @this: org.apache.activemq.store.kahadb.disk.index.HashIndex;
v := @parameter: java.lang.Object;
v := @parameter: int;
v = virtualinvoke v.<java.lang.Object: int hashCode()>();
v = v % v;
v = staticinvoke <java.lang.Math: int abs(int)>(v);
return v;
}
public org.apache.activemq.store.kahadb.disk.util.Marshaller getKeyMarshaller()
{
org.apache.activemq.store.kahadb.disk.util.Marshaller v;
org.apache.activemq.store.kahadb.disk.index.HashIndex v;
v := @this: org.apache.activemq.store.kahadb.disk.index.HashIndex;
v = v.<org.apache.activemq.store.kahadb.disk.index.HashIndex: org.apache.activemq.store.kahadb.disk.util.Marshaller keyMarshaller>;
return v;
}
public void setKeyMarshaller(org.apache.activemq.store.kahadb.disk.util.Marshaller)
{
org.apache.activemq.store.kahadb.disk.util.Marshaller v;
org.apache.activemq.store.kahadb.disk.index.HashIndex v;
v := @this: org.apache.activemq.store.kahadb.disk.index.HashIndex;
v := @parameter: org.apache.activemq.store.kahadb.disk.util.Marshaller;
v.<org.apache.activemq.store.kahadb.disk.index.HashIndex: org.apache.activemq.store.kahadb.disk.util.Marshaller keyMarshaller> = v;
return;
}
public org.apache.activemq.store.kahadb.disk.util.Marshaller getValueMarshaller()
{
org.apache.activemq.store.kahadb.disk.util.Marshaller v;
org.apache.activemq.store.kahadb.disk.index.HashIndex v;
v := @this: org.apache.activemq.store.kahadb.disk.index.HashIndex;
v = v.<org.apache.activemq.store.kahadb.disk.index.HashIndex: org.apache.activemq.store.kahadb.disk.util.Marshaller valueMarshaller>;
return v;
}
public void setValueMarshaller(org.apache.activemq.store.kahadb.disk.util.Marshaller)
{
org.apache.activemq.store.kahadb.disk.util.Marshaller v;
org.apache.activemq.store.kahadb.disk.index.HashIndex v;
v := @this: org.apache.activemq.store.kahadb.disk.index.HashIndex;
v := @parameter: org.apache.activemq.store.kahadb.disk.util.Marshaller;
v.<org.apache.activemq.store.kahadb.disk.index.HashIndex: org.apache.activemq.store.kahadb.disk.util.Marshaller valueMarshaller> = v;
return;
}
public int getBinCapacity()
{
int v;
org.apache.activemq.store.kahadb.disk.index.HashIndex$Metadata v;
org.apache.activemq.store.kahadb.disk.index.HashIndex v;
v := @this: org.apache.activemq.store.kahadb.disk.index.HashIndex;
v = v.<org.apache.activemq.store.kahadb.disk.index.HashIndex: org.apache.activemq.store.kahadb.disk.index.HashIndex$Metadata metadata>;
v = v.<org.apache.activemq.store.kahadb.disk.index.HashIndex$Metadata: int binCapacity>;
return v;
}
public void setBinCapacity(int)
{
org.apache.activemq.store.kahadb.disk.index.HashIndex$Metadata v, v;
java.util.concurrent.atomic.AtomicBoolean v;
java.lang.RuntimeException v;
int v, v;
boolean v;
org.apache.activemq.store.kahadb.disk.index.HashIndex v;
v := @this: org.apache.activemq.store.kahadb.disk.index.HashIndex;
v := @parameter: int;
v = v.<org.apache.activemq.store.kahadb.disk.index.HashIndex: java.util.concurrent.atomic.AtomicBoolean loaded>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: boolean get()>();
if v == 0 goto label;
v = v.<org.apache.activemq.store.kahadb.disk.index.HashIndex: org.apache.activemq.store.kahadb.disk.index.HashIndex$Metadata metadata>;
v = v.<org.apache.activemq.store.kahadb.disk.index.HashIndex$Metadata: int binCapacity>;
if v == v goto label;
v = new java.lang.RuntimeException;
specialinvoke v.<java.lang.RuntimeException: void <init>(java.lang.String)>("Pages already loaded - can\'t reset bin capacity");
throw v;
label:
v = v.<org.apache.activemq.store.kahadb.disk.index.HashIndex: org.apache.activemq.store.kahadb.disk.index.HashIndex$Metadata metadata>;
v.<org.apache.activemq.store.kahadb.disk.index.HashIndex$Metadata: int binCapacity> = v;
return;
}
public boolean isTransient()
{
org.apache.activemq.store.kahadb.disk.index.HashIndex v;
v := @this: org.apache.activemq.store.kahadb.disk.index.HashIndex;
return 0;
}
public int getLoadFactor()
{
int v;
org.apache.activemq.store.kahadb.disk.index.HashIndex v;
v := @this: org.apache.activemq.store.kahadb.disk.index.HashIndex;
v = v.<org.apache.activemq.store.kahadb.disk.index.HashIndex: int loadFactor>;
return v;
}
public void setLoadFactor(int)
{
int v;
org.apache.activemq.store.kahadb.disk.index.HashIndex v;
v := @this: org.apache.activemq.store.kahadb.disk.index.HashIndex;
v := @parameter: int;
v.<org.apache.activemq.store.kahadb.disk.index.HashIndex: int loadFactor> = v;
return;
}
public int setMaximumBinCapacity()
{
int v;
org.apache.activemq.store.kahadb.disk.index.HashIndex v;
v := @this: org.apache.activemq.store.kahadb.disk.index.HashIndex;
v = v.<org.apache.activemq.store.kahadb.disk.index.HashIndex: int maximumBinCapacity>;
return v;
}
public void setMaximumBinCapacity(int)
{
int v;
org.apache.activemq.store.kahadb.disk.index.HashIndex v;
v := @this: org.apache.activemq.store.kahadb.disk.index.HashIndex;
v := @parameter: int;
v.<org.apache.activemq.store.kahadb.disk.index.HashIndex: int maximumBinCapacity> = v;
return;
}
public synchronized int size(org.apache.activemq.store.kahadb.disk.page.Transaction)
{
org.apache.activemq.store.kahadb.disk.index.HashIndex$Metadata v;
int v;
org.apache.activemq.store.kahadb.disk.page.Transaction v;
org.apache.activemq.store.kahadb.disk.index.HashIndex v;
v := @this: org.apache.activemq.store.kahadb.disk.index.HashIndex;
v := @parameter: org.apache.activemq.store.kahadb.disk.page.Transaction;
v = v.<org.apache.activemq.store.kahadb.disk.index.HashIndex: org.apache.activemq.store.kahadb.disk.index.HashIndex$Metadata metadata>;
v = v.<org.apache.activemq.store.kahadb.disk.index.HashIndex$Metadata: int size>;
return v;
}
public synchronized int getActiveBins()
{
int v;
org.apache.activemq.store.kahadb.disk.index.HashIndex$Metadata v;
org.apache.activemq.store.kahadb.disk.index.HashIndex v;
v := @this: org.apache.activemq.store.kahadb.disk.index.HashIndex;
v = v.<org.apache.activemq.store.kahadb.disk.index.HashIndex: org.apache.activemq.store.kahadb.disk.index.HashIndex$Metadata metadata>;
v = v.<org.apache.activemq.store.kahadb.disk.index.HashIndex$Metadata: int binsActive>;
return v;
}
public long getBinPageId()
{
long v;
org.apache.activemq.store.kahadb.disk.index.HashIndex$Metadata v;
org.apache.activemq.store.kahadb.disk.index.HashIndex v;
v := @this: org.apache.activemq.store.kahadb.disk.index.HashIndex;
v = v.<org.apache.activemq.store.kahadb.disk.index.HashIndex: org.apache.activemq.store.kahadb.disk.index.HashIndex$Metadata metadata>;
v = v.<org.apache.activemq.store.kahadb.disk.index.HashIndex$Metadata: long binPageId>;
return v;
}
public org.apache.activemq.store.kahadb.disk.page.PageFile getPageFile()
{
org.apache.activemq.store.kahadb.disk.page.PageFile v;
org.apache.activemq.store.kahadb.disk.index.HashIndex v;
v := @this: org.apache.activemq.store.kahadb.disk.index.HashIndex;
v = v.<org.apache.activemq.store.kahadb.disk.index.HashIndex: org.apache.activemq.store.kahadb.disk.page.PageFile pageFile>;
return v;
}
public int getBinsActive()
{
int v;
org.apache.activemq.store.kahadb.disk.index.HashIndex$Metadata v;
org.apache.activemq.store.kahadb.disk.index.HashIndex v;
v := @this: org.apache.activemq.store.kahadb.disk.index.HashIndex;
v = v.<org.apache.activemq.store.kahadb.disk.index.HashIndex: org.apache.activemq.store.kahadb.disk.index.HashIndex$Metadata metadata>;
v = v.<org.apache.activemq.store.kahadb.disk.index.HashIndex$Metadata: int binsActive>;
return v;
}
static void <clinit>()
{
org.slf4j.Logger v;
int v, v, v, v;
java.lang.String v, v, v, v;
v = staticinvoke <org.slf4j.LoggerFactory: org.slf4j.Logger getLogger(java.lang.Class)>(class "Lorg/apache/activemq/store/kahadb/disk/index/HashIndex;");
<org.apache.activemq.store.kahadb.disk.index.HashIndex: org.slf4j.Logger LOG> = v;
v = staticinvoke <java.lang.System: java.lang.String getProperty(java.lang.String,java.lang.String)>("defaultBinSize", "1024");
v = staticinvoke <java.lang.Integer: int parseInt(java.lang.String)>(v);
<org.apache.activemq.store.kahadb.disk.index.HashIndex: int DEFAULT_BIN_CAPACITY> = v;
v = staticinvoke <java.lang.System: java.lang.String getProperty(java.lang.String,java.lang.String)>("maximumCapacity", "16384");
v = staticinvoke <java.lang.Integer: int parseInt(java.lang.String)>(v);
<org.apache.activemq.store.kahadb.disk.index.HashIndex: int DEFAULT_MAXIMUM_BIN_CAPACITY> = v;
v = staticinvoke <java.lang.System: java.lang.String getProperty(java.lang.String,java.lang.String)>("minimumCapacity", "16");
v = staticinvoke <java.lang.Integer: int parseInt(java.lang.String)>(v);
<org.apache.activemq.store.kahadb.disk.index.HashIndex: int DEFAULT_MINIMUM_BIN_CAPACITY> = v;
v = staticinvoke <java.lang.System: java.lang.String getProperty(java.lang.String,java.lang.String)>("defaultLoadFactor", "75");
v = staticinvoke <java.lang.Integer: int parseInt(java.lang.String)>(v);
<org.apache.activemq.store.kahadb.disk.index.HashIndex: int DEFAULT_LOAD_FACTOR> = v;
return;
}
}