From feb22b24cfb27f7bd7769f77d29937388a0a850c Mon Sep 17 00:00:00 2001 From: Dmitry Stogov Date: Wed, 21 Mar 2018 12:39:56 +0300 Subject: [PATCH] Micro optimization --- Zend/zend_hash.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/Zend/zend_hash.c b/Zend/zend_hash.c index 36b6ea9123..b209cbb70e 100644 --- a/Zend/zend_hash.c +++ b/Zend/zend_hash.c @@ -1041,16 +1041,17 @@ static zend_always_inline void _zend_hash_del_el_ex(HashTable *ht, uint32_t idx, HT_HASH(ht, p->h | ht->nTableMask) = Z_NEXT(p->val); } } - if (HT_IDX_TO_HASH(ht->nNumUsed - 1) == idx) { + idx = HT_HASH_TO_IDX(idx); + if (ht->nNumUsed - 1 == idx) { do { ht->nNumUsed--; } while (ht->nNumUsed > 0 && (UNEXPECTED(Z_TYPE(ht->arData[ht->nNumUsed-1].val) == IS_UNDEF))); } ht->nNumOfElements--; - if (HT_IDX_TO_HASH(ht->nInternalPointer) == idx || UNEXPECTED(HT_HAS_ITERATORS(ht))) { + if (ht->nInternalPointer == idx || UNEXPECTED(HT_HAS_ITERATORS(ht))) { uint32_t new_idx; - new_idx = idx = HT_HASH_TO_IDX(idx); + new_idx = idx; while (1) { new_idx++; if (new_idx >= ht->nNumUsed) { -- 2.50.0