On Fri, Mar 2, 2012 at 8:51 PM, Adi Mutu <adi_mut...@yahoo.com> wrote: > > > Hello, > > Can somebody shed some light on these 2 defines? Thanks. > > > #define ZEND_MM_SMALL_FREE_BUCKET(heap, index) \ (zend_mm_free_block*) > ((char*)&heap->free_buckets[index * 2] + \ sizeof(zend_mm_free_block*) * > 2 - \ sizeof(zend_mm_small_free_block)) #define > ZEND_MM_REST_BUCKET(heap) \ > (zend_mm_free_block*)((char*)&heap->rest_buckets[0] + \ > sizeof(zend_mm_free_block*) * 2 - \ sizeof(zend_mm_small_free_block))
Hi: the first MACRO is a tricky way to put a number of ZEND_NUM_BUCKETS zend_mm_buckects into a fixed length array. and yes, my site might be blocked by chinese GFW, but you can try this: https://wiki.php.net/internals/zend_mm plz see the red part of the first picture.. thanks -- Laruence Xinchen Hui http://www.laruence.com/ -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php