diff options
author | Nikita Popov <nikita.ppv@gmail.com> | 2019-10-25 10:45:42 +0200 |
---|---|---|
committer | Nikita Popov <nikita.ppv@gmail.com> | 2019-10-25 10:51:17 +0200 |
commit | c858d17f06179aa25f6e8aa06965313fd519d8e9 (patch) | |
tree | de199c2dada0099a344ff595cf024958f98caa5b /Zend/zend_API.c | |
parent | bd7b1afd6eb623a4905673dfc92bb0de62f23edd (diff) | |
download | php-git-c858d17f06179aa25f6e8aa06965313fd519d8e9.tar.gz |
Optimize instanceof_function
Split out the simple equality check into an inline function --
this is one of the common cases.
Replace instanceof_function_ex with zend_class_implements_interface.
There are a few more places where it may be used.
Diffstat (limited to 'Zend/zend_API.c')
-rw-r--r-- | Zend/zend_API.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/Zend/zend_API.c b/Zend/zend_API.c index b32c82a1b9..9bc6b12cd6 100644 --- a/Zend/zend_API.c +++ b/Zend/zend_API.c @@ -4282,7 +4282,7 @@ ZEND_API zend_bool zend_is_iterable(zval *iterable) /* {{{ */ case IS_ARRAY: return 1; case IS_OBJECT: - return instanceof_function(Z_OBJCE_P(iterable), zend_ce_traversable); + return zend_class_implements_interface(Z_OBJCE_P(iterable), zend_ce_traversable); default: return 0; } @@ -4299,7 +4299,7 @@ ZEND_API zend_bool zend_is_countable(zval *countable) /* {{{ */ return 1; } - return instanceof_function(Z_OBJCE_P(countable), zend_ce_countable); + return zend_class_implements_interface(Z_OBJCE_P(countable), zend_ce_countable); default: return 0; } |