code: private boolean findFreeChunk(long x) {
      long size = chunkSize(x);
      if (isSmall(size)) {
        int sidx = smallBinIndex(size);
        long h = smallBins[sidx];
        if (smallMapIsMarked(sidx)) {
          long p = h;
          do {
            if (p == x)
              return true;
          } while ((p = forward(p)) != h);
        }
      } else {
        int tidx = treeBinIndex(size);
        if (treeMapIsMarked(tidx)) {
          long t = treeBins[tidx];
          long sizebits = size << leftShiftForTreeIndex(tidx);
          while (t != -1L && chunkSize(t) != size) {
            t = child(t, (int) ((sizebits >>> (SIZE_T_BITSIZE - 1)) & 1));
            sizebits <<= 1;
          }
          if (t != -1L) {
            long u = t;
            do {
              if (u == x)
                return true;
            } while ((u = forward(u)) != t);
          }
        }
      }
      return false;
    }
docs: /* Find x in a bin. Used in other check functions.