com php-src: Regenerate: Zend/zend_vm_execute.h
| From: | Tjerk Anne Meesters | Date: | Sat, 19 Apr 2014 12:01:38 +0000 |
| Subject: | com php-src: Regenerate: Zend/zend_vm_execute.h | ||
| Groups: | php.cvs | ||
| Request: | Send a blank email to php-cvs+get-82154@lists.php.net to get a copy of this message | ||
Commit: f5efee1d22805d19400e9ba1f5b5deed26fdb662
Author: Timm Friebe <thekid@thekid.de> Sat, 19 Apr 2014 14:01:38 +0200
Parents: daf16d5683ac497e76ce700a8baa3eb17e89ab2d
Branches: master
Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=f5efee1d22805d19400e9ba1f5b5deed26fdb662
Log:
Regenerate
Changed paths:
M Zend/zend_vm_execute.h
diff --git a/Zend/zend_vm_execute.h b/Zend/zend_vm_execute.h index 4690c3e..1c1a343 100644 --- a/Zend/zend_vm_execute.h +++ b/Zend/zend_vm_execute.h @@ -9306,7 +9306,26 @@ static int ZEND_FASTCALL ZEND_INIT_METHOD_CALL_SPEC_TMP_CONST_HANDLER(ZEND_OPCO HANDLE_EXCEPTION(); } - zend_error_noreturn(E_ERROR, "Call to a member function %s() on a non-object", function_name_strval); + + zend_error(E_RECOVERABLE_ERROR, "Call to a member function %s() on a non-object", function_name_strval); + + + CHECK_EXCEPTION(); + + /* Skip over arguments until fcall opcode, return NULL */ + do { + ZEND_VM_INC_OPCODE(); + opline++; + } while (ZEND_DO_FCALL_BY_NAME != opline->opcode); + + MAKE_STD_ZVAL(EX_T(opline->result.var).var.ptr); + ZVAL_NULL(EX_T(opline->result.var).var.ptr); + Z_UNSET_ISREF_P(EX_T(opline->result.var).var.ptr); + Z_SET_REFCOUNT_P(EX_T(opline->result.var).var.ptr, 1); + EX_T(opline->result.var).var.fcall_returned_reference = 0; + EX_T(opline->result.var).var.ptr_ptr = &EX_T(opline->result.var).var.ptr; + ZEND_VM_NEXT_OPCODE(); + return; } if ((call->fbc->common.fn_flags & ZEND_ACC_STATIC) != 0) { @@ -10171,7 +10190,26 @@ static int ZEND_FASTCALL ZEND_INIT_METHOD_CALL_SPEC_TMP_TMP_HANDLER(ZEND_OPCODE zval_dtor(free_op2.var); HANDLE_EXCEPTION(); } - zend_error_noreturn(E_ERROR, "Call to a member function %s() on a non-object", function_name_strval); + + zend_error(E_RECOVERABLE_ERROR, "Call to a member function %s() on a non-object", function_name_strval); + zval_dtor(free_op2.var); + + CHECK_EXCEPTION(); + + /* Skip over arguments until fcall opcode, return NULL */ + do { + ZEND_VM_INC_OPCODE(); + opline++; + } while (ZEND_DO_FCALL_BY_NAME != opline->opcode); + + MAKE_STD_ZVAL(EX_T(opline->result.var).var.ptr); + ZVAL_NULL(EX_T(opline->result.var).var.ptr); + Z_UNSET_ISREF_P(EX_T(opline->result.var).var.ptr); + Z_SET_REFCOUNT_P(EX_T(opline->result.var).var.ptr, 1); + EX_T(opline->result.var).var.fcall_returned_reference = 0; + EX_T(opline->result.var).var.ptr_ptr = &EX_T(opline->result.var).var.ptr; + ZEND_VM_NEXT_OPCODE(); + return; } if ((call->fbc->common.fn_flags & ZEND_ACC_STATIC) != 0) { @@ -11037,7 +11075,26 @@ static int ZEND_FASTCALL ZEND_INIT_METHOD_CALL_SPEC_TMP_VAR_HANDLER(ZEND_OPCODE zval_ptr_dtor_nogc(&free_op2.var); HANDLE_EXCEPTION(); } - zend_error_noreturn(E_ERROR, "Call to a member function %s() on a non-object", function_name_strval); + + zend_error(E_RECOVERABLE_ERROR, "Call to a member function %s() on a non-object", function_name_strval); + zval_ptr_dtor_nogc(&free_op2.var); + + CHECK_EXCEPTION(); + + /* Skip over arguments until fcall opcode, return NULL */ + do { + ZEND_VM_INC_OPCODE(); + opline++; + } while (ZEND_DO_FCALL_BY_NAME != opline->opcode); + + MAKE_STD_ZVAL(EX_T(opline->result.var).var.ptr); + ZVAL_NULL(EX_T(opline->result.var).var.ptr); + Z_UNSET_ISREF_P(EX_T(opline->result.var).var.ptr); + Z_SET_REFCOUNT_P(EX_T(opline->result.var).var.ptr, 1); + EX_T(opline->result.var).var.fcall_returned_reference = 0; + EX_T(opline->result.var).var.ptr_ptr = &EX_T(opline->result.var).var.ptr; + ZEND_VM_NEXT_OPCODE(); + return; } if ((call->fbc->common.fn_flags & ZEND_ACC_STATIC) != 0) { @@ -12483,7 +12540,26 @@ static int ZEND_FASTCALL ZEND_INIT_METHOD_CALL_SPEC_TMP_CV_HANDLER(ZEND_OPCODE_ HANDLE_EXCEPTION(); } - zend_error_noreturn(E_ERROR, "Call to a member function %s() on a non-object", function_name_strval); + + zend_error(E_RECOVERABLE_ERROR, "Call to a member function %s() on a non-object", function_name_strval); + + + CHECK_EXCEPTION(); + + /* Skip over arguments until fcall opcode, return NULL */ + do { + ZEND_VM_INC_OPCODE(); + opline++; + } while (ZEND_DO_FCALL_BY_NAME != opline->opcode); + + MAKE_STD_ZVAL(EX_T(opline->result.var).var.ptr); + ZVAL_NULL(EX_T(opline->result.var).var.ptr); + Z_UNSET_ISREF_P(EX_T(opline->result.var).var.ptr); + Z_SET_REFCOUNT_P(EX_T(opline->result.var).var.ptr, 1); + EX_T(opline->result.var).var.fcall_returned_reference = 0; + EX_T(opline->result.var).var.ptr_ptr = &EX_T(opline->result.var).var.ptr; + ZEND_VM_NEXT_OPCODE(); + return; } if ((call->fbc->common.fn_flags & ZEND_ACC_STATIC) != 0) { @@ -15721,7 +15797,26 @@ static int ZEND_FASTCALL ZEND_INIT_METHOD_CALL_SPEC_VAR_CONST_HANDLER(ZEND_OPCO HANDLE_EXCEPTION(); } - zend_error_noreturn(E_ERROR, "Call to a member function %s() on a non-object", function_name_strval); + + zend_error(E_RECOVERABLE_ERROR, "Call to a member function %s() on a non-object", function_name_strval); + + zval_ptr_dtor_nogc(&free_op1.var); + CHECK_EXCEPTION(); + + /* Skip over arguments until fcall opcode, return NULL */ + do { + ZEND_VM_INC_OPCODE(); + opline++; + } while (ZEND_DO_FCALL_BY_NAME != opline->opcode); + + MAKE_STD_ZVAL(EX_T(opline->result.var).var.ptr); + ZVAL_NULL(EX_T(opline->result.var).var.ptr); + Z_UNSET_ISREF_P(EX_T(opline->result.var).var.ptr); + Z_SET_REFCOUNT_P(EX_T(opline->result.var).var.ptr, 1); + EX_T(opline->result.var).var.fcall_returned_reference = 0; + EX_T(opline->result.var).var.ptr_ptr = &EX_T(opline->result.var).var.ptr; + ZEND_VM_NEXT_OPCODE(); + return; } if ((call->fbc->common.fn_flags & ZEND_ACC_STATIC) != 0) { @@ -18067,7 +18162,26 @@ static int ZEND_FASTCALL ZEND_INIT_METHOD_CALL_SPEC_VAR_TMP_HANDLER(ZEND_OPCODE zval_dtor(free_op2.var); HANDLE_EXCEPTION(); } - zend_error_noreturn(E_ERROR, "Call to a member function %s() on a non-object", function_name_strval); + + zend_error(E_RECOVERABLE_ERROR, "Call to a member function %s() on a non-object", function_name_strval); + zval_dtor(free_op2.var); + zval_ptr_dtor_nogc(&free_op1.var); + CHECK_EXCEPTION(); + + /* Skip over arguments until fcall opcode, return NULL */ + do { + ZEND_VM_INC_OPCODE(); + opline++; + } while (ZEND_DO_FCALL_BY_NAME != opline->opcode); + + MAKE_STD_ZVAL(EX_T(opline->result.var).var.ptr); + ZVAL_NULL(EX_T(opline->result.var).var.ptr); + Z_UNSET_ISREF_P(EX_T(opline->result.var).var.ptr); + Z_SET_REFCOUNT_P(EX_T(opline->result.var).var.ptr, 1); + EX_T(opline->result.var).var.fcall_returned_reference = 0; + EX_T(opline->result.var).var.ptr_ptr = &EX_T(opline->result.var).var.ptr; + ZEND_VM_NEXT_OPCODE(); + return; } if ((call->fbc->common.fn_flags & ZEND_ACC_STATIC) != 0) { @@ -20374,7 +20488,26 @@ static int ZEND_FASTCALL ZEND_INIT_METHOD_CALL_SPEC_VAR_VAR_HANDLER(ZEND_OPCODE zval_ptr_dtor_nogc(&free_op2.var); HANDLE_EXCEPTION(); } - zend_error_noreturn(E_ERROR, "Call to a member function %s() on a non-object", function_name_strval); + + zend_error(E_RECOVERABLE_ERROR, "Call to a member function %s() on a non-object", function_name_strval); + zval_ptr_dtor_nogc(&free_op2.var); + zval_ptr_dtor_nogc(&free_op1.var); + CHECK_EXCEPTION(); + + /* Skip over arguments until fcall opcode, return NULL */ + do { + ZEND_VM_INC_OPCODE(); + opline++; + } while (ZEND_DO_FCALL_BY_NAME != opline->opcode); + + MAKE_STD_ZVAL(EX_T(opline->result.var).var.ptr); + ZVAL_NULL(EX_T(opline->result.var).var.ptr); + Z_UNSET_ISREF_P(EX_T(opline->result.var).var.ptr); + Z_SET_REFCOUNT_P(EX_T(opline->result.var).var.ptr, 1); + EX_T(opline->result.var).var.fcall_returned_reference = 0; + EX_T(opline->result.var).var.ptr_ptr = &EX_T(opline->result.var).var.ptr; + ZEND_VM_NEXT_OPCODE(); + return; } if ((call->fbc->common.fn_flags & ZEND_ACC_STATIC) != 0) { @@ -23831,7 +23964,26 @@ static int ZEND_FASTCALL ZEND_INIT_METHOD_CALL_SPEC_VAR_CV_HANDLER(ZEND_OPCODE_ HANDLE_EXCEPTION(); } - zend_error_noreturn(E_ERROR, "Call to a member function %s() on a non-object", function_name_strval); + + zend_error(E_RECOVERABLE_ERROR, "Call to a member function %s() on a non-object", function_name_strval); + + zval_ptr_dtor_nogc(&free_op1.var); + CHECK_EXCEPTION(); + + /* Skip over arguments until fcall opcode, return NULL */ + do { + ZEND_VM_INC_OPCODE(); + opline++; + } while (ZEND_DO_FCALL_BY_NAME != opline->opcode); + + MAKE_STD_ZVAL(EX_T(opline->result.var).var.ptr); + ZVAL_NULL(EX_T(opline->result.var).var.ptr); + Z_UNSET_ISREF_P(EX_T(opline->result.var).var.ptr); + Z_SET_REFCOUNT_P(EX_T(opline->result.var).var.ptr, 1); + EX_T(opline->result.var).var.fcall_returned_reference = 0; + EX_T(opline->result.var).var.ptr_ptr = &EX_T(opline->result.var).var.ptr; + ZEND_VM_NEXT_OPCODE(); + return; } if ((call->fbc->common.fn_flags & ZEND_ACC_STATIC) != 0) { @@ -25473,7 +25625,26 @@ static int ZEND_FASTCALL ZEND_INIT_METHOD_CALL_SPEC_UNUSED_CONST_HANDLER(ZEND_O HANDLE_EXCEPTION(); } - zend_error_noreturn(E_ERROR, "Call to a member function %s() on a non-object", function_name_strval); + + zend_error(E_RECOVERABLE_ERROR, "Call to a member function %s() on a non-object", function_name_strval); + + + CHECK_EXCEPTION(); + + /* Skip over arguments until fcall opcode, return NULL */ + do { + ZEND_VM_INC_OPCODE(); + opline++; + } while (ZEND_DO_FCALL_BY_NAME != opline->opcode); + + MAKE_STD_ZVAL(EX_T(opline->result.var).var.ptr); + ZVAL_NULL(EX_T(opline->result.var).var.ptr); + Z_UNSET_ISREF_P(EX_T(opline->result.var).var.ptr); + Z_SET_REFCOUNT_P(EX_T(opline->result.var).var.ptr, 1); + EX_T(opline->result.var).var.fcall_returned_reference = 0; + EX_T(opline->result.var).var.ptr_ptr = &EX_T(opline->result.var).var.ptr; + ZEND_VM_NEXT_OPCODE(); + return; } if ((call->fbc->common.fn_flags & ZEND_ACC_STATIC) != 0) { @@ -26881,7 +27052,26 @@ static int ZEND_FASTCALL ZEND_INIT_METHOD_CALL_SPEC_UNUSED_TMP_HANDLER(ZEND_OPC zval_dtor(free_op2.var); HANDLE_EXCEPTION(); } - zend_error_noreturn(E_ERROR, "Call to a member function %s() on a non-object", function_name_strval); + + zend_error(E_RECOVERABLE_ERROR, "Call to a member function %s() on a non-object", function_name_strval); + zval_dtor(free_op2.var); + + CHECK_EXCEPTION(); + + /* Skip over arguments until fcall opcode, return NULL */ + do { + ZEND_VM_INC_OPCODE(); + opline++; + } while (ZEND_DO_FCALL_BY_NAME != opline->opcode); + + MAKE_STD_ZVAL(EX_T(opline->result.var).var.ptr); + ZVAL_NULL(EX_T(opline->result.var).var.ptr); + Z_UNSET_ISREF_P(EX_T(opline->result.var).var.ptr); + Z_SET_REFCOUNT_P(EX_T(opline->result.var).var.ptr, 1); + EX_T(opline->result.var).var.fcall_returned_reference = 0; + EX_T(opline->result.var).var.ptr_ptr = &EX_T(opline->result.var).var.ptr; + ZEND_VM_NEXT_OPCODE(); + return; } if ((call->fbc->common.fn_flags & ZEND_ACC_STATIC) != 0) { @@ -28195,7 +28385,26 @@ static int ZEND_FASTCALL ZEND_INIT_METHOD_CALL_SPEC_UNUSED_VAR_HANDLER(ZEND_OPC zval_ptr_dtor_nogc(&free_op2.var); HANDLE_EXCEPTION(); } - zend_error_noreturn(E_ERROR, "Call to a member function %s() on a non-object", function_name_strval); + + zend_error(E_RECOVERABLE_ERROR, "Call to a member function %s() on a non-object", function_name_strval); + zval_ptr_dtor_nogc(&free_op2.var); + + CHECK_EXCEPTION(); + + /* Skip over arguments until fcall opcode, return NULL */ + do { + ZEND_VM_INC_OPCODE(); + opline++; + } while (ZEND_DO_FCALL_BY_NAME != opline->opcode); + + MAKE_STD_ZVAL(EX_T(opline->result.var).var.ptr); + ZVAL_NULL(EX_T(opline->result.var).var.ptr); + Z_UNSET_ISREF_P(EX_T(opline->result.var).var.ptr); + Z_SET_REFCOUNT_P(EX_T(opline->result.var).var.ptr, 1); + EX_T(opline->result.var).var.fcall_returned_reference = 0; + EX_T(opline->result.var).var.ptr_ptr = &EX_T(opline->result.var).var.ptr; + ZEND_VM_NEXT_OPCODE(); + return; } if ((call->fbc->common.fn_flags & ZEND_ACC_STATIC) != 0) { @@ -29937,7 +30146,26 @@ static int ZEND_FASTCALL ZEND_INIT_METHOD_CALL_SPEC_UNUSED_CV_HANDLER(ZEND_OPCO HANDLE_EXCEPTION(); } - zend_error_noreturn(E_ERROR, "Call to a member function %s() on a non-object", function_name_strval); + + zend_error(E_RECOVERABLE_ERROR, "Call to a member function %s() on a non-object", function_name_strval); + + + CHECK_EXCEPTION(); + + /* Skip over arguments until fcall opcode, return NULL */ + do { + ZEND_VM_INC_OPCODE(); + opline++; + } while (ZEND_DO_FCALL_BY_NAME != opline->opcode); + + MAKE_STD_ZVAL(EX_T(opline->result.var).var.ptr); + ZVAL_NULL(EX_T(opline->result.var).var.ptr); + Z_UNSET_ISREF_P(EX_T(opline->result.var).var.ptr); + Z_SET_REFCOUNT_P(EX_T(opline->result.var).var.ptr, 1); + EX_T(opline->result.var).var.fcall_returned_reference = 0; + EX_T(opline->result.var).var.ptr_ptr = &EX_T(opline->result.var).var.ptr; + ZEND_VM_NEXT_OPCODE(); + return; } if ((call->fbc->common.fn_flags & ZEND_ACC_STATIC) != 0) { @@ -33176,7 +33404,26 @@ static int ZEND_FASTCALL ZEND_INIT_METHOD_CALL_SPEC_CV_CONST_HANDLER(ZEND_OPCOD HANDLE_EXCEPTION(); } - zend_error_noreturn(E_ERROR, "Call to a member function %s() on a non-object", function_name_strval); + + zend_error(E_RECOVERABLE_ERROR, "Call to a member function %s() on a non-object", function_name_strval); + + + CHECK_EXCEPTION(); + + /* Skip over arguments until fcall opcode, return NULL */ + do { + ZEND_VM_INC_OPCODE(); + opline++; + } while (ZEND_DO_FCALL_BY_NAME != opline->opcode); + + MAKE_STD_ZVAL(EX_T(opline->result.var).var.ptr); + ZVAL_NULL(EX_T(opline->result.var).var.ptr); + Z_UNSET_ISREF_P(EX_T(opline->result.var).var.ptr); + Z_SET_REFCOUNT_P(EX_T(opline->result.var).var.ptr, 1); + EX_T(opline->result.var).var.fcall_returned_reference = 0; + EX_T(opline->result.var).var.ptr_ptr = &EX_T(opline->result.var).var.ptr; + ZEND_VM_NEXT_OPCODE(); + return; } if ((call->fbc->common.fn_flags & ZEND_ACC_STATIC) != 0) { @@ -35288,7 +35535,26 @@ static int ZEND_FASTCALL ZEND_INIT_METHOD_CALL_SPEC_CV_TMP_HANDLER(ZEND_OPCODE_ zval_dtor(free_op2.var); HANDLE_EXCEPTION(); } - zend_error_noreturn(E_ERROR, "Call to a member function %s() on a non-object", function_name_strval); + + zend_error(E_RECOVERABLE_ERROR, "Call to a member function %s() on a non-object", function_name_strval); + zval_dtor(free_op2.var); + + CHECK_EXCEPTION(); + + /* Skip over arguments until fcall opcode, return NULL */ + do { + ZEND_VM_INC_OPCODE(); + opline++; + } while (ZEND_DO_FCALL_BY_NAME != opline->opcode); + + MAKE_STD_ZVAL(EX_T(opline->result.var).var.ptr); + ZVAL_NULL(EX_T(opline->result.var).var.ptr); + Z_UNSET_ISREF_P(EX_T(opline->result.var).var.ptr); + Z_SET_REFCOUNT_P(EX_T(opline->result.var).var.ptr, 1); + EX_T(opline->result.var).var.fcall_returned_reference = 0; + EX_T(opline->result.var).var.ptr_ptr = &EX_T(opline->result.var).var.ptr; + ZEND_VM_NEXT_OPCODE(); + return; } if ((call->fbc->common.fn_flags & ZEND_ACC_STATIC) != 0) { @@ -37455,7 +37721,26 @@ static int ZEND_FASTCALL ZEND_INIT_METHOD_CALL_SPEC_CV_VAR_HANDLER(ZEND_OPCODE_ zval_ptr_dtor_nogc(&free_op2.var); HANDLE_EXCEPTION(); } - zend_error_noreturn(E_ERROR, "Call to a member function %s() on a non-object", function_name_strval); + + zend_error(E_RECOVERABLE_ERROR, "Call to a member function %s() on a non-object", function_name_strval); + zval_ptr_dtor_nogc(&free_op2.var); + + CHECK_EXCEPTION(); + + /* Skip over arguments until fcall opcode, return NULL */ + do { + ZEND_VM_INC_OPCODE(); + opline++; + } while (ZEND_DO_FCALL_BY_NAME != opline->opcode); + + MAKE_STD_ZVAL(EX_T(opline->result.var).var.ptr); + ZVAL_NULL(EX_T(opline->result.var).var.ptr); + Z_UNSET_ISREF_P(EX_T(opline->result.var).var.ptr); + Z_SET_REFCOUNT_P(EX_T(opline->result.var).var.ptr, 1); + EX_T(opline->result.var).var.fcall_returned_reference = 0; + EX_T(opline->result.var).var.ptr_ptr = &EX_T(opline->result.var).var.ptr; + ZEND_VM_NEXT_OPCODE(); + return; } if ((call->fbc->common.fn_flags & ZEND_ACC_STATIC) != 0) { @@ -40623,7 +40908,26 @@ static int ZEND_FASTCALL ZEND_INIT_METHOD_CALL_SPEC_CV_CV_HANDLER(ZEND_OPCODE_H HANDLE_EXCEPTION(); } - zend_error_noreturn(E_ERROR, "Call to a member function %s() on a non-object", function_name_strval); + + zend_error(E_RECOVERABLE_ERROR, "Call to a member function %s() on a non-object", function_name_strval); + + + CHECK_EXCEPTION(); + + /* Skip over arguments until fcall opcode, return NULL */ + do { + ZEND_VM_INC_OPCODE(); + opline++; + } while (ZEND_DO_FCALL_BY_NAME != opline->opcode); + + MAKE_STD_ZVAL(EX_T(opline->result.var).var.ptr); + ZVAL_NULL(EX_T(opline->result.var).var.ptr); + Z_UNSET_ISREF_P(EX_T(opline->result.var).var.ptr); + Z_SET_REFCOUNT_P(EX_T(opline->result.var).var.ptr, 1); + EX_T(opline->result.var).var.fcall_returned_reference = 0; + EX_T(opline->result.var).var.ptr_ptr = &EX_T(opline->result.var).var.ptr; + ZEND_VM_NEXT_OPCODE(); + return; } if ((call->fbc->common.fn_flags & ZEND_ACC_STATIC) != 0) {
diff --git a/Zend/zend_vm_execute.h b/Zend/zend_vm_execute.h index 4690c3e..1c1a343 100644 --- a/Zend/zend_vm_execute.h +++ b/Zend/zend_vm_execute.h @@ -9306,7 +9306,26 @@ static int ZEND_FASTCALL ZEND_INIT_METHOD_CALL_SPEC_TMP_CONST_HANDLER(ZEND_OPCO HANDLE_EXCEPTION(); } - zend_error_noreturn(E_ERROR, "Call to a member function %s() on a non-object", function_name_strval); + + zend_error(E_RECOVERABLE_ERROR, "Call to a member function %s() on a non-object", function_name_strval); + + + CHECK_EXCEPTION(); + + /* Skip over arguments until fcall opcode, return NULL */ + do { + ZEND_VM_INC_OPCODE(); + opline++; + } while (ZEND_DO_FCALL_BY_NAME != opline->opcode); + + MAKE_STD_ZVAL(EX_T(opline->result.var).var.ptr); + ZVAL_NULL(EX_T(opline->result.var).var.ptr); + Z_UNSET_ISREF_P(EX_T(opline->result.var).var.ptr); + Z_SET_REFCOUNT_P(EX_T(opline->result.var).var.ptr, 1); + EX_T(opline->result.var).var.fcall_returned_reference = 0; + EX_T(opline->result.var).var.ptr_ptr = &EX_T(opline->result.var).var.ptr; + ZEND_VM_NEXT_OPCODE(); + return; } if ((call->fbc->common.fn_flags & ZEND_ACC_STATIC) != 0) { @@ -10171,7 +10190,26 @@ static int ZEND_FASTCALL ZEND_INIT_METHOD_CALL_SPEC_TMP_TMP_HANDLER(ZEND_OPCODE zval_dtor(free_op2.var); HANDLE_EXCEPTION(); } - zend_error_noreturn(E_ERROR, "Call to a member function %s() on a non-object", function_name_strval); + + zend_error(E_RECOVERABLE_ERROR, "Call to a member function %s() on a non-object", function_name_strval); + zval_dtor(free_op2.var); + + CHECK_EXCEPTION(); + + /* Skip over arguments until fcall opcode, return NULL */ + do { + ZEND_VM_INC_OPCODE(); + opline++; + } while (ZEND_DO_FCALL_BY_NAME != opline->opcode); + + MAKE_STD_ZVAL(EX_T(opline->result.var).var.ptr); + ZVAL_NULL(EX_T(opline->result.var).var.ptr); + Z_UNSET_ISREF_P(EX_T(opline->result.var).var.ptr); + Z_SET_REFCOUNT_P(EX_T(opline->result.var).var.ptr, 1); + EX_T(opline->result.var).var.fcall_returned_reference = 0; + EX_T(opline->result.var).var.ptr_ptr = &EX_T(opline->result.var).var.ptr; + ZEND_VM_NEXT_OPCODE(); + return; } if ((call->fbc->common.fn_flags & ZEND_ACC_STATIC) != 0) { @@ -11037,7 +11075,26 @@ static int ZEND_FASTCALL ZEND_INIT_METHOD_CALL_SPEC_TMP_VAR_HANDLER(ZEND_OPCODE zval_ptr_dtor_nogc(&free_op2.var); HANDLE_EXCEPTION(); } - zend_error_noreturn(E_ERROR, "Call to a member function %s() on a non-object", function_name_strval); + + zend_error(E_RECOVERABLE_ERROR, "Call to a member function %s() on a non-object", function_name_strval); + zval_ptr_dtor_nogc(&free_op2.var); + + CHECK_EXCEPTION(); + + /* Skip over arguments until fcall opcode, return NULL */ + do { + ZEND_VM_INC_OPCODE(); + opline++; + } while (ZEND_DO_FCALL_BY_NAME != opline->opcode); + + MAKE_STD_ZVAL(EX_T(opline->result.var).var.ptr); + ZVAL_NULL(EX_T(opline->result.var).var.ptr); + Z_UNSET_ISREF_P(EX_T(opline->result.var).var.ptr); + Z_SET_REFCOUNT_P(EX_T(opline->result.var).var.ptr, 1); + EX_T(opline->result.var).var.fcall_returned_reference = 0; + EX_T(opline->result.var).var.ptr_ptr = &EX_T(opline->result.var).var.ptr; + ZEND_VM_NEXT_OPCODE(); + return; } if ((call->fbc->common.fn_flags & ZEND_ACC_STATIC) != 0) { @@ -12483,7 +12540,26 @@ static int ZEND_FASTCALL ZEND_INIT_METHOD_CALL_SPEC_TMP_CV_HANDLER(ZEND_OPCODE_ HANDLE_EXCEPTION(); } - zend_error_noreturn(E_ERROR, "Call to a member function %s() on a non-object", function_name_strval); + + zend_error(E_RECOVERABLE_ERROR, "Call to a member function %s() on a non-object", function_name_strval); + + + CHECK_EXCEPTION(); + + /* Skip over arguments until fcall opcode, return NULL */ + do { + ZEND_VM_INC_OPCODE(); + opline++; + } while (ZEND_DO_FCALL_BY_NAME != opline->opcode); + + MAKE_STD_ZVAL(EX_T(opline->result.var).var.ptr); + ZVAL_NULL(EX_T(opline->result.var).var.ptr); + Z_UNSET_ISREF_P(EX_T(opline->result.var).var.ptr); + Z_SET_REFCOUNT_P(EX_T(opline->result.var).var.ptr, 1); + EX_T(opline->result.var).var.fcall_returned_reference = 0; + EX_T(opline->result.var).var.ptr_ptr = &EX_T(opline->result.var).var.ptr; + ZEND_VM_NEXT_OPCODE(); + return; } if ((call->fbc->common.fn_flags & ZEND_ACC_STATIC) != 0) { @@ -15721,7 +15797,26 @@ static int ZEND_FASTCALL ZEND_INIT_METHOD_CALL_SPEC_VAR_CONST_HANDLER(ZEND_OPCO HANDLE_EXCEPTION(); } - zend_error_noreturn(E_ERROR, "Call to a member function %s() on a non-object", function_name_strval); + + zend_error(E_RECOVERABLE_ERROR, "Call to a member function %s() on a non-object", function_name_strval); + + zval_ptr_dtor_nogc(&free_op1.var); + CHECK_EXCEPTION(); + + /* Skip over arguments until fcall opcode, return NULL */ + do { + ZEND_VM_INC_OPCODE(); + opline++; + } while (ZEND_DO_FCALL_BY_NAME != opline->opcode); + + MAKE_STD_ZVAL(EX_T(opline->result.var).var.ptr); + ZVAL_NULL(EX_T(opline->result.var).var.ptr); + Z_UNSET_ISREF_P(EX_T(opline->result.var).var.ptr); + Z_SET_REFCOUNT_P(EX_T(opline->result.var).var.ptr, 1); + EX_T(opline->result.var).var.fcall_returned_reference = 0; + EX_T(opline->result.var).var.ptr_ptr = &EX_T(opline->result.var).var.ptr; + ZEND_VM_NEXT_OPCODE(); + return; } if ((call->fbc->common.fn_flags & ZEND_ACC_STATIC) != 0) { @@ -18067,7 +18162,26 @@ static int ZEND_FASTCALL ZEND_INIT_METHOD_CALL_SPEC_VAR_TMP_HANDLER(ZEND_OPCODE zval_dtor(free_op2.var); HANDLE_EXCEPTION(); } - zend_error_noreturn(E_ERROR, "Call to a member function %s() on a non-object", function_name_strval); + + zend_error(E_RECOVERABLE_ERROR, "Call to a member function %s() on a non-object", function_name_strval); + zval_dtor(free_op2.var); + zval_ptr_dtor_nogc(&free_op1.var); + CHECK_EXCEPTION(); + + /* Skip over arguments until fcall opcode, return NULL */ + do { + ZEND_VM_INC_OPCODE(); + opline++; + } while (ZEND_DO_FCALL_BY_NAME != opline->opcode); + + MAKE_STD_ZVAL(EX_T(opline->result.var).var.ptr); + ZVAL_NULL(EX_T(opline->result.var).var.ptr); + Z_UNSET_ISREF_P(EX_T(opline->result.var).var.ptr); + Z_SET_REFCOUNT_P(EX_T(opline->result.var).var.ptr, 1); + EX_T(opline->result.var).var.fcall_returned_reference = 0; + EX_T(opline->result.var).var.ptr_ptr = &EX_T(opline->result.var).var.ptr; + ZEND_VM_NEXT_OPCODE(); + return; } if ((call->fbc->common.fn_flags & ZEND_ACC_STATIC) != 0) { @@ -20374,7 +20488,26 @@ static int ZEND_FASTCALL ZEND_INIT_METHOD_CALL_SPEC_VAR_VAR_HANDLER(ZEND_OPCODE zval_ptr_dtor_nogc(&free_op2.var); HANDLE_EXCEPTION(); } - zend_error_noreturn(E_ERROR, "Call to a member function %s() on a non-object", function_name_strval); + + zend_error(E_RECOVERABLE_ERROR, "Call to a member function %s() on a non-object", function_name_strval); + zval_ptr_dtor_nogc(&free_op2.var); + zval_ptr_dtor_nogc(&free_op1.var); + CHECK_EXCEPTION(); + + /* Skip over arguments until fcall opcode, return NULL */ + do { + ZEND_VM_INC_OPCODE(); + opline++; + } while (ZEND_DO_FCALL_BY_NAME != opline->opcode); + + MAKE_STD_ZVAL(EX_T(opline->result.var).var.ptr); + ZVAL_NULL(EX_T(opline->result.var).var.ptr); + Z_UNSET_ISREF_P(EX_T(opline->result.var).var.ptr); + Z_SET_REFCOUNT_P(EX_T(opline->result.var).var.ptr, 1); + EX_T(opline->result.var).var.fcall_returned_reference = 0; + EX_T(opline->result.var).var.ptr_ptr = &EX_T(opline->result.var).var.ptr; + ZEND_VM_NEXT_OPCODE(); + return; } if ((call->fbc->common.fn_flags & ZEND_ACC_STATIC) != 0) { @@ -23831,7 +23964,26 @@ static int ZEND_FASTCALL ZEND_INIT_METHOD_CALL_SPEC_VAR_CV_HANDLER(ZEND_OPCODE_ HANDLE_EXCEPTION(); } - zend_error_noreturn(E_ERROR, "Call to a member function %s() on a non-object", function_name_strval); + + zend_error(E_RECOVERABLE_ERROR, "Call to a member function %s() on a non-object", function_name_strval); + + zval_ptr_dtor_nogc(&free_op1.var); + CHECK_EXCEPTION(); + + /* Skip over arguments until fcall opcode, return NULL */ + do { + ZEND_VM_INC_OPCODE(); + opline++; + } while (ZEND_DO_FCALL_BY_NAME != opline->opcode); + + MAKE_STD_ZVAL(EX_T(opline->result.var).var.ptr); + ZVAL_NULL(EX_T(opline->result.var).var.ptr); + Z_UNSET_ISREF_P(EX_T(opline->result.var).var.ptr); + Z_SET_REFCOUNT_P(EX_T(opline->result.var).var.ptr, 1); + EX_T(opline->result.var).var.fcall_returned_reference = 0; + EX_T(opline->result.var).var.ptr_ptr = &EX_T(opline->result.var).var.ptr; + ZEND_VM_NEXT_OPCODE(); + return; } if ((call->fbc->common.fn_flags & ZEND_ACC_STATIC) != 0) { @@ -25473,7 +25625,26 @@ static int ZEND_FASTCALL ZEND_INIT_METHOD_CALL_SPEC_UNUSED_CONST_HANDLER(ZEND_O HANDLE_EXCEPTION(); } - zend_error_noreturn(E_ERROR, "Call to a member function %s() on a non-object", function_name_strval); + + zend_error(E_RECOVERABLE_ERROR, "Call to a member function %s() on a non-object", function_name_strval); + + + CHECK_EXCEPTION(); + + /* Skip over arguments until fcall opcode, return NULL */ + do { + ZEND_VM_INC_OPCODE(); + opline++; + } while (ZEND_DO_FCALL_BY_NAME != opline->opcode); + + MAKE_STD_ZVAL(EX_T(opline->result.var).var.ptr); + ZVAL_NULL(EX_T(opline->result.var).var.ptr); + Z_UNSET_ISREF_P(EX_T(opline->result.var).var.ptr); + Z_SET_REFCOUNT_P(EX_T(opline->result.var).var.ptr, 1); + EX_T(opline->result.var).var.fcall_returned_reference = 0; + EX_T(opline->result.var).var.ptr_ptr = &EX_T(opline->result.var).var.ptr; + ZEND_VM_NEXT_OPCODE(); + return; } if ((call->fbc->common.fn_flags & ZEND_ACC_STATIC) != 0) { @@ -26881,7 +27052,26 @@ static int ZEND_FASTCALL ZEND_INIT_METHOD_CALL_SPEC_UNUSED_TMP_HANDLER(ZEND_OPC zval_dtor(free_op2.var); HANDLE_EXCEPTION(); } - zend_error_noreturn(E_ERROR, "Call to a member function %s() on a non-object", function_name_strval); + + zend_error(E_RECOVERABLE_ERROR, "Call to a member function %s() on a non-object", function_name_strval); + zval_dtor(free_op2.var); + + CHECK_EXCEPTION(); + + /* Skip over arguments until fcall opcode, return NULL */ + do { + ZEND_VM_INC_OPCODE(); + opline++; + } while (ZEND_DO_FCALL_BY_NAME != opline->opcode); + + MAKE_STD_ZVAL(EX_T(opline->result.var).var.ptr); + ZVAL_NULL(EX_T(opline->result.var).var.ptr); + Z_UNSET_ISREF_P(EX_T(opline->result.var).var.ptr); + Z_SET_REFCOUNT_P(EX_T(opline->result.var).var.ptr, 1); + EX_T(opline->result.var).var.fcall_returned_reference = 0; + EX_T(opline->result.var).var.ptr_ptr = &EX_T(opline->result.var).var.ptr; + ZEND_VM_NEXT_OPCODE(); + return; } if ((call->fbc->common.fn_flags & ZEND_ACC_STATIC) != 0) { @@ -28195,7 +28385,26 @@ static int ZEND_FASTCALL ZEND_INIT_METHOD_CALL_SPEC_UNUSED_VAR_HANDLER(ZEND_OPC zval_ptr_dtor_nogc(&free_op2.var); HANDLE_EXCEPTION(); } - zend_error_noreturn(E_ERROR, "Call to a member function %s() on a non-object", function_name_strval); + + zend_error(E_RECOVERABLE_ERROR, "Call to a member function %s() on a non-object", function_name_strval); + zval_ptr_dtor_nogc(&free_op2.var); + + CHECK_EXCEPTION(); + + /* Skip over arguments until fcall opcode, return NULL */ + do { + ZEND_VM_INC_OPCODE(); + opline++; + } while (ZEND_DO_FCALL_BY_NAME != opline->opcode); + + MAKE_STD_ZVAL(EX_T(opline->result.var).var.ptr); + ZVAL_NULL(EX_T(opline->result.var).var.ptr); + Z_UNSET_ISREF_P(EX_T(opline->result.var).var.ptr); + Z_SET_REFCOUNT_P(EX_T(opline->result.var).var.ptr, 1); + EX_T(opline->result.var).var.fcall_returned_reference = 0; + EX_T(opline->result.var).var.ptr_ptr = &EX_T(opline->result.var).var.ptr; + ZEND_VM_NEXT_OPCODE(); + return; } if ((call->fbc->common.fn_flags & ZEND_ACC_STATIC) != 0) { @@ -29937,7 +30146,26 @@ static int ZEND_FASTCALL ZEND_INIT_METHOD_CALL_SPEC_UNUSED_CV_HANDLER(ZEND_OPCO HANDLE_EXCEPTION(); } - zend_error_noreturn(E_ERROR, "Call to a member function %s() on a non-object", function_name_strval); + + zend_error(E_RECOVERABLE_ERROR, "Call to a member function %s() on a non-object", function_name_strval); + + + CHECK_EXCEPTION(); + + /* Skip over arguments until fcall opcode, return NULL */ + do { + ZEND_VM_INC_OPCODE(); + opline++; + } while (ZEND_DO_FCALL_BY_NAME != opline->opcode); + + MAKE_STD_ZVAL(EX_T(opline->result.var).var.ptr); + ZVAL_NULL(EX_T(opline->result.var).var.ptr); + Z_UNSET_ISREF_P(EX_T(opline->result.var).var.ptr); + Z_SET_REFCOUNT_P(EX_T(opline->result.var).var.ptr, 1); + EX_T(opline->result.var).var.fcall_returned_reference = 0; + EX_T(opline->result.var).var.ptr_ptr = &EX_T(opline->result.var).var.ptr; + ZEND_VM_NEXT_OPCODE(); + return; } if ((call->fbc->common.fn_flags & ZEND_ACC_STATIC) != 0) { @@ -33176,7 +33404,26 @@ static int ZEND_FASTCALL ZEND_INIT_METHOD_CALL_SPEC_CV_CONST_HANDLER(ZEND_OPCOD HANDLE_EXCEPTION(); } - zend_error_noreturn(E_ERROR, "Call to a member function %s() on a non-object", function_name_strval); + + zend_error(E_RECOVERABLE_ERROR, "Call to a member function %s() on a non-object", function_name_strval); + + + CHECK_EXCEPTION(); + + /* Skip over arguments until fcall opcode, return NULL */ + do { + ZEND_VM_INC_OPCODE(); + opline++; + } while (ZEND_DO_FCALL_BY_NAME != opline->opcode); + + MAKE_STD_ZVAL(EX_T(opline->result.var).var.ptr); + ZVAL_NULL(EX_T(opline->result.var).var.ptr); + Z_UNSET_ISREF_P(EX_T(opline->result.var).var.ptr); + Z_SET_REFCOUNT_P(EX_T(opline->result.var).var.ptr, 1); + EX_T(opline->result.var).var.fcall_returned_reference = 0; + EX_T(opline->result.var).var.ptr_ptr = &EX_T(opline->result.var).var.ptr; + ZEND_VM_NEXT_OPCODE(); + return; } if ((call->fbc->common.fn_flags & ZEND_ACC_STATIC) != 0) { @@ -35288,7 +35535,26 @@ static int ZEND_FASTCALL ZEND_INIT_METHOD_CALL_SPEC_CV_TMP_HANDLER(ZEND_OPCODE_ zval_dtor(free_op2.var); HANDLE_EXCEPTION(); } - zend_error_noreturn(E_ERROR, "Call to a member function %s() on a non-object", function_name_strval); + + zend_error(E_RECOVERABLE_ERROR, "Call to a member function %s() on a non-object", function_name_strval); + zval_dtor(free_op2.var); + + CHECK_EXCEPTION(); + + /* Skip over arguments until fcall opcode, return NULL */ + do { + ZEND_VM_INC_OPCODE(); + opline++; + } while (ZEND_DO_FCALL_BY_NAME != opline->opcode); + + MAKE_STD_ZVAL(EX_T(opline->result.var).var.ptr); + ZVAL_NULL(EX_T(opline->result.var).var.ptr); + Z_UNSET_ISREF_P(EX_T(opline->result.var).var.ptr); + Z_SET_REFCOUNT_P(EX_T(opline->result.var).var.ptr, 1); + EX_T(opline->result.var).var.fcall_returned_reference = 0; + EX_T(opline->result.var).var.ptr_ptr = &EX_T(opline->result.var).var.ptr; + ZEND_VM_NEXT_OPCODE(); + return; } if ((call->fbc->common.fn_flags & ZEND_ACC_STATIC) != 0) { @@ -37455,7 +37721,26 @@ static int ZEND_FASTCALL ZEND_INIT_METHOD_CALL_SPEC_CV_VAR_HANDLER(ZEND_OPCODE_ zval_ptr_dtor_nogc(&free_op2.var); HANDLE_EXCEPTION(); } - zend_error_noreturn(E_ERROR, "Call to a member function %s() on a non-object", function_name_strval); + + zend_error(E_RECOVERABLE_ERROR, "Call to a member function %s() on a non-object", function_name_strval); + zval_ptr_dtor_nogc(&free_op2.var); + + CHECK_EXCEPTION(); + + /* Skip over arguments until fcall opcode, return NULL */ + do { + ZEND_VM_INC_OPCODE(); + opline++; + } while (ZEND_DO_FCALL_BY_NAME != opline->opcode); + + MAKE_STD_ZVAL(EX_T(opline->result.var).var.ptr); + ZVAL_NULL(EX_T(opline->result.var).var.ptr); + Z_UNSET_ISREF_P(EX_T(opline->result.var).var.ptr); + Z_SET_REFCOUNT_P(EX_T(opline->result.var).var.ptr, 1); + EX_T(opline->result.var).var.fcall_returned_reference = 0; + EX_T(opline->result.var).var.ptr_ptr = &EX_T(opline->result.var).var.ptr; + ZEND_VM_NEXT_OPCODE(); + return; } if ((call->fbc->common.fn_flags & ZEND_ACC_STATIC) != 0) { @@ -40623,7 +40908,26 @@ static int ZEND_FASTCALL ZEND_INIT_METHOD_CALL_SPEC_CV_CV_HANDLER(ZEND_OPCODE_H HANDLE_EXCEPTION(); } - zend_error_noreturn(E_ERROR, "Call to a member function %s() on a non-object", function_name_strval); + + zend_error(E_RECOVERABLE_ERROR, "Call to a member function %s() on a non-object", function_name_strval); + + + CHECK_EXCEPTION(); + + /* Skip over arguments until fcall opcode, return NULL */ + do { + ZEND_VM_INC_OPCODE(); + opline++; + } while (ZEND_DO_FCALL_BY_NAME != opline->opcode); + + MAKE_STD_ZVAL(EX_T(opline->result.var).var.ptr); + ZVAL_NULL(EX_T(opline->result.var).var.ptr); + Z_UNSET_ISREF_P(EX_T(opline->result.var).var.ptr); + Z_SET_REFCOUNT_P(EX_T(opline->result.var).var.ptr, 1); + EX_T(opline->result.var).var.fcall_returned_reference = 0; + EX_T(opline->result.var).var.ptr_ptr = &EX_T(opline->result.var).var.ptr; + ZEND_VM_NEXT_OPCODE(); + return; } if ((call->fbc->common.fn_flags & ZEND_ACC_STATIC) != 0) {