X-Git-Url: https://git.saurik.com/bison.git/blobdiff_plain/0fb669f9d648dfdd7a39478a6b658511455ae966..69ce078b8cf61eb5087b91538d79a1143ce77c46:/lib/lbitset.c?ds=sidebyside diff --git a/lib/lbitset.c b/lib/lbitset.c index aeaa5b21..9d3d9573 100644 --- a/lib/lbitset.c +++ b/lib/lbitset.c @@ -41,7 +41,7 @@ /* Number of words to use for each element. The larger the value the greater the size of the cache and the shorter the time to find a given bit but the more memory wasted for sparse bitsets and the longer the time - to search for set bits. + to search for set bits. The routines that dominate timing profiles are lbitset_elt_find and lbitset_elt_link, especially when accessing the bits randomly. */ @@ -888,18 +888,18 @@ lbitset_unused_clear (bitset dst) n_bits = BITSET_SIZE_ (dst); last_bit = n_bits % LBITSET_ELT_BITS; - + if (last_bit) { lbitset_elt *elt; bitset_windex windex; bitset_word *srcp; - + elt = LBITSET_TAIL (dst); srcp = elt->words; windex = n_bits / BITSET_WORD_BITS; - - srcp[windex - elt->index] &= ((bitset_word) 1 << last_bit) - 1; + + srcp[windex - elt->index] &= ((bitset_word) 1 << last_bit) - 1; windex++; for (; (windex - elt->index) < LBITSET_ELT_WORDS; windex++)