Page MenuHomePhabricator

D10375.diff
No OneTemporary

D10375.diff

diff --git a/extension/xhprof.c b/extension/xhprof.c
--- a/extension/xhprof.c
+++ b/extension/xhprof.c
@@ -1703,8 +1703,30 @@
if (!_zend_execute_internal) {
/* no old override to begin with. so invoke the builtin's implementation */
+
+#if ZEND_EXTENSION_API_NO >= 220121212
+ /* PHP 5.5. This is just inlining a copy of execute_internal(). */
+
+ if (fci != NULL) {
+ ((zend_internal_function *) execute_data->function_state.function)->handler(
+ fci->param_count,
+ *fci->retval_ptr_ptr,
+ fci->retval_ptr_ptr,
+ fci->object_ptr,
+ 1 TSRMLS_CC);
+ } else {
+ zval **return_value_ptr = &EX_TMP_VAR(execute_data, execute_data->opline->result.var)->var.ptr;
+ ((zend_internal_function *) execute_data->function_state.function)->handler(
+ execute_data->opline->extended_value,
+ *return_value_ptr,
+ (execute_data->function_state.function->common.fn_flags & ZEND_ACC_RETURN_REFERENCE)
+ ? return_value_ptr
+ : NULL,
+ execute_data->object,
+ ret TSRMLS_CC);
+ }
+#elif ZEND_EXTENSION_API_NO >= 220100525
zend_op *opline = EX(opline);
-#if ZEND_EXTENSION_API_NO >= 220100525
temp_variable *retvar = &EX_T(opline->result.var);
((zend_internal_function *) EX(function_state).function)->handler(
opline->extended_value,
@@ -1713,6 +1735,7 @@
&retvar->var.ptr:NULL,
EX(object), ret TSRMLS_CC);
#else
+ zend_op *opline = EX(opline);
((zend_internal_function *) EX(function_state).function)->handler(
opline->extended_value,
EX_T(opline->result.u.var).var.ptr,

File Metadata

Mime Type
text/plain
Expires
Fri, Mar 14, 11:10 AM (4 d, 20 h ago)
Storage Engine
blob
Storage Format
Encrypted (AES-256-CBC)
Storage Handle
7654854
Default Alt Text
D10375.diff (1 KB)

Event Timeline