Lines Matching refs:bitset

506 static zend_always_inline int zend_mm_bitset_nts(zend_mm_bitset bitset)  argument
509 return __builtin_ctzl(~bitset);
511 return __builtin_ctzll(~bitset);
516 if (!BitScanForward64(&index, ~bitset)) {
518 if (!BitScanForward(&index, ~bitset)) {
528 if (bitset == (zend_mm_bitset)-1) return ZEND_MM_BITSET_LEN;
533 if ((bitset & 0xffffffff) == 0xffffffff) {n += 32; bitset = bitset >> Z_UL(32);}
536 if ((bitset & 0x0000ffff) == 0x0000ffff) {n += 16; bitset = bitset >> 16;}
537 if ((bitset & 0x000000ff) == 0x000000ff) {n += 8; bitset = bitset >> 8;}
538 if ((bitset & 0x0000000f) == 0x0000000f) {n += 4; bitset = bitset >> 4;}
539 if ((bitset & 0x00000003) == 0x00000003) {n += 2; bitset = bitset >> 2;}
540 return n + (bitset & 1);
544 static zend_always_inline int zend_mm_bitset_find_zero(zend_mm_bitset *bitset, int size) argument
549 zend_mm_bitset tmp = bitset[i];
558 static zend_always_inline int zend_mm_bitset_find_one(zend_mm_bitset *bitset, int size) argument
563 zend_mm_bitset tmp = bitset[i];
572 static zend_always_inline int zend_mm_bitset_find_zero_and_set(zend_mm_bitset *bitset, int size) argument
577 zend_mm_bitset tmp = bitset[i];
580 bitset[i] |= Z_UL(1) << n;
588 static zend_always_inline int zend_mm_bitset_is_set(zend_mm_bitset *bitset, int bit) argument
590 return ZEND_BIT_TEST(bitset, bit);
593 static zend_always_inline void zend_mm_bitset_set_bit(zend_mm_bitset *bitset, int bit) argument
595 bitset[bit / ZEND_MM_BITSET_LEN] |= (Z_L(1) << (bit & (ZEND_MM_BITSET_LEN-1)));
598 static zend_always_inline void zend_mm_bitset_reset_bit(zend_mm_bitset *bitset, int bit) argument
600 bitset[bit / ZEND_MM_BITSET_LEN] &= ~(Z_L(1) << (bit & (ZEND_MM_BITSET_LEN-1)));
603 static zend_always_inline void zend_mm_bitset_set_range(zend_mm_bitset *bitset, int start, int len) argument
606 zend_mm_bitset_set_bit(bitset, start);
616 bitset[pos++] |= tmp;
619 bitset[pos++] = (zend_mm_bitset)-1;
624 bitset[pos] |= tmp;
630 bitset[pos] |= tmp;
635 static zend_always_inline void zend_mm_bitset_reset_range(zend_mm_bitset *bitset, int start, int le… argument
638 zend_mm_bitset_reset_bit(bitset, start);
648 bitset[pos++] &= ~tmp;
651 bitset[pos++] = 0;
656 bitset[pos] &= ~tmp;
662 bitset[pos] &= ~tmp;
667 static zend_always_inline int zend_mm_bitset_is_free_range(zend_mm_bitset *bitset, int start, int l… argument
670 return !zend_mm_bitset_is_set(bitset, start);
680 if ((bitset[pos++] & tmp) != 0) {
685 if (bitset[pos++] != 0) {
692 return (bitset[pos] & tmp) == 0;
698 return (bitset[pos] & tmp) == 0;
876 zend_mm_bitset *bitset = chunk->free_map;
877 zend_mm_bitset tmp = *(bitset++);
887 tmp = *(bitset++);
902 tmp = *(bitset++);
918 zend_mm_bitset *bitset = chunk->free_map; local
919 zend_mm_bitset tmp = *(bitset++);
934 tmp = *(bitset++);
959 tmp = *(bitset++);