]> granicus.if.org Git - php/commitdiff
Use fastcall calling convention
authorDmitry Stogov <dmitry@zend.com>
Tue, 15 Jan 2019 08:14:33 +0000 (11:14 +0300)
committerDmitry Stogov <dmitry@zend.com>
Tue, 15 Jan 2019 08:14:33 +0000 (11:14 +0300)
Zend/zend_execute.c
Zend/zend_execute.h

index 363812e01ff9581f2f36619ffc808105c81994c2..fbc50bd2f65c6e11f2b68e15f00e54844c09a350 100644 (file)
@@ -2556,7 +2556,7 @@ static zend_always_inline zend_property_info *i_zend_check_ref_stdClass_assignab
        return NULL;
 }
 
-ZEND_API zend_property_info *zend_check_ref_array_assignable(zend_reference *ref) {
+ZEND_API zend_property_info* ZEND_FASTCALL zend_check_ref_array_assignable(zend_reference *ref) {
        return i_zend_check_ref_array_assignable(ref);
 }
 
@@ -2943,12 +2943,12 @@ static zend_always_inline zend_bool i_zend_verify_ref_assignable_zval(zend_refer
        return 1;
 }
 
-ZEND_API zend_bool zend_verify_ref_assignable_zval(zend_reference *ref, zval *zv, zend_bool strict)
+ZEND_API zend_bool ZEND_FASTCALL zend_verify_ref_assignable_zval(zend_reference *ref, zval *zv, zend_bool strict)
 {
        return i_zend_verify_ref_assignable_zval(ref, zv, strict);
 }
 
-ZEND_API zend_bool zend_verify_prop_assignable_by_ref(zend_property_info *prop_info, zval *orig_val, zend_bool strict) {
+ZEND_API zend_bool ZEND_FASTCALL zend_verify_prop_assignable_by_ref(zend_property_info *prop_info, zval *orig_val, zend_bool strict) {
        zval *val = orig_val;
        if (Z_ISREF_P(val) && ZEND_REF_HAS_TYPE_SOURCES(Z_REF_P(val))) {
                int result;
@@ -2981,7 +2981,7 @@ ZEND_API zend_bool zend_verify_prop_assignable_by_ref(zend_property_info *prop_i
        return 0;
 }
 
-ZEND_API void zend_ref_add_type_source(zend_property_info_source_list *source_list, zend_property_info *prop)
+ZEND_API void ZEND_FASTCALL zend_ref_add_type_source(zend_property_info_source_list *source_list, zend_property_info *prop)
 {
        zend_property_info_list *list;
        if (source_list->ptr == NULL) {
@@ -3004,7 +3004,7 @@ ZEND_API void zend_ref_add_type_source(zend_property_info_source_list *source_li
        source_list->list = ZEND_PROPERTY_INFO_SOURCE_FROM_LIST(list);
 }
 
-ZEND_API void zend_ref_del_type_source(zend_property_info_source_list *source_list, zend_property_info *prop)
+ZEND_API void ZEND_FASTCALL zend_ref_del_type_source(zend_property_info_source_list *source_list, zend_property_info *prop)
 {
        zend_property_info_list *list = ZEND_PROPERTY_INFO_SOURCE_TO_LIST(source_list->list);
        zend_property_info **ptr, **end;
index b330ba80d61e4e0e1d2ea80b1a6a7e97668e2ac2..8e4dab37a946ba9cf36f9518d1e6e4c44d7e52bd 100644 (file)
@@ -56,9 +56,9 @@ ZEND_API void ZEND_FASTCALL zend_check_internal_arg_type(zend_function *zf, uint
 ZEND_API int  ZEND_FASTCALL zend_check_arg_type(zend_function *zf, uint32_t arg_num, zval *arg, zval *default_value, void **cache_slot);
 ZEND_API ZEND_COLD void ZEND_FASTCALL zend_missing_arg_error(zend_execute_data *execute_data);
 
-ZEND_API zend_property_info *zend_check_ref_array_assignable(zend_reference *ref);
-ZEND_API zend_bool zend_verify_ref_assignable_zval(zend_reference *ref, zval *zv, zend_bool strict);
-ZEND_API zend_bool zend_verify_prop_assignable_by_ref(zend_property_info *prop_info, zval *orig_val, zend_bool strict);
+ZEND_API zend_property_info* ZEND_FASTCALL zend_check_ref_array_assignable(zend_reference *ref);
+ZEND_API zend_bool ZEND_FASTCALL zend_verify_ref_assignable_zval(zend_reference *ref, zval *zv, zend_bool strict);
+ZEND_API zend_bool ZEND_FASTCALL zend_verify_prop_assignable_by_ref(zend_property_info *prop_info, zval *orig_val, zend_bool strict);
 
 ZEND_API ZEND_COLD void zend_throw_ref_type_error_zval(zend_property_info *prop, zval *zv);
 ZEND_API ZEND_COLD void zend_throw_ref_type_error_type(zend_property_info *prop1, zend_property_info *prop2, zval *zv);
@@ -75,8 +75,8 @@ ZEND_API ZEND_COLD void zend_throw_ref_type_error_type(zend_property_info *prop1
                : (ref)->sources.ptr)
 
 
-ZEND_API void zend_ref_add_type_source(zend_property_info_source_list *source_list, zend_property_info *prop);
-ZEND_API void zend_ref_del_type_source(zend_property_info_source_list *source_list, zend_property_info *prop);
+ZEND_API void ZEND_FASTCALL zend_ref_add_type_source(zend_property_info_source_list *source_list, zend_property_info *prop);
+ZEND_API void ZEND_FASTCALL zend_ref_del_type_source(zend_property_info_source_list *source_list, zend_property_info *prop);
 
 static zend_always_inline zval* zend_assign_to_variable(zval *variable_ptr, zval *value, zend_uchar value_type, zend_bool strict)
 {