summaryrefslogtreecommitdiff
path: root/Zend/zend_hash.h
diff options
context:
space:
mode:
authorXinchen Hui <laruence@gmail.com>2017-12-18 11:55:14 +0800
committerXinchen Hui <laruence@gmail.com>2017-12-18 11:55:14 +0800
commit4dfbfe93aa493fdb40afae5405f1b2b6efff1485 (patch)
tree0e58b18faba78b4173fd2c6acbf8ae583f821379 /Zend/zend_hash.h
parent744d3c575340cfe275cf2c1389afbaeac5381de2 (diff)
downloadphp-git-4dfbfe93aa493fdb40afae5405f1b2b6efff1485.tar.gz
Use cheaper API
Diffstat (limited to 'Zend/zend_hash.h')
-rw-r--r--Zend/zend_hash.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/Zend/zend_hash.h b/Zend/zend_hash.h
index 6a37e8a82b..c27f08bd72 100644
--- a/Zend/zend_hash.h
+++ b/Zend/zend_hash.h
@@ -807,6 +807,19 @@ static zend_always_inline void *zend_hash_find_ptr(const HashTable *ht, zend_str
}
}
+static zend_always_inline void *zend_hash_find_ex_ptr(const HashTable *ht, zend_string *key, zend_bool known_hash)
+{
+ zval *zv;
+
+ zv = zend_hash_find_ex(ht, key, known_hash);
+ if (zv) {
+ ZEND_ASSUME(Z_PTR_P(zv));
+ return Z_PTR_P(zv);
+ } else {
+ return NULL;
+ }
+}
+
static zend_always_inline void *zend_hash_str_find_ptr(const HashTable *ht, const char *str, size_t len)
{
zval *zv;