// this should only be called from within read-only snapshots
@Override
- public int cachedSize(final Object ct) {
+ int cachedSize(final TrieMap<K, V> ct) {
final int currsz = READ_SIZE();
if (currsz != -1) {
return currsz;
}
- final int sz = computeSize((TrieMap<K, V>) ct);
+ final int sz = computeSize(ct);
while (READ_SIZE () == -1) {
CAS_SIZE (-1, sz);
}
int bmp = (1 << xidx) | (1 << yidx);
if (xidx == yidx) {
- INode<K, V> subinode = new INode<>(gen);// (TrieMap.inodeupdater)
- subinode.mainnode = dual (x, xhc, y, yhc, lev + 5, gen);
+ INode<K, V> subinode = new INode<>(gen, dual(x, xhc, y, yhc, lev + 5, gen));
return new CNode<>(bmp, new BasicNode[] { subinode }, gen);
} else {
if (xidx < yidx) {