(a cherry-pick of commit
e55f4632 from 'master')
* allchblk.c [MARK_BIT_PER_OBJ] (setup_header): Fix comment
(sz*inv_sz>=2**32).
* allchblk.c [MARK_BIT_PER_OBJ && INV_SZ_COMPUTATION_CHECK]
(setup_header): Add assertion to check the computation of inv_sz.
# ifdef MARK_BIT_PER_OBJ
/* Set hb_inv_sz as portably as possible. */
- /* We set it to the smallest value such that sz * inv_sz > 2**32 */
+ /* We set it to the smallest value such that sz * inv_sz >= 2**32 */
/* This may be more precision than necessary. */
if (byte_sz > MAXOBJBYTES) {
hhdr -> hb_inv_sz = LARGE_INV_SZ;
inv_sz = ((unsigned)1 << 31)/byte_sz;
inv_sz *= 2;
while (inv_sz*byte_sz > byte_sz) ++inv_sz;
+# endif
+# ifdef INV_SZ_COMPUTATION_CHECK
+ GC_ASSERT(((1ULL << 32) + byte_sz - 1) / byte_sz == inv_sz);
# endif
hhdr -> hb_inv_sz = inv_sz;
}