long removed = removedValue; if (key == (free = freeValue)) { free = changeFree(); } else if (key == removed) { removed = changeRemoved(); int firstRemoved; if (cur != removed) { if (noRemoved()) { int bIndex = index, fIndex = index, step = 1; while (true) { incrementModCount(); keys[firstRemoved] = key; values[firstRemoved] = value; postRemovedSlotInsertHook(); return -1; incrementModCount(); keys[index] = key; values[index] = value; postFreeSlotInsertHook(); return -1;
int valueIndex(@Nullable Object value) { if (value == null) return nullValueIndex(); if (this.isEmpty()) return -1; V val = (V) value; int index = -1; int mc = modCount(); long free = freeValue; long removed = removedValue; long[] keys = set; V[] vals = values; if (noRemoved()) { for (int i = keys.length - 1; i >= 0; i--) { if (keys[i] != free) { if (valueEquals(val, vals[i])) { index = i; break; long key; if ((key = keys[i]) != free && key != removed) { if (valueEquals(val, vals[i])) { index = i; break; if (mc != modCount()) throw new java.util.ConcurrentModificationException(); return index;
private int nullValueIndex() { if (this.isEmpty()) return -1; int index = -1; int mc = modCount(); long free = freeValue; long removed = removedValue; long[] keys = set; V[] vals = values; if (noRemoved()) { for (int i = keys.length - 1; i >= 0; i--) { if (keys[i] != free) { if (mc != modCount()) throw new java.util.ConcurrentModificationException(); return index;
private void doClear() { int mc = modCount() + 1; super.clear(); if (mc != modCount()) throw new ConcurrentModificationException(); }
@Override final void copy(SeparateKVLongObjQHash hash) { int myMC = modCount(), hashMC = hash.modCount(); super.copy(hash); if (myMC != modCount() || hashMC != hash.modCount()) throw new ConcurrentModificationException(); }
@Override final void move(SeparateKVLongObjQHash hash) { int myMC = modCount(), hashMC = hash.modCount(); super.move(hash); if (myMC != modCount() || hashMC != hash.modCount()) throw new ConcurrentModificationException(); }
private int nullValueIndex() { if (this.isEmpty()) return -1; int index = -1; int mc = modCount(); long free = freeValue; long removed = removedValue; long[] keys = set; V[] vals = values; if (noRemoved()) { for (int i = keys.length - 1; i >= 0; i--) { if (keys[i] != free) { if (mc != modCount()) throw new java.util.ConcurrentModificationException(); return index;
private void doClear() { int mc = modCount() + 1; super.clear(); if (mc != modCount()) throw new ConcurrentModificationException(); }
@Override final void copy(SeparateKVLongObjQHash hash) { int myMC = modCount(), hashMC = hash.modCount(); super.copy(hash); if (myMC != modCount() || hashMC != hash.modCount()) throw new ConcurrentModificationException(); }
@Override final void move(SeparateKVLongObjQHash hash) { int myMC = modCount(), hashMC = hash.modCount(); super.move(hash); if (myMC != modCount() || hashMC != hash.modCount()) throw new ConcurrentModificationException(); }
long removed = removedValue; if (key == (free = freeValue)) { free = changeFree(); } else if (key == removed) { removed = changeRemoved(); int firstRemoved; if (cur != removed) { if (noRemoved()) { int bIndex = index, fIndex = index, step = 1; while (true) { incrementModCount(); keys[firstRemoved] = key; values[firstRemoved] = value; postRemovedSlotInsertHook(); return -1; incrementModCount(); keys[index] = key; values[index] = value; postFreeSlotInsertHook(); return -1;
int valueIndex(@Nullable Object value) { if (value == null) return nullValueIndex(); if (this.isEmpty()) return -1; V val = (V) value; int index = -1; int mc = modCount(); long free = freeValue; long removed = removedValue; long[] keys = set; V[] vals = values; if (noRemoved()) { for (int i = keys.length - 1; i >= 0; i--) { if (keys[i] != free) { if (valueEquals(val, vals[i])) { index = i; break; long key; if ((key = keys[i]) != free && key != removed) { if (valueEquals(val, vals[i])) { index = i; break; if (mc != modCount()) throw new java.util.ConcurrentModificationException(); return index;