Lines Matching refs:bitset

544 ZEND_ATTRIBUTE_CONST static zend_always_inline int zend_mm_bitset_nts(zend_mm_bitset bitset)  argument
547 return __builtin_ctzl(~bitset);
549 return __builtin_ctzll(~bitset);
554 if (!BitScanForward64(&index, ~bitset)) {
556 if (!BitScanForward(&index, ~bitset)) {
566 if (bitset == (zend_mm_bitset)-1) return ZEND_MM_BITSET_LEN;
571 if ((bitset & 0xffffffff) == 0xffffffff) {n += 32; bitset = bitset >> Z_UL(32);}
574 if ((bitset & 0x0000ffff) == 0x0000ffff) {n += 16; bitset = bitset >> 16;}
575 if ((bitset & 0x000000ff) == 0x000000ff) {n += 8; bitset = bitset >> 8;}
576 if ((bitset & 0x0000000f) == 0x0000000f) {n += 4; bitset = bitset >> 4;}
577 if ((bitset & 0x00000003) == 0x00000003) {n += 2; bitset = bitset >> 2;}
578 return n + (bitset & 1);
582 static zend_always_inline int zend_mm_bitset_is_set(zend_mm_bitset *bitset, int bit) argument
584 return ZEND_BIT_TEST(bitset, bit);
587 static zend_always_inline void zend_mm_bitset_set_bit(zend_mm_bitset *bitset, int bit) argument
589 bitset[bit / ZEND_MM_BITSET_LEN] |= (Z_UL(1) << (bit & (ZEND_MM_BITSET_LEN-1)));
592 static zend_always_inline void zend_mm_bitset_reset_bit(zend_mm_bitset *bitset, int bit) argument
594 bitset[bit / ZEND_MM_BITSET_LEN] &= ~(Z_UL(1) << (bit & (ZEND_MM_BITSET_LEN-1)));
597 static zend_always_inline void zend_mm_bitset_set_range(zend_mm_bitset *bitset, int start, int len) argument
600 zend_mm_bitset_set_bit(bitset, start);
610 bitset[pos++] |= tmp;
613 bitset[pos++] = (zend_mm_bitset)-1;
618 bitset[pos] |= tmp;
624 bitset[pos] |= tmp;
629 static zend_always_inline void zend_mm_bitset_reset_range(zend_mm_bitset *bitset, int start, int le… argument
632 zend_mm_bitset_reset_bit(bitset, start);
642 bitset[pos++] &= ~tmp;
645 bitset[pos++] = 0;
650 bitset[pos] &= ~tmp;
656 bitset[pos] &= ~tmp;
661 static zend_always_inline int zend_mm_bitset_is_free_range(zend_mm_bitset *bitset, int start, int l… argument
664 return !zend_mm_bitset_is_set(bitset, start);
674 if ((bitset[pos++] & tmp) != 0) {
679 if (bitset[pos++] != 0) {
686 return (bitset[pos] & tmp) == 0;
692 return (bitset[pos] & tmp) == 0;
901 zend_mm_bitset *bitset = chunk->free_map;
902 zend_mm_bitset tmp = *(bitset++);
912 tmp = *(bitset++);
927 tmp = *(bitset++);
943 zend_mm_bitset *bitset = chunk->free_map; local
944 zend_mm_bitset tmp = *(bitset++);
959 tmp = *(bitset++);
984 tmp = *(bitset++);