summaryrefslogtreecommitdiff
path: root/Zend/zend_execute.c
diff options
context:
space:
mode:
authorDmitry Stogov <dmitry@zend.com>2014-07-11 00:32:18 +0400
committerDmitry Stogov <dmitry@zend.com>2014-07-11 00:32:18 +0400
commitde306e70882dd7dd04ea952ef3c665304837c3be (patch)
tree550152c8ade9c90ffb232430c4661ee66dab1e89 /Zend/zend_execute.c
parent4e291fab81eb8c7517d673705ae8a46bf178724b (diff)
downloadphp-git-de306e70882dd7dd04ea952ef3c665304837c3be.tar.gz
Implement call_user_func() and call_user_func_array() using special opcodes.
In some rare cases it leads to insignificant changes in error messages.
Diffstat (limited to 'Zend/zend_execute.c')
-rw-r--r--Zend/zend_execute.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/Zend/zend_execute.c b/Zend/zend_execute.c
index 9ca6d9c9c7..7fca796137 100644
--- a/Zend/zend_execute.c
+++ b/Zend/zend_execute.c
@@ -76,6 +76,23 @@ static zend_always_inline void zend_pzval_unlock_func(zval *z, zend_free_op *sho
}
}
+static ZEND_FUNCTION(pass)
+{
+}
+
+static const zend_internal_function zend_pass_function = {
+ ZEND_INTERNAL_FUNCTION, /* type */
+ NULL, /* name */
+ NULL, /* scope */
+ 0, /* fn_flags */
+ NULL, /* prototype */
+ 0, /* num_args */
+ 0, /* required_num_args */
+ NULL, /* arg_info */
+ ZEND_FN(pass), /* handler */
+ NULL /* module */
+};
+
#undef zval_ptr_dtor
#define zval_ptr_dtor(zv) i_zval_ptr_dtor(zv ZEND_FILE_LINE_CC TSRMLS_CC)
#define zval_ptr_dtor_nogc(zv) i_zval_ptr_dtor_nogc(zv ZEND_FILE_LINE_CC TSRMLS_CC)