"Fossies" - the Fresh Open Source Software Archive  

Source code changes of the file "src/libponyrt/ds/hash.c" between
ponyc-0.33.1.tar.gz and ponyc-0.33.2.tar.gz

About: Pony is an object-oriented, actor-model, capabilities-secure, high performance programming language.

hash.c  (ponyc-0.33.1):hash.c  (ponyc-0.33.2)
skipping to change at line 473 skipping to change at line 473
size_t ib_offset = index & HASHMAP_BITMAP_TYPE_MASK; size_t ib_offset = index & HASHMAP_BITMAP_TYPE_MASK;
size_t ffs_offset = 0; size_t ffs_offset = 0;
// get bitmap entry // get bitmap entry
// right shift to get rid of old 1 bits we don't care about // right shift to get rid of old 1 bits we don't care about
bitmap_t ib = item_bitmap[ib_index] >> ib_offset; bitmap_t ib = item_bitmap[ib_index] >> ib_offset;
while(index < size) while(index < size)
{ {
// find first set bit using ffs // find first set bit using ffs
ffs_offset = __pony_ffsl(ib); ffs_offset = __pony_ffszu(ib);
// if no bits set; increment index to next item bitmap entry // if no bits set; increment index to next item bitmap entry
if(ffs_offset == 0) if(ffs_offset == 0)
{ {
index += (HASHMAP_BITMAP_TYPE_SIZE - ib_offset); index += (HASHMAP_BITMAP_TYPE_SIZE - ib_offset);
ib_index++; ib_index++;
ib_offset = 0; ib_offset = 0;
ib = item_bitmap[ib_index]; ib = item_bitmap[ib_index];
continue; continue;
} else { } else {
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added

Home  |  About  |  Features  |  All  |  Newest  |  Dox  |  Diffs  |  RSS Feeds  |  Screenshots  |  Comments  |  Imprint  |  Privacy  |  HTTP(S)