"Fossies" - the Fresh Open Source Software Archive  

Source code changes of the file "src/libponyrt/mem/pool.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.

pool.c  (ponyc-0.33.1):pool.c  (ponyc-0.33.2)
skipping to change at line 1040 skipping to change at line 1040
{ {
#ifdef PLATFORM_IS_ILP32 #ifdef PLATFORM_IS_ILP32
#define BITS (32 - POOL_MIN_BITS) #define BITS (32 - POOL_MIN_BITS)
#else #else
#define BITS (64 - POOL_MIN_BITS) #define BITS (64 - POOL_MIN_BITS)
#endif #endif
// The condition is in that order for better branch prediction: non-zero pool // The condition is in that order for better branch prediction: non-zero pool
// indices are more likely than zero pool indices. // indices are more likely than zero pool indices.
if(size > POOL_MIN) if(size > POOL_MIN)
return (size_t)BITS - __pony_clzl(size) - (!(size & (size - 1))); return (size_t)BITS - __pony_clzzu(size) - (!(size & (size - 1)));
return 0; return 0;
} }
size_t ponyint_pool_used_size(size_t size) size_t ponyint_pool_used_size(size_t size)
{ {
size_t index = ponyint_pool_index(size); size_t index = ponyint_pool_index(size);
if(index < POOL_COUNT) if(index < POOL_COUNT)
return POOL_SIZE(index); return POOL_SIZE(index);
 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)