From: Dmitry Stogov Date: Mon, 22 Jan 2018 11:58:16 +0000 (+0300) Subject: Use HT_FLAGS() macro X-Git-Tag: php-7.3.0alpha1~565 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=6634d5e31360681af4048f80f52f0ebe5668b491;p=php Use HT_FLAGS() macro --- diff --git a/Zend/zend_hash.c b/Zend/zend_hash.c index 129898c88c..324f9fd4b3 100644 --- a/Zend/zend_hash.c +++ b/Zend/zend_hash.c @@ -299,10 +299,10 @@ static uint32_t zend_array_recalc_elements(HashTable *ht) ZEND_API uint32_t zend_array_count(HashTable *ht) { uint32_t num; - if (UNEXPECTED(ht->u.v.flags & HASH_FLAG_HAS_EMPTY_IND)) { + if (UNEXPECTED(HT_FLAGS(ht) & HASH_FLAG_HAS_EMPTY_IND)) { num = zend_array_recalc_elements(ht); if (UNEXPECTED(ht->nNumOfElements == num)) { - ht->u.v.flags &= ~HASH_FLAG_HAS_EMPTY_IND; + HT_FLAGS(ht) &= ~HASH_FLAG_HAS_EMPTY_IND; } } else if (UNEXPECTED(ht == &EG(symbol_table))) { num = zend_array_recalc_elements(ht); @@ -1169,7 +1169,7 @@ ZEND_API int ZEND_FASTCALL zend_hash_del_ind(HashTable *ht, zend_string *key) } else { ZVAL_UNDEF(data); } - ht->u.v.flags |= HASH_FLAG_HAS_EMPTY_IND; + HT_FLAGS(ht) |= HASH_FLAG_HAS_EMPTY_IND; } } else { _zend_hash_del_el_ex(ht, idx, p, prev); @@ -1213,7 +1213,7 @@ ZEND_API int ZEND_FASTCALL zend_hash_str_del_ind(HashTable *ht, const char *str, ht->pDestructor(data); } ZVAL_UNDEF(data); - ht->u.v.flags |= HASH_FLAG_HAS_EMPTY_IND; + HT_FLAGS(ht) |= HASH_FLAG_HAS_EMPTY_IND; } } else { _zend_hash_del_el_ex(ht, idx, p, prev); diff --git a/Zend/zend_object_handlers.c b/Zend/zend_object_handlers.c index c4c7ca5794..5eef84d885 100644 --- a/Zend/zend_object_handlers.c +++ b/Zend/zend_object_handlers.c @@ -75,7 +75,7 @@ ZEND_API void rebuild_object_properties(zend_object *zobj) /* {{{ */ (prop_info->flags & ZEND_ACC_STATIC) == 0) { if (UNEXPECTED(Z_TYPE_P(OBJ_PROP(zobj, prop_info->offset)) == IS_UNDEF)) { - zobj->properties->u.v.flags |= HASH_FLAG_HAS_EMPTY_IND; + HT_FLAGS(zobj->properties) |= HASH_FLAG_HAS_EMPTY_IND; } _zend_hash_append_ind(zobj->properties, prop_info->name, @@ -91,7 +91,7 @@ ZEND_API void rebuild_object_properties(zend_object *zobj) /* {{{ */ zval zv; if (UNEXPECTED(Z_TYPE_P(OBJ_PROP(zobj, prop_info->offset)) == IS_UNDEF)) { - zobj->properties->u.v.flags |= HASH_FLAG_HAS_EMPTY_IND; + HT_FLAGS(zobj->properties) |= HASH_FLAG_HAS_EMPTY_IND; } ZVAL_INDIRECT(&zv, OBJ_PROP(zobj, prop_info->offset)); @@ -966,7 +966,7 @@ static void zend_std_unset_property(zval *object, zval *member, void **cache_slo zval_ptr_dtor(slot); ZVAL_UNDEF(slot); if (zobj->properties) { - zobj->properties->u.v.flags |= HASH_FLAG_HAS_EMPTY_IND; + HT_FLAGS(zobj->properties) |= HASH_FLAG_HAS_EMPTY_IND; } goto exit; } diff --git a/Zend/zend_objects.c b/Zend/zend_objects.c index d309658538..53e11b1e77 100644 --- a/Zend/zend_objects.c +++ b/Zend/zend_objects.c @@ -203,8 +203,8 @@ ZEND_API void ZEND_FASTCALL zend_objects_clone_members(zend_object *new_object, zend_hash_extend(new_object->properties, new_object->properties->nNumUsed + zend_hash_num_elements(old_object->properties), 0); } - new_object->properties->u.v.flags |= - old_object->properties->u.v.flags & HASH_FLAG_HAS_EMPTY_IND; + HT_FLAGS(new_object->properties) |= + HT_FLAGS(old_object->properties) & HASH_FLAG_HAS_EMPTY_IND; ZEND_HASH_FOREACH_KEY_VAL(old_object->properties, num_key, key, prop) { if (Z_TYPE_P(prop) == IS_INDIRECT) { diff --git a/ext/spl/spl_array.c b/ext/spl/spl_array.c index 01001f2da7..0e610ee125 100644 --- a/ext/spl/spl_array.c +++ b/ext/spl/spl_array.c @@ -560,7 +560,7 @@ try_again: } else { zval_ptr_dtor(data); ZVAL_UNDEF(data); - ht->u.v.flags |= HASH_FLAG_HAS_EMPTY_IND; + HT_FLAGS(ht) |= HASH_FLAG_HAS_EMPTY_IND; zend_hash_move_forward_ex(ht, spl_array_get_pos_ptr(ht, intern)); if (spl_array_is_object(intern)) { spl_array_skip_protected(intern, ht); diff --git a/ext/standard/array.c b/ext/standard/array.c index 3ebf073d11..50ea6802ae 100644 --- a/ext/standard/array.c +++ b/ext/standard/array.c @@ -3194,7 +3194,7 @@ static void php_splice(HashTable *in_hash, zend_long offset, zend_long length, H in_hash->pDestructor = NULL; zend_hash_destroy(in_hash); - in_hash->u.v.flags = out_hash.u.v.flags; + HT_FLAGS(in_hash) = HT_FLAGS(&out_hash); in_hash->nTableSize = out_hash.nTableSize; in_hash->nTableMask = out_hash.nTableMask; in_hash->nNumUsed = out_hash.nNumUsed; @@ -3461,7 +3461,7 @@ PHP_FUNCTION(array_unshift) Z_ARRVAL_P(stack)->pDestructor = NULL; zend_hash_destroy(Z_ARRVAL_P(stack)); - Z_ARRVAL_P(stack)->u.v.flags = new_hash.u.v.flags; + HT_FLAGS(Z_ARRVAL_P(stack)) = HT_FLAGS(&new_hash); Z_ARRVAL_P(stack)->nTableSize = new_hash.nTableSize; Z_ARRVAL_P(stack)->nTableMask = new_hash.nTableMask; Z_ARRVAL_P(stack)->nNumUsed = new_hash.nNumUsed;