       memset(nextxhashslot, xnil, NSLOTS * sizeof(xslot));
 #endif
     }
-    __device__ bool addslot(u32 s1, u32 xh) {
+    __device__ void addslot(u32 s1, u32 xh) {
 #ifdef XBITMAP
       xmap = xhashmap[xh];
       xhashmap[xh] |= (u64)1 << s1;
       s0 = ~0;
-      return true;
 #else
       nextslot = xhashslots[xh];
       nextxhashslot[s1] = nextslot;
       xhashslots[xh] = s1;
-      return true;
 #endif
     }
     __device__ bool nextcollision() const {

    u32 bsize = eq->getnslots1(bucketid);
    for (u32 s1 = 0; s1 < bsize; s1++) {
      const slot1 *pslot1 = buck + s1;
      if (!cd.addslot(s1, htl.getxhash1(pslot1)))
        continue;
      for (; cd.nextcollision(); ) {
        const u32 s0 = cd.slot();
        const slot1 *pslot0 = buck + s0;
        if (htl.equal(pslot0->hash, pslot1->hash))

    u32 bsize = eq->getnslots1(bucketid);
    for (u32 s1 = 0; s1 < bsize; s1++) {
      const slot1 *pslot1 = buck + s1;
      for (cd.addslot(s1, htl.getxhash1(pslot1)); cd.nextcollision(); ) {
        const u32 s0 = cd.slot();
        const slot1 *pslot0 = buck + s0;
        if (htl.equal(pslot0->hash, pslot1->hash))
