Changeset View
Changeset View
Standalone View
Standalone View
extension/xhprof.c
| Show First 20 Lines • Show All 1,697 Lines • ▼ Show 20 Lines | #endif | ||||
| func = hp_get_function_name(current_data->op_array TSRMLS_CC); | func = hp_get_function_name(current_data->op_array TSRMLS_CC); | ||||
| if (func) { | if (func) { | ||||
| BEGIN_PROFILING(&hp_globals.entries, func, hp_profile_flag); | BEGIN_PROFILING(&hp_globals.entries, func, hp_profile_flag); | ||||
| } | } | ||||
| if (!_zend_execute_internal) { | if (!_zend_execute_internal) { | ||||
| /* no old override to begin with. so invoke the builtin's implementation */ | /* 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); | zend_op *opline = EX(opline); | ||||
| #if ZEND_EXTENSION_API_NO >= 220100525 | |||||
| temp_variable *retvar = &EX_T(opline->result.var); | temp_variable *retvar = &EX_T(opline->result.var); | ||||
| ((zend_internal_function *) EX(function_state).function)->handler( | ((zend_internal_function *) EX(function_state).function)->handler( | ||||
| opline->extended_value, | opline->extended_value, | ||||
| retvar->var.ptr, | retvar->var.ptr, | ||||
| (EX(function_state).function->common.fn_flags & ZEND_ACC_RETURN_REFERENCE) ? | (EX(function_state).function->common.fn_flags & ZEND_ACC_RETURN_REFERENCE) ? | ||||
| &retvar->var.ptr:NULL, | &retvar->var.ptr:NULL, | ||||
| EX(object), ret TSRMLS_CC); | EX(object), ret TSRMLS_CC); | ||||
| #else | #else | ||||
| zend_op *opline = EX(opline); | |||||
| ((zend_internal_function *) EX(function_state).function)->handler( | ((zend_internal_function *) EX(function_state).function)->handler( | ||||
| opline->extended_value, | opline->extended_value, | ||||
| EX_T(opline->result.u.var).var.ptr, | EX_T(opline->result.u.var).var.ptr, | ||||
| EX(function_state).function->common.return_reference ? | EX(function_state).function->common.return_reference ? | ||||
| &EX_T(opline->result.u.var).var.ptr:NULL, | &EX_T(opline->result.u.var).var.ptr:NULL, | ||||
| EX(object), ret TSRMLS_CC); | EX(object), ret TSRMLS_CC); | ||||
| #endif | #endif | ||||
| } else { | } else { | ||||
| ▲ Show 20 Lines • Show All 295 Lines • Show Last 20 Lines | |||||