@Override void rehash(int newCapacity) { int mc = modCount(); long free = freeValue; long[] keys = set; V[] vals = values; initForRehash(newCapacity); mc++; // modCount is incremented in initForRehash() long[] newKeys = set; int capacityMask = newKeys.length - 1; V[] newVals = values; for (int i = keys.length - 1; i >= 0; i--) { long key; if ((key = keys[i]) != free) { int index; if (newKeys[index = SeparateKVLongKeyMixing.mix(key) & capacityMask] != free) { while (true) { if (newKeys[(index = (index - 1) & capacityMask)] == free) { break; } } } newKeys[index] = key; newVals[index] = vals[i]; } } if (mc != modCount()) throw new java.util.ConcurrentModificationException(); }
long cur; keyAbsent: if ((cur = keys[index = SeparateKVLongKeyMixing.mix(key) & (capacityMask = keys.length - 1)]) != free) { if (cur == key) {
long cur; keyAbsent: if ((cur = keys[index = SeparateKVLongKeyMixing.mix(key) & (capacityMask = keys.length - 1)]) != free) { if (cur == key) {
long cur; keyAbsent: if ((cur = keys[index = SeparateKVLongKeyMixing.mix(key) & (capacityMask = keys.length - 1)]) != free) { if (cur == key) {
long cur; keyAbsent: if ((cur = keys[index = SeparateKVLongKeyMixing.mix(key) & (capacityMask = keys.length - 1)]) != free) { if (cur == key) {
int index(long key) { long free; if (key != (free = freeValue)) { long[] keys = set; int capacityMask, index; long cur; if ((cur = keys[index = SeparateKVLongKeyMixing.mix(key) & (capacityMask = keys.length - 1)]) == key) { // key is present return index; } else { if (cur == free) { // key is absent return -1; } else { while (true) { if ((cur = keys[(index = (index - 1) & capacityMask)]) == key) { // key is present return index; } else if (cur == free) { // key is absent return -1; } } } } } else { // key is absent return -1; } }
int index(long key) { long free; if (key != (free = freeValue)) { long[] keys = set; int capacityMask; int index; long cur; if ((cur = keys[(index = (LHash.SeparateKVLongKeyMixing.mix(key)) & (capacityMask = (keys.length) - 1))]) == key) { return index; } else { if (cur == free) { return -1; } else { while (true) { if ((cur = keys[(index = (index - 1) & capacityMask)]) == key) { return index; } else if (cur == free) { return -1; } } } } } else { return -1; } }
int index(long key) { long free; if (key != (free = freeValue)) { long[] keys = set; int capacityMask, index; long cur; if ((cur = keys[index = SeparateKVLongKeyMixing.mix(key) & (capacityMask = keys.length - 1)]) == key) { // key is present return index; } else { if (cur == free) { // key is absent return -1; } else { while (true) { if ((cur = keys[(index = (index - 1) & capacityMask)]) == key) { // key is present return index; } else if (cur == free) { // key is absent return -1; } } } } } else { // key is absent return -1; } }
int index(long key) { long free; if (key != (free = freeValue)) { long[] keys = set; int capacityMask, index; long cur; if ((cur = keys[index = SeparateKVLongKeyMixing.mix(key) & (capacityMask = keys.length - 1)]) == key) { // key is present return index; } else { if (cur == free) { // key is absent return -1; } else { while (true) { if ((cur = keys[(index = (index - 1) & capacityMask)]) == key) { // key is present return index; } else if (cur == free) { // key is absent return -1; } } } } } else { // key is absent return -1; } }
@Override void rehash(int newCapacity) { int mc = modCount(); long free = freeValue; long[] keys = set; V[] vals = values; initForRehash(newCapacity); mc++; // modCount is incremented in initForRehash() long[] newKeys = set; int capacityMask = newKeys.length - 1; V[] newVals = values; for (int i = keys.length - 1; i >= 0; i--) { long key; if ((key = keys[i]) != free) { int index; if (newKeys[index = SeparateKVLongKeyMixing.mix(key) & capacityMask] != free) { while (true) { if (newKeys[(index = (index - 1) & capacityMask)] == free) { break; } } } newKeys[index] = key; newVals[index] = vals[i]; } } if (mc != modCount()) throw new java.util.ConcurrentModificationException(); }
@Override void rehash(int newCapacity) { int mc = modCount(); long free = freeValue; long[] keys = set; V[] vals = values; initForRehash(newCapacity); mc++; // modCount is incremented in initForRehash() long[] newKeys = set; int capacityMask = newKeys.length - 1; V[] newVals = values; for (int i = keys.length - 1; i >= 0; i--) { long key; if ((key = keys[i]) != free) { int index; if (newKeys[index = SeparateKVLongKeyMixing.mix(key) & capacityMask] != free) { while (true) { if (newKeys[(index = (index - 1) & capacityMask)] == free) { break; } } } newKeys[index] = key; newVals[index] = vals[i]; } } if (mc != modCount()) throw new java.util.ConcurrentModificationException(); }
@Override void rehash(int newCapacity) { int mc = modCount(); long free = freeValue; long[] keys = set; V[] vals = values; initForRehash(newCapacity); mc++; // modCount is incremented in initForRehash() long[] newKeys = set; int capacityMask = newKeys.length - 1; V[] newVals = values; for (int i = keys.length - 1; i >= 0; i--) { long key; if ((key = keys[i]) != free) { int index; if (newKeys[index = SeparateKVLongKeyMixing.mix(key) & capacityMask] != free) { while (true) { if (newKeys[(index = (index - 1) & capacityMask)] == free) { break; } } } newKeys[index] = key; newVals[index] = vals[i]; } } if (mc != modCount()) throw new java.util.ConcurrentModificationException(); }
@Override void rehash(int newCapacity) { int mc = modCount(); long free = freeValue; long[] keys = set; byte[] vals = values; initForRehash(newCapacity); mc++; // modCount is incremented in initForRehash() long[] newKeys = set; int capacityMask = newKeys.length - 1; byte[] newVals = values; for (int i = keys.length - 1; i >= 0; i--) { long key; if ((key = keys[i]) != free) { int index; if (newKeys[index = SeparateKVLongKeyMixing.mix(key) & capacityMask] != free) { while (true) { if (newKeys[(index = (index - 1) & capacityMask)] == free) { break; } } } newKeys[index] = key; newVals[index] = vals[i]; } } if (mc != modCount()) throw new java.util.ConcurrentModificationException(); }
@Override void rehash(int newCapacity) { int mc = modCount(); long free = freeValue; long[] keys = set; int[] vals = values; initForRehash(newCapacity); mc++; // modCount is incremented in initForRehash() long[] newKeys = set; int capacityMask = newKeys.length - 1; int[] newVals = values; for (int i = keys.length - 1; i >= 0; i--) { long key; if ((key = keys[i]) != free) { int index; if (newKeys[index = SeparateKVLongKeyMixing.mix(key) & capacityMask] != free) { while (true) { if (newKeys[(index = (index - 1) & capacityMask)] == free) { break; } } } newKeys[index] = key; newVals[index] = vals[i]; } } if (mc != modCount()) throw new java.util.ConcurrentModificationException(); }
@Override void rehash(int newCapacity) { int mc = modCount(); long free = freeValue; long[] keys = set; int[] vals = values; initForRehash(newCapacity); mc++; // modCount is incremented in initForRehash() long[] newKeys = set; int capacityMask = newKeys.length - 1; int[] newVals = values; for (int i = keys.length - 1; i >= 0; i--) { long key; if ((key = keys[i]) != free) { int index; if (newKeys[index = SeparateKVLongKeyMixing.mix(key) & capacityMask] != free) { while (true) { if (newKeys[(index = (index - 1) & capacityMask)] == free) { break; } } } newKeys[index] = key; newVals[index] = vals[i]; } } if (mc != modCount()) throw new java.util.ConcurrentModificationException(); }
long cur; keyAbsent: if ((cur = keys[index = SeparateKVLongKeyMixing.mix(key) & (capacityMask = keys.length - 1)]) != free) { if (cur == key) {
long cur; keyAbsent: if ((cur = keys[index = SeparateKVLongKeyMixing.mix(key) & (capacityMask = keys.length - 1)]) != free) { if (cur == key) {
break; if (((SeparateKVLongKeyMixing.mix(keyToShift) - indexToShift) & capacityMask) >= shiftDistance) { keys[indexToRemove] = keyToShift; vals[indexToRemove] = vals[indexToShift];
long cur; keyAbsent: if ((cur = keys[index = SeparateKVLongKeyMixing.mix(key) & (capacityMask = keys.length - 1)]) != free) { if (cur == key) {
long cur; keyAbsent: if ((cur = keys[index = SeparateKVLongKeyMixing.mix(key) & (capacityMask = keys.length - 1)]) != free) { if (cur == key) {