Commit a83c0257306 for php.net

commit a83c0257306d366d32f8284fc9e4eae7561df47b
Author: Ilija Tovilo <ilija.tovilo@me.com>
Date:   Tue Mar 3 00:20:34 2026 +0100

    Use zend_always_inline for frameless function template functions (GH-21316)

diff --git a/Zend/zend_builtin_functions.c b/Zend/zend_builtin_functions.c
index 355e562489d..c16d8e74f2b 100644
--- a/Zend/zend_builtin_functions.c
+++ b/Zend/zend_builtin_functions.c
@@ -1088,7 +1088,7 @@ flf_clean:;
 	Z_FLF_PARAM_FREE_STR(2, property_tmp)
 }

-static inline void _class_exists_impl(zval *return_value, zend_string *name, bool autoload, int flags, int skip_flags) /* {{{ */
+static zend_always_inline void _class_exists_impl(zval *return_value, zend_string *name, bool autoload, int flags, int skip_flags) /* {{{ */
 {
 	zend_string *lcname;
 	zend_class_entry *ce;
diff --git a/ext/standard/array.c b/ext/standard/array.c
index f8dd7d891dd..de889154edd 100644
--- a/ext/standard/array.c
+++ b/ext/standard/array.c
@@ -1527,7 +1527,7 @@ PHP_FUNCTION(array_walk_recursive)
  * 0 = return boolean
  * 1 = return key
  */
-static inline void _php_search_array(zval *return_value, zval *value, zval *array, bool strict, int behavior) /* {{{ */
+static zend_always_inline void _php_search_array(zval *return_value, zval *value, zval *array, bool strict, int behavior) /* {{{ */
 {
 	zval *entry; /* pointer to array entry */
 	zend_ulong num_idx;
diff --git a/ext/standard/string.c b/ext/standard/string.c
index 0b7d5be1a25..d146b4534e2 100644
--- a/ext/standard/string.c
+++ b/ext/standard/string.c
@@ -1500,7 +1500,7 @@ PHPAPI size_t php_dirname(char *path, size_t len)
 }
 /* }}} */

-static inline void _zend_dirname(zval *return_value, zend_string *str, zend_long levels)
+static zend_always_inline void _zend_dirname(zval *return_value, zend_string *str, zend_long levels)
 {
 	zend_string *ret;

@@ -1745,7 +1745,7 @@ PHP_FUNCTION(stristr)
 }
 /* }}} */

-static inline void _zend_strstr(zval *return_value, zend_string *haystack, zend_string *needle, bool part)
+static zend_always_inline void _zend_strstr(zval *return_value, zend_string *haystack, zend_string *needle, bool part)
 {
 	const char *found = NULL;
 	zend_long found_offset;
@@ -1889,7 +1889,7 @@ PHP_FUNCTION(str_ends_with)
 }
 /* }}} */

-static inline void _zend_strpos(zval *return_value, zend_string *haystack, zend_string *needle, zend_long offset)
+static zend_always_inline void _zend_strpos(zval *return_value, zend_string *haystack, zend_string *needle, zend_long offset)
 {
 	const char *found = NULL;

diff --git a/ext/standard/type.c b/ext/standard/type.c
index c05926b1a37..5bb7b3b803e 100644
--- a/ext/standard/type.c
+++ b/ext/standard/type.c
@@ -344,7 +344,7 @@ PHP_FUNCTION(is_object)
 }
 /* }}} */

-static inline void _zend_is_numeric(zval *return_value, zval *arg)
+static zend_always_inline void _zend_is_numeric(zval *return_value, zval *arg)
 {
 	switch (Z_TYPE_P(arg)) {
 		case IS_LONG: