mirror of
https://github.com/php/php-src.git
synced 2025-08-15 21:48:51 +02:00
Replace unused generic zend_hash_*add_or_update() functions by compact implmentations.
This commit is contained in:
parent
f4b7239cae
commit
37069d7d2f
3 changed files with 64 additions and 15 deletions
|
@ -777,7 +777,16 @@ add_to_hash:
|
|||
|
||||
ZEND_API zval* ZEND_FASTCALL _zend_hash_add_or_update(HashTable *ht, zend_string *key, zval *pData, uint32_t flag ZEND_FILE_LINE_DC)
|
||||
{
|
||||
return _zend_hash_add_or_update_i(ht, key, pData, flag ZEND_FILE_LINE_RELAY_CC);
|
||||
if (flag == HASH_ADD) {
|
||||
return _zend_hash_add(ht, key, pData ZEND_FILE_LINE_RELAY_CC);
|
||||
} else if (flag == HASH_ADD_NEW) {
|
||||
return _zend_hash_add_new(ht, key, pData ZEND_FILE_LINE_RELAY_CC);
|
||||
} else if (flag == HASH_UPDATE) {
|
||||
return _zend_hash_update(ht, key, pData ZEND_FILE_LINE_RELAY_CC);
|
||||
} else {
|
||||
ZEND_ASSERT(flag == (HASH_UPDATE|HASH_UPDATE_INDIRECT));
|
||||
return _zend_hash_update_ind(ht, key, pData ZEND_FILE_LINE_RELAY_CC);
|
||||
}
|
||||
}
|
||||
|
||||
ZEND_API zval* ZEND_FASTCALL _zend_hash_add(HashTable *ht, zend_string *key, zval *pData ZEND_FILE_LINE_DC)
|
||||
|
@ -802,9 +811,16 @@ ZEND_API zval* ZEND_FASTCALL _zend_hash_add_new(HashTable *ht, zend_string *key,
|
|||
|
||||
ZEND_API zval* ZEND_FASTCALL _zend_hash_str_add_or_update(HashTable *ht, const char *str, size_t len, zval *pData, uint32_t flag ZEND_FILE_LINE_DC)
|
||||
{
|
||||
zend_ulong h = zend_hash_func(str, len);
|
||||
|
||||
return _zend_hash_str_add_or_update_i(ht, str, len, h, pData, flag ZEND_FILE_LINE_RELAY_CC);
|
||||
if (flag == HASH_ADD) {
|
||||
return _zend_hash_str_add(ht, str, len, pData ZEND_FILE_LINE_RELAY_CC);
|
||||
} else if (flag == HASH_ADD_NEW) {
|
||||
return _zend_hash_str_add_new(ht, str, len, pData ZEND_FILE_LINE_RELAY_CC);
|
||||
} else if (flag == HASH_UPDATE) {
|
||||
return _zend_hash_str_update(ht, str, len, pData ZEND_FILE_LINE_RELAY_CC);
|
||||
} else {
|
||||
ZEND_ASSERT(flag == (HASH_UPDATE|HASH_UPDATE_INDIRECT));
|
||||
return _zend_hash_str_update_ind(ht, str, len, pData ZEND_FILE_LINE_RELAY_CC);
|
||||
}
|
||||
}
|
||||
|
||||
ZEND_API zval* ZEND_FASTCALL _zend_hash_str_update(HashTable *ht, const char *str, size_t len, zval *pData ZEND_FILE_LINE_DC)
|
||||
|
@ -945,7 +961,20 @@ add:
|
|||
|
||||
ZEND_API zval* ZEND_FASTCALL _zend_hash_index_add_or_update(HashTable *ht, zend_ulong h, zval *pData, uint32_t flag ZEND_FILE_LINE_DC)
|
||||
{
|
||||
return _zend_hash_index_add_or_update_i(ht, h, pData, flag ZEND_FILE_LINE_RELAY_CC);
|
||||
if (flag == HASH_ADD) {
|
||||
return _zend_hash_index_add(ht, h, pData ZEND_FILE_LINE_RELAY_CC);
|
||||
} else if (flag == (HASH_ADD|HASH_ADD_NEW)) {
|
||||
return _zend_hash_index_add_new(ht, h, pData ZEND_FILE_LINE_RELAY_CC);
|
||||
} else if (flag == (HASH_ADD|HASH_ADD_NEXT)) {
|
||||
ZEND_ASSERT(h == ht->nNextFreeElement);
|
||||
return _zend_hash_next_index_insert(ht, pData ZEND_FILE_LINE_RELAY_CC);
|
||||
} else if (flag == (HASH_ADD|HASH_ADD_NEW|HASH_ADD_NEXT)) {
|
||||
ZEND_ASSERT(h == ht->nNextFreeElement);
|
||||
return _zend_hash_next_index_insert_new(ht, pData ZEND_FILE_LINE_RELAY_CC);
|
||||
} else {
|
||||
ZEND_ASSERT(flag == HASH_UPDATE);
|
||||
return _zend_hash_index_update(ht, h, pData ZEND_FILE_LINE_RELAY_CC);
|
||||
}
|
||||
}
|
||||
|
||||
ZEND_API zval* ZEND_FASTCALL _zend_hash_index_add(HashTable *ht, zend_ulong h, zval *pData ZEND_FILE_LINE_DC)
|
||||
|
|
|
@ -89,23 +89,45 @@ ZEND_API void zend_ts_hash_clean(TsHashTable *ht)
|
|||
end_write(ht);
|
||||
}
|
||||
|
||||
ZEND_API zval *_zend_ts_hash_add_or_update(TsHashTable *ht, zend_string *key, zval *pData, int flag ZEND_FILE_LINE_DC)
|
||||
ZEND_API zval *_zend_ts_hash_add(TsHashTable *ht, zend_string *key, zval *pData ZEND_FILE_LINE_DC)
|
||||
{
|
||||
zval *retval;
|
||||
|
||||
begin_write(ht);
|
||||
retval = _zend_hash_add_or_update(TS_HASH(ht), key, pData, flag ZEND_FILE_LINE_RELAY_CC);
|
||||
retval = _zend_hash_add(TS_HASH(ht), key, pData ZEND_FILE_LINE_RELAY_CC);
|
||||
end_write(ht);
|
||||
|
||||
return retval;
|
||||
}
|
||||
|
||||
ZEND_API zval *_zend_ts_hash_index_add_or_update(TsHashTable *ht, zend_ulong h, zval *pData, int flag ZEND_FILE_LINE_DC)
|
||||
ZEND_API zval *_zend_ts_hash_update(TsHashTable *ht, zend_string *key, zval *pData ZEND_FILE_LINE_DC)
|
||||
{
|
||||
zval *retval;
|
||||
|
||||
begin_write(ht);
|
||||
retval = _zend_hash_index_add_or_update(TS_HASH(ht), h, pData, flag ZEND_FILE_LINE_RELAY_CC);
|
||||
retval = _zend_hash_update(TS_HASH(ht), key, pData ZEND_FILE_LINE_RELAY_CC);
|
||||
end_write(ht);
|
||||
|
||||
return retval;
|
||||
}
|
||||
|
||||
ZEND_API zval *_zend_ts_hash_next_index_insert(TsHashTable *ht, zval *pData ZEND_FILE_LINE_DC)
|
||||
{
|
||||
zval *retval;
|
||||
|
||||
begin_write(ht);
|
||||
retval = _zend_hash_next_index_insert(TS_HASH(ht), pData ZEND_FILE_LINE_RELAY_CC);
|
||||
end_write(ht);
|
||||
|
||||
return retval;
|
||||
}
|
||||
|
||||
ZEND_API zval *_zend_ts_hash_index_update(TsHashTable *ht, zend_ulong h, zval *pData ZEND_FILE_LINE_DC)
|
||||
{
|
||||
zval *retval;
|
||||
|
||||
begin_write(ht);
|
||||
retval = _zend_hash_index_update(TS_HASH(ht), h, pData ZEND_FILE_LINE_RELAY_CC);
|
||||
end_write(ht);
|
||||
|
||||
return retval;
|
||||
|
|
|
@ -48,17 +48,15 @@ ZEND_API void zend_ts_hash_clean(TsHashTable *ht);
|
|||
|
||||
|
||||
/* additions/updates/changes */
|
||||
ZEND_API zval *_zend_ts_hash_add_or_update(TsHashTable *ht, zend_string *key, zval *pData, int flag ZEND_FILE_LINE_DC);
|
||||
#define zend_ts_hash_update(ht, key, pData) \
|
||||
_zend_ts_hash_add_or_update(ht, key, pData, HASH_UPDATE ZEND_FILE_LINE_CC)
|
||||
_zend_ts_hash_update(ht, key, pData ZEND_FILE_LINE_CC)
|
||||
#define zend_ts_hash_add(ht, key, pData) \
|
||||
_zend_ts_hash_add_or_update(ht, key, pData, HASH_ADD ZEND_FILE_LINE_CC)
|
||||
_zend_ts_hash_add(ht, key, pData ZEND_FILE_LINE_CC)
|
||||
|
||||
ZEND_API zval *_zend_ts_hash_index_add_or_update(TsHashTable *ht, zend_ulong h, zval *pData, int flag ZEND_FILE_LINE_DC);
|
||||
#define zend_ts_hash_index_update(ht, h, pData) \
|
||||
_zend_ts_hash_index_add_or_update(ht, h, pData, HASH_UPDATE ZEND_FILE_LINE_CC)
|
||||
_zend_ts_hash_index_update(ht, h, pData ZEND_FILE_LINE_CC)
|
||||
#define zend_ts_hash_next_index_insert(ht, pData) \
|
||||
_zend_ts_hash_index_add_or_update(ht, ht->nNextFreeElement, pData, HASH_ADD ZEND_FILE_LINE_CC)
|
||||
_zend_ts_hash_next_index_insert(ht, ht->nNextFreeElement, pData ZEND_FILE_LINE_CC)
|
||||
|
||||
ZEND_API zval* zend_ts_hash_add_empty_element(TsHashTable *ht, zend_string *key);
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue