mirror of
https://github.com/php/php-src.git
synced 2025-08-16 05:58:45 +02:00
Removed unnecessary checks
This commit is contained in:
parent
ff1e1d7a8e
commit
438cd86378
4 changed files with 14 additions and 10 deletions
|
@ -287,18 +287,22 @@ static zend_always_inline void zend_vm_stack_free(void *ptr TSRMLS_DC)
|
|||
}
|
||||
}
|
||||
|
||||
static zend_always_inline void zend_vm_stack_clear_multiple(TSRMLS_D)
|
||||
static zend_always_inline void zend_vm_stack_clear_multiple(int nested TSRMLS_DC)
|
||||
{
|
||||
void **p = EG(argument_stack)->top - 1;
|
||||
int delete_count = (int)(zend_uintptr_t) *p;
|
||||
void **end = p - (int)(zend_uintptr_t)*p;
|
||||
|
||||
while (--delete_count>=0) {
|
||||
while (p != end) {
|
||||
zval *q = *(zval **)(--p);
|
||||
*p = NULL;
|
||||
i_zval_ptr_dtor(q ZEND_FILE_LINE_CC);
|
||||
}
|
||||
if (nested) {
|
||||
EG(argument_stack)->top = p;
|
||||
} else {
|
||||
zend_vm_stack_free_int(p TSRMLS_CC);
|
||||
}
|
||||
}
|
||||
|
||||
static zend_always_inline int zend_vm_stack_get_args_count_ex(zend_execute_data *ex)
|
||||
{
|
||||
|
|
|
@ -841,7 +841,7 @@ int zend_call_function(zend_fcall_info *fci, zend_fcall_info_cache *fci_cache TS
|
|||
if (i || UNEXPECTED(ZEND_VM_STACK_ELEMETS(EG(argument_stack)) == (EG(argument_stack)->top))) {
|
||||
/* hack to clean up the stack */
|
||||
zend_vm_stack_push((void *) (zend_uintptr_t)i TSRMLS_CC);
|
||||
zend_vm_stack_clear_multiple(TSRMLS_C);
|
||||
zend_vm_stack_clear_multiple(0 TSRMLS_CC);
|
||||
}
|
||||
|
||||
zend_error(E_WARNING, "Parameter %d to %s%s%s() expected to be a reference, value given",
|
||||
|
@ -995,7 +995,7 @@ int zend_call_function(zend_fcall_info *fci, zend_fcall_info_cache *fci_cache TS
|
|||
*fci->retval_ptr_ptr = NULL;
|
||||
}
|
||||
}
|
||||
zend_vm_stack_clear_multiple(TSRMLS_C);
|
||||
zend_vm_stack_clear_multiple(0 TSRMLS_CC);
|
||||
|
||||
if (EG(This)) {
|
||||
zval_ptr_dtor(&EG(This));
|
||||
|
|
|
@ -1922,7 +1922,7 @@ ZEND_VM_HELPER(zend_leave_helper, ANY, ANY)
|
|||
|
||||
EX(call)--;
|
||||
|
||||
zend_vm_stack_clear_multiple(TSRMLS_C);
|
||||
zend_vm_stack_clear_multiple(1 TSRMLS_CC);
|
||||
|
||||
if (UNEXPECTED(EG(exception) != NULL)) {
|
||||
zend_throw_exception_internal(NULL TSRMLS_CC);
|
||||
|
@ -2098,7 +2098,7 @@ ZEND_VM_HELPER(zend_do_fcall_common_helper, ANY, ANY)
|
|||
|
||||
EX(call)--;
|
||||
|
||||
zend_vm_stack_clear_multiple(TSRMLS_C);
|
||||
zend_vm_stack_clear_multiple(1 TSRMLS_CC);
|
||||
|
||||
if (UNEXPECTED(EG(exception) != NULL)) {
|
||||
zend_throw_exception_internal(NULL TSRMLS_CC);
|
||||
|
|
|
@ -463,7 +463,7 @@ static int ZEND_FASTCALL zend_leave_helper_SPEC(ZEND_OPCODE_HANDLER_ARGS)
|
|||
|
||||
EX(call)--;
|
||||
|
||||
zend_vm_stack_clear_multiple(TSRMLS_C);
|
||||
zend_vm_stack_clear_multiple(1 TSRMLS_CC);
|
||||
|
||||
if (UNEXPECTED(EG(exception) != NULL)) {
|
||||
zend_throw_exception_internal(NULL TSRMLS_CC);
|
||||
|
@ -639,7 +639,7 @@ static int ZEND_FASTCALL zend_do_fcall_common_helper_SPEC(ZEND_OPCODE_HANDLER_AR
|
|||
|
||||
EX(call)--;
|
||||
|
||||
zend_vm_stack_clear_multiple(TSRMLS_C);
|
||||
zend_vm_stack_clear_multiple(1 TSRMLS_CC);
|
||||
|
||||
if (UNEXPECTED(EG(exception) != NULL)) {
|
||||
zend_throw_exception_internal(NULL TSRMLS_CC);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue