diff options
| author | Dmitry Stogov <dmitry@zend.com> | 2015-03-13 21:10:09 +0300 |
|---|---|---|
| committer | Dmitry Stogov <dmitry@zend.com> | 2015-03-13 21:10:09 +0300 |
| commit | db10b7252306b37ccd8795abeea565e0b18434aa (patch) | |
| tree | 50a0c5847fbe0abea17ab091476a313838d74935 /Zend/zend_variables.h | |
| parent | 1ec61729404e91f6ad7ec2167c701748bf4c4e8d (diff) | |
| download | php-git-db10b7252306b37ccd8795abeea565e0b18434aa.tar.gz | |
Use fastcall calling convention for most critical ZE subsystems.
Diffstat (limited to 'Zend/zend_variables.h')
| -rw-r--r-- | Zend/zend_variables.h | 17 |
1 files changed, 7 insertions, 10 deletions
diff --git a/Zend/zend_variables.h b/Zend/zend_variables.h index 2dde2e8dd2..9ca31097c3 100644 --- a/Zend/zend_variables.h +++ b/Zend/zend_variables.h @@ -27,8 +27,13 @@ BEGIN_EXTERN_C() -ZEND_API void _zval_dtor_func(zend_refcounted *p ZEND_FILE_LINE_DC); -ZEND_API void _zval_dtor_func_for_ptr(zend_refcounted *p ZEND_FILE_LINE_DC); +ZEND_API void ZEND_FASTCALL _zval_dtor_func(zend_refcounted *p ZEND_FILE_LINE_DC); +ZEND_API void ZEND_FASTCALL _zval_dtor_func_for_ptr(zend_refcounted *p ZEND_FILE_LINE_DC); +ZEND_API void ZEND_FASTCALL _zval_copy_ctor_func(zval *zvalue ZEND_FILE_LINE_DC); + +#define zval_dtor_func(p) _zval_dtor_func(zv ZEND_FILE_LINE_CC) +#define zval_dtor_func_for_ptr(p) _zval_dtor_func_for_ptr(zv ZEND_FILE_LINE_CC) +#define zval_copy_ctor_func(zv) _zval_copy_ctor_func(zv ZEND_FILE_LINE_CC) static zend_always_inline void _zval_dtor(zval *zvalue ZEND_FILE_LINE_DC) { @@ -56,10 +61,6 @@ static zend_always_inline void i_zval_ptr_dtor(zval *zval_ptr ZEND_FILE_LINE_DC) } } -ZEND_API void _zval_copy_ctor_func(zval *zvalue ZEND_FILE_LINE_DC); - -#define zval_copy_ctor_func(zv) _zval_copy_ctor_func(zv ZEND_FILE_LINE_CC) - static zend_always_inline void _zval_copy_ctor(zval *zvalue ZEND_FILE_LINE_DC) { if (Z_REFCOUNTED_P(zvalue) || Z_IMMUTABLE_P(zvalue)) { @@ -124,16 +125,13 @@ ZEND_API void _zval_dtor_wrapper(zval *zvalue); #define zval_dtor_wrapper _zval_dtor_wrapper #if ZEND_DEBUG -ZEND_API void _zval_copy_ctor_wrapper(zval *zvalue); ZEND_API void _zval_ptr_dtor_wrapper(zval *zval_ptr); ZEND_API void _zval_internal_dtor_wrapper(zval *zvalue); ZEND_API void _zval_internal_ptr_dtor_wrapper(zval *zvalue); -#define zval_copy_ctor_wrapper _zval_copy_ctor_wrapper #define zval_ptr_dtor_wrapper _zval_ptr_dtor_wrapper #define zval_internal_dtor_wrapper _zval_internal_dtor_wrapper #define zval_internal_ptr_dtor_wrapper _zval_internal_ptr_dtor_wrapper #else -#define zval_copy_ctor_wrapper _zval_copy_ctor_func #define zval_ptr_dtor_wrapper _zval_ptr_dtor #define zval_internal_dtor_wrapper _zval_internal_dtor #define zval_internal_ptr_dtor_wrapper _zval_internal_ptr_dtor @@ -148,7 +146,6 @@ END_EXTERN_C() #define ZVAL_PTR_DTOR zval_ptr_dtor_wrapper #define ZVAL_INTERNAL_DTOR zval_internal_dtor_wrapper #define ZVAL_INTERNAL_PTR_DTOR zval_internal_ptr_dtor_wrapper -#define ZVAL_COPY_CTOR zval_copy_ctor_wrapper #endif |
