cvs: ZendEngine2 / zend_vm_def.h zend_vm_execute.h

[email protected] ("Dmitry Stogov") Wed, 18 Mar 2009 18:48:52 -0000
Newsgroups php.zend-engine.cvs
Message-ID <cvsdmitry1237402132@cvsserver>
dmitry		Wed Mar 18 18:48:52 2009 UTC

  Modified files:              
    /ZendEngine2	zend_vm_def.h zend_vm_execute.h 
  Log:
  Removed unnecassary checks
dmitry-20090318184852.txt (text/plain, 25.4 KB)
http://cvs.php.net/viewvc.cgi/ZendEngine2/zend_vm_def.h?r1=1.259&r2=1.260&diff_format=u
Index: ZendEngine2/zend_vm_def.h
diff -u ZendEngine2/zend_vm_def.h:1.259 ZendEngine2/zend_vm_def.h:1.260
--- ZendEngine2/zend_vm_def.h:1.259	Wed Mar 18 14:17:38 2009
+++ ZendEngine2/zend_vm_def.h	Wed Mar 18 18:48:52 2009
@@ -18,7 +18,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: zend_vm_def.h,v 1.259 2009/03/18 14:17:38 dmitry Exp $ */
+/* $Id: zend_vm_def.h,v 1.260 2009/03/18 18:48:52 dmitry Exp $ */
 
 /* If you change this file, please regenerate the zend_vm_execute.h and
  * zend_vm_opcodes.h files by running:
@@ -907,7 +907,7 @@
 		zval z_conv;
 		UConverter *script_enc_conv = NULL;
 		if (zend_set_converter_encoding(&script_enc_conv, EX(op_array)->script_encoding) == FAILURE) {
-			zend_error(E_ERROR, "Unsupported encoding [%d]", EX(op_array)->script_encoding);
+			zend_error_noreturn(E_ERROR, "Unsupported encoding [%d]", EX(op_array)->script_encoding);
 		}
 		zend_convert_encodings(ZEND_U_CONVERTER(UG(output_encoding_conv)), script_enc_conv, &Z_STRVAL(z_conv), &Z_STRLEN(z_conv), Z_STRVAL_P(z), Z_STRLEN_P(z), &status);
 		Z_TYPE(z_conv) = IS_STRING;
@@ -1655,7 +1655,7 @@
 		PZVAL_LOCK(*value_ptr_ptr);
 	}
 	if (OP1_TYPE == IS_VAR && EX_T(opline->op1.u.var).var.ptr_ptr == &EX_T(opline->op1.u.var).var.ptr) {
-		zend_error(E_ERROR, "Cannot assign by reference to overloaded object");
+		zend_error_noreturn(E_ERROR, "Cannot assign by reference to overloaded object");
 	}
 
 	variable_ptr_ptr = GET_OP1_ZVAL_PTR_PTR(BP_VAR_W);
@@ -2011,10 +2011,7 @@
 		zend_error_noreturn(E_ERROR, "Call to a member function %R() on a non-object", Z_TYPE_P(function_name), function_name_strval);
 	}
 
-	if (!EX(object)) {
-		EX(called_scope) = NULL;
-		EX(object) = NULL;
-	} else if (EX(fbc) && (EX(fbc)->common.fn_flags & ZEND_ACC_STATIC) != 0) {
+	if ((EX(fbc)->common.fn_flags & ZEND_ACC_STATIC) != 0) {
 		EX(object) = NULL;
 	} else {		
 		if (!PZVAL_IS_REF(EX(object))) {
@@ -2046,7 +2043,7 @@
 		/* no function found. try a static method in class */
 		ce = zend_u_fetch_class(Z_TYPE(opline->op1.u.constant), Z_UNIVAL(opline->op1.u.constant), Z_UNILEN(opline->op1.u.constant), opline->extended_value TSRMLS_CC);
 		if (!ce) {
-			zend_error(E_ERROR, "Class '%R' not found", Z_TYPE(opline->op1.u.constant), Z_UNIVAL(opline->op1.u.constant));
+			zend_error_noreturn(E_ERROR, "Class '%R' not found", Z_TYPE(opline->op1.u.constant), Z_UNIVAL(opline->op1.u.constant));
 		}
 		EX(called_scope) = ce;
 	} else {
@@ -2087,7 +2084,7 @@
 				EX(fbc) = zend_std_get_static_method(ce, function_name_type, function_name_strval, function_name_strlen TSRMLS_CC);
 			}
 			if (!EX(fbc)) {
-				zend_error(E_ERROR, "Call to undefined method %v::%R()", ce->name, function_name_type, function_name_strval);
+				zend_error_noreturn(E_ERROR, "Call to undefined method %v::%R()", ce->name, function_name_type, function_name_strval);
 			}
 		}
 
@@ -3313,7 +3310,7 @@
 
 		if (FAILURE == zend_path_encode(&encpath, &encpath_len, Z_USTRVAL_P(inc_filename), Z_USTRLEN_P(inc_filename) TSRMLS_CC)) {
 			failure_retval = 0;
-			zend_error(E_ERROR, "Failure converting '%R' to filesystem encoding", IS_UNICODE, Z_USTRVAL_P(inc_filename));
+			zend_error_noreturn(E_ERROR, "Failure converting '%R' to filesystem encoding", IS_UNICODE, Z_USTRVAL_P(inc_filename));
 			goto skip_compile;
 		}
 
http://cvs.php.net/viewvc.cgi/ZendEngine2/zend_vm_execute.h?r1=1.263&r2=1.264&diff_format=u
Index: ZendEngine2/zend_vm_execute.h
diff -u ZendEngine2/zend_vm_execute.h:1.263 ZendEngine2/zend_vm_execute.h:1.264
--- ZendEngine2/zend_vm_execute.h:1.263	Wed Mar 18 14:17:38 2009
+++ ZendEngine2/zend_vm_execute.h	Wed Mar 18 18:48:52 2009
@@ -1274,7 +1274,7 @@
 		zval z_conv;
 		UConverter *script_enc_conv = NULL;
 		if (zend_set_converter_encoding(&script_enc_conv, EX(op_array)->script_encoding) == FAILURE) {
-			zend_error(E_ERROR, "Unsupported encoding [%d]", EX(op_array)->script_encoding);
+			zend_error_noreturn(E_ERROR, "Unsupported encoding [%d]", EX(op_array)->script_encoding);
 		}
 		zend_convert_encodings(ZEND_U_CONVERTER(UG(output_encoding_conv)), script_enc_conv, &Z_STRVAL(z_conv), &Z_STRLEN(z_conv), Z_STRVAL_P(z), Z_STRLEN_P(z), &status);
 		Z_TYPE(z_conv) = IS_STRING;
@@ -1900,7 +1900,7 @@
 
 		if (FAILURE == zend_path_encode(&encpath, &encpath_len, Z_USTRVAL_P(inc_filename), Z_USTRLEN_P(inc_filename) TSRMLS_CC)) {
 			failure_retval = 0;
-			zend_error(E_ERROR, "Failure converting '%R' to filesystem encoding", IS_UNICODE, Z_USTRVAL_P(inc_filename));
+			zend_error_noreturn(E_ERROR, "Failure converting '%R' to filesystem encoding", IS_UNICODE, Z_USTRVAL_P(inc_filename));
 			goto skip_compile;
 		}
 
@@ -2721,7 +2721,7 @@
 		/* no function found. try a static method in class */
 		ce = zend_u_fetch_class(Z_TYPE(opline->op1.u.constant), Z_UNIVAL(opline->op1.u.constant), Z_UNILEN(opline->op1.u.constant), opline->extended_value TSRMLS_CC);
 		if (!ce) {
-			zend_error(E_ERROR, "Class '%R' not found", Z_TYPE(opline->op1.u.constant), Z_UNIVAL(opline->op1.u.constant));
+			zend_error_noreturn(E_ERROR, "Class '%R' not found", Z_TYPE(opline->op1.u.constant), Z_UNIVAL(opline->op1.u.constant));
 		}
 		EX(called_scope) = ce;
 	} else {
@@ -2762,7 +2762,7 @@
 				EX(fbc) = zend_std_get_static_method(ce, function_name_type, function_name_strval, function_name_strlen TSRMLS_CC);
 			}
 			if (!EX(fbc)) {
-				zend_error(E_ERROR, "Call to undefined method %v::%R()", ce->name, function_name_type, function_name_strval);
+				zend_error_noreturn(E_ERROR, "Call to undefined method %v::%R()", ce->name, function_name_type, function_name_strval);
 			}
 		}
 
@@ -3314,7 +3314,7 @@
 		/* no function found. try a static method in class */
 		ce = zend_u_fetch_class(Z_TYPE(opline->op1.u.constant), Z_UNIVAL(opline->op1.u.constant), Z_UNILEN(opline->op1.u.constant), opline->extended_value TSRMLS_CC);
 		if (!ce) {
-			zend_error(E_ERROR, "Class '%R' not found", Z_TYPE(opline->op1.u.constant), Z_UNIVAL(opline->op1.u.constant));
+			zend_error_noreturn(E_ERROR, "Class '%R' not found", Z_TYPE(opline->op1.u.constant), Z_UNIVAL(opline->op1.u.constant));
 		}
 		EX(called_scope) = ce;
 	} else {
@@ -3355,7 +3355,7 @@
 				EX(fbc) = zend_std_get_static_method(ce, function_name_type, function_name_strval, function_name_strlen TSRMLS_CC);
 			}
 			if (!EX(fbc)) {
-				zend_error(E_ERROR, "Call to undefined method %v::%R()", ce->name, function_name_type, function_name_strval);
+				zend_error_noreturn(E_ERROR, "Call to undefined method %v::%R()", ce->name, function_name_type, function_name_strval);
 			}
 		}
 
@@ -3786,7 +3786,7 @@
 		/* no function found. try a static method in class */
 		ce = zend_u_fetch_class(Z_TYPE(opline->op1.u.constant), Z_UNIVAL(opline->op1.u.constant), Z_UNILEN(opline->op1.u.constant), opline->extended_value TSRMLS_CC);
 		if (!ce) {
-			zend_error(E_ERROR, "Class '%R' not found", Z_TYPE(opline->op1.u.constant), Z_UNIVAL(opline->op1.u.constant));
+			zend_error_noreturn(E_ERROR, "Class '%R' not found", Z_TYPE(opline->op1.u.constant), Z_UNIVAL(opline->op1.u.constant));
 		}
 		EX(called_scope) = ce;
 	} else {
@@ -3827,7 +3827,7 @@
 				EX(fbc) = zend_std_get_static_method(ce, function_name_type, function_name_strval, function_name_strlen TSRMLS_CC);
 			}
 			if (!EX(fbc)) {
-				zend_error(E_ERROR, "Call to undefined method %v::%R()", ce->name, function_name_type, function_name_strval);
+				zend_error_noreturn(E_ERROR, "Call to undefined method %v::%R()", ce->name, function_name_type, function_name_strval);
 			}
 		}
 
@@ -4014,7 +4014,7 @@
 		/* no function found. try a static method in class */
 		ce = zend_u_fetch_class(Z_TYPE(opline->op1.u.constant), Z_UNIVAL(opline->op1.u.constant), Z_UNILEN(opline->op1.u.constant), opline->extended_value TSRMLS_CC);
 		if (!ce) {
-			zend_error(E_ERROR, "Class '%R' not found", Z_TYPE(opline->op1.u.constant), Z_UNIVAL(opline->op1.u.constant));
+			zend_error_noreturn(E_ERROR, "Class '%R' not found", Z_TYPE(opline->op1.u.constant), Z_UNIVAL(opline->op1.u.constant));
 		}
 		EX(called_scope) = ce;
 	} else {
@@ -4055,7 +4055,7 @@
 				EX(fbc) = zend_std_get_static_method(ce, function_name_type, function_name_strval, function_name_strlen TSRMLS_CC);
 			}
 			if (!EX(fbc)) {
-				zend_error(E_ERROR, "Call to undefined method %v::%R()", ce->name, function_name_type, function_name_strval);
+				zend_error_noreturn(E_ERROR, "Call to undefined method %v::%R()", ce->name, function_name_type, function_name_strval);
 			}
 		}
 
@@ -4454,7 +4454,7 @@
 		/* no function found. try a static method in class */
 		ce = zend_u_fetch_class(Z_TYPE(opline->op1.u.constant), Z_UNIVAL(opline->op1.u.constant), Z_UNILEN(opline->op1.u.constant), opline->extended_value TSRMLS_CC);
 		if (!ce) {
-			zend_error(E_ERROR, "Class '%R' not found", Z_TYPE(opline->op1.u.constant), Z_UNIVAL(opline->op1.u.constant));
+			zend_error_noreturn(E_ERROR, "Class '%R' not found", Z_TYPE(opline->op1.u.constant), Z_UNIVAL(opline->op1.u.constant));
 		}
 		EX(called_scope) = ce;
 	} else {
@@ -4495,7 +4495,7 @@
 				EX(fbc) = zend_std_get_static_method(ce, function_name_type, function_name_strval, function_name_strlen TSRMLS_CC);
 			}
 			if (!EX(fbc)) {
-				zend_error(E_ERROR, "Call to undefined method %v::%R()", ce->name, function_name_type, function_name_strval);
+				zend_error_noreturn(E_ERROR, "Call to undefined method %v::%R()", ce->name, function_name_type, function_name_strval);
 			}
 		}
 
@@ -4707,7 +4707,7 @@
 		zval z_conv;
 		UConverter *script_enc_conv = NULL;
 		if (zend_set_converter_encoding(&script_enc_conv, EX(op_array)->script_encoding) == FAILURE) {
-			zend_error(E_ERROR, "Unsupported encoding [%d]", EX(op_array)->script_encoding);
+			zend_error_noreturn(E_ERROR, "Unsupported encoding [%d]", EX(op_array)->script_encoding);
 		}
 		zend_convert_encodings(ZEND_U_CONVERTER(UG(output_encoding_conv)), script_enc_conv, &Z_STRVAL(z_conv), &Z_STRLEN(z_conv), Z_STRVAL_P(z), Z_STRLEN_P(z), &status);
 		Z_TYPE(z_conv) = IS_STRING;
@@ -5324,7 +5324,7 @@
 
 		if (FAILURE == zend_path_encode(&encpath, &encpath_len, Z_USTRVAL_P(inc_filename), Z_USTRLEN_P(inc_filename) TSRMLS_CC)) {
 			failure_retval = 0;
-			zend_error(E_ERROR, "Failure converting '%R' to filesystem encoding", IS_UNICODE, Z_USTRVAL_P(inc_filename));
+			zend_error_noreturn(E_ERROR, "Failure converting '%R' to filesystem encoding", IS_UNICODE, Z_USTRVAL_P(inc_filename));
 			goto skip_compile;
 		}
 
@@ -6235,10 +6235,7 @@
 		zend_error_noreturn(E_ERROR, "Call to a member function %R() on a non-object", Z_TYPE_P(function_name), function_name_strval);
 	}
 
-	if (!EX(object)) {
-		EX(called_scope) = NULL;
-		EX(object) = NULL;
-	} else if (EX(fbc) && (EX(fbc)->common.fn_flags & ZEND_ACC_STATIC) != 0) {
+	if ((EX(fbc)->common.fn_flags & ZEND_ACC_STATIC) != 0) {
 		EX(object) = NULL;
 	} else {
 		if (!PZVAL_IS_REF(EX(object))) {
@@ -6711,10 +6708,7 @@
 		zend_error_noreturn(E_ERROR, "Call to a member function %R() on a non-object", Z_TYPE_P(function_name), function_name_strval);
 	}
 
-	if (!EX(object)) {
-		EX(called_scope) = NULL;
-		EX(object) = NULL;
-	} else if (EX(fbc) && (EX(fbc)->common.fn_flags & ZEND_ACC_STATIC) != 0) {
+	if ((EX(fbc)->common.fn_flags & ZEND_ACC_STATIC) != 0) {
 		EX(object) = NULL;
 	} else {
 		if (!PZVAL_IS_REF(EX(object))) {
@@ -7189,10 +7183,7 @@
 		zend_error_noreturn(E_ERROR, "Call to a member function %R() on a non-object", Z_TYPE_P(function_name), function_name_strval);
 	}
 
-	if (!EX(object)) {
-		EX(called_scope) = NULL;
-		EX(object) = NULL;
-	} else if (EX(fbc) && (EX(fbc)->common.fn_flags & ZEND_ACC_STATIC) != 0) {
+	if ((EX(fbc)->common.fn_flags & ZEND_ACC_STATIC) != 0) {
 		EX(object) = NULL;
 	} else {
 		if (!PZVAL_IS_REF(EX(object))) {
@@ -7762,10 +7753,7 @@
 		zend_error_noreturn(E_ERROR, "Call to a member function %R() on a non-object", Z_TYPE_P(function_name), function_name_strval);
 	}
 
-	if (!EX(object)) {
-		EX(called_scope) = NULL;
-		EX(object) = NULL;
-	} else if (EX(fbc) && (EX(fbc)->common.fn_flags & ZEND_ACC_STATIC) != 0) {
+	if ((EX(fbc)->common.fn_flags & ZEND_ACC_STATIC) != 0) {
 		EX(object) = NULL;
 	} else {
 		if (!PZVAL_IS_REF(EX(object))) {
@@ -8106,7 +8094,7 @@
 		zval z_conv;
 		UConverter *script_enc_conv = NULL;
 		if (zend_set_converter_encoding(&script_enc_conv, EX(op_array)->script_encoding) == FAILURE) {
-			zend_error(E_ERROR, "Unsupported encoding [%d]", EX(op_array)->script_encoding);
+			zend_error_noreturn(E_ERROR, "Unsupported encoding [%d]", EX(op_array)->script_encoding);
 		}
 		zend_convert_encodings(ZEND_U_CONVERTER(UG(output_encoding_conv)), script_enc_conv, &Z_STRVAL(z_conv), &Z_STRLEN(z_conv), Z_STRVAL_P(z), Z_STRLEN_P(z), &status);
 		Z_TYPE(z_conv) = IS_STRING;
@@ -8832,7 +8820,7 @@
 
 		if (FAILURE == zend_path_encode(&encpath, &encpath_len, Z_USTRVAL_P(inc_filename), Z_USTRLEN_P(inc_filename) TSRMLS_CC)) {
 			failure_retval = 0;
-			zend_error(E_ERROR, "Failure converting '%R' to filesystem encoding", IS_UNICODE, Z_USTRVAL_P(inc_filename));
+			zend_error_noreturn(E_ERROR, "Failure converting '%R' to filesystem encoding", IS_UNICODE, Z_USTRVAL_P(inc_filename));
 			goto skip_compile;
 		}
 
@@ -10797,10 +10785,7 @@
 		zend_error_noreturn(E_ERROR, "Call to a member function %R() on a non-object", Z_TYPE_P(function_name), function_name_strval);
 	}
 
-	if (!EX(object)) {
-		EX(called_scope) = NULL;
-		EX(object) = NULL;
-	} else if (EX(fbc) && (EX(fbc)->common.fn_flags & ZEND_ACC_STATIC) != 0) {
+	if ((EX(fbc)->common.fn_flags & ZEND_ACC_STATIC) != 0) {
 		EX(object) = NULL;
 	} else {
 		if (!PZVAL_IS_REF(EX(object))) {
@@ -10831,7 +10816,7 @@
 		/* no function found. try a static method in class */
 		ce = zend_u_fetch_class(Z_TYPE(opline->op1.u.constant), Z_UNIVAL(opline->op1.u.constant), Z_UNILEN(opline->op1.u.constant), opline->extended_value TSRMLS_CC);
 		if (!ce) {
-			zend_error(E_ERROR, "Class '%R' not found", Z_TYPE(opline->op1.u.constant), Z_UNIVAL(opline->op1.u.constant));
+			zend_error_noreturn(E_ERROR, "Class '%R' not found", Z_TYPE(opline->op1.u.constant), Z_UNIVAL(opline->op1.u.constant));
 		}
 		EX(called_scope) = ce;
 	} else {
@@ -10872,7 +10857,7 @@
 				EX(fbc) = zend_std_get_static_method(ce, function_name_type, function_name_strval, function_name_strlen TSRMLS_CC);
 			}
 			if (!EX(fbc)) {
-				zend_error(E_ERROR, "Call to undefined method %v::%R()", ce->name, function_name_type, function_name_strval);
+				zend_error_noreturn(E_ERROR, "Call to undefined method %v::%R()", ce->name, function_name_type, function_name_strval);
 			}
 		}
 
@@ -12685,10 +12670,7 @@
 		zend_error_noreturn(E_ERROR, "Call to a member function %R() on a non-object", Z_TYPE_P(function_name), function_name_strval);
 	}
 
-	if (!EX(object)) {
-		EX(called_scope) = NULL;
-		EX(object) = NULL;
-	} else if (EX(fbc) && (EX(fbc)->common.fn_flags & ZEND_ACC_STATIC) != 0) {
+	if ((EX(fbc)->common.fn_flags & ZEND_ACC_STATIC) != 0) {
 		EX(object) = NULL;
 	} else {
 		if (!PZVAL_IS_REF(EX(object))) {
@@ -12720,7 +12702,7 @@
 		/* no function found. try a static method in class */
 		ce = zend_u_fetch_class(Z_TYPE(opline->op1.u.constant), Z_UNIVAL(opline->op1.u.constant), Z_UNILEN(opline->op1.u.constant), opline->extended_value TSRMLS_CC);
 		if (!ce) {
-			zend_error(E_ERROR, "Class '%R' not found", Z_TYPE(opline->op1.u.constant), Z_UNIVAL(opline->op1.u.constant));
+			zend_error_noreturn(E_ERROR, "Class '%R' not found", Z_TYPE(opline->op1.u.constant), Z_UNIVAL(opline->op1.u.constant));
 		}
 		EX(called_scope) = ce;
 	} else {
@@ -12761,7 +12743,7 @@
 				EX(fbc) = zend_std_get_static_method(ce, function_name_type, function_name_strval, function_name_strlen TSRMLS_CC);
 			}
 			if (!EX(fbc)) {
-				zend_error(E_ERROR, "Call to undefined method %v::%R()", ce->name, function_name_type, function_name_strval);
+				zend_error_noreturn(E_ERROR, "Call to undefined method %v::%R()", ce->name, function_name_type, function_name_strval);
 			}
 		}
 
@@ -14493,7 +14475,7 @@
 		PZVAL_LOCK(*value_ptr_ptr);
 	}
 	if (IS_VAR == IS_VAR && EX_T(opline->op1.u.var).var.ptr_ptr == &EX_T(opline->op1.u.var).var.ptr) {
-		zend_error(E_ERROR, "Cannot assign by reference to overloaded object");
+		zend_error_noreturn(E_ERROR, "Cannot assign by reference to overloaded object");
 	}
 
 	variable_ptr_ptr = _get_zval_ptr_ptr_var(&opline->op1, EX(Ts), &free_op1 TSRMLS_CC);
@@ -14557,10 +14539,7 @@
 		zend_error_noreturn(E_ERROR, "Call to a member function %R() on a non-object", Z_TYPE_P(function_name), function_name_strval);
 	}
 
-	if (!EX(object)) {
-		EX(called_scope) = NULL;
-		EX(object) = NULL;
-	} else if (EX(fbc) && (EX(fbc)->common.fn_flags & ZEND_ACC_STATIC) != 0) {
+	if ((EX(fbc)->common.fn_flags & ZEND_ACC_STATIC) != 0) {
 		EX(object) = NULL;
 	} else {
 		if (!PZVAL_IS_REF(EX(object))) {
@@ -14592,7 +14571,7 @@
 		/* no function found. try a static method in class */
 		ce = zend_u_fetch_class(Z_TYPE(opline->op1.u.constant), Z_UNIVAL(opline->op1.u.constant), Z_UNILEN(opline->op1.u.constant), opline->extended_value TSRMLS_CC);
 		if (!ce) {
-			zend_error(E_ERROR, "Class '%R' not found", Z_TYPE(opline->op1.u.constant), Z_UNIVAL(opline->op1.u.constant));
+			zend_error_noreturn(E_ERROR, "Class '%R' not found", Z_TYPE(opline->op1.u.constant), Z_UNIVAL(opline->op1.u.constant));
 		}
 		EX(called_scope) = ce;
 	} else {
@@ -14633,7 +14612,7 @@
 				EX(fbc) = zend_std_get_static_method(ce, function_name_type, function_name_strval, function_name_strlen TSRMLS_CC);
 			}
 			if (!EX(fbc)) {
-				zend_error(E_ERROR, "Call to undefined method %v::%R()", ce->name, function_name_type, function_name_strval);
+				zend_error_noreturn(E_ERROR, "Call to undefined method %v::%R()", ce->name, function_name_type, function_name_strval);
 			}
 		}
 
@@ -15550,7 +15529,7 @@
 		/* no function found. try a static method in class */
 		ce = zend_u_fetch_class(Z_TYPE(opline->op1.u.constant), Z_UNIVAL(opline->op1.u.constant), Z_UNILEN(opline->op1.u.constant), opline->extended_value TSRMLS_CC);
 		if (!ce) {
-			zend_error(E_ERROR, "Class '%R' not found", Z_TYPE(opline->op1.u.constant), Z_UNIVAL(opline->op1.u.constant));
+			zend_error_noreturn(E_ERROR, "Class '%R' not found", Z_TYPE(opline->op1.u.constant), Z_UNIVAL(opline->op1.u.constant));
 		}
 		EX(called_scope) = ce;
 	} else {
@@ -15591,7 +15570,7 @@
 				EX(fbc) = zend_std_get_static_method(ce, function_name_type, function_name_strval, function_name_strlen TSRMLS_CC);
 			}
 			if (!EX(fbc)) {
-				zend_error(E_ERROR, "Call to undefined method %v::%R()", ce->name, function_name_type, function_name_strval);
+				zend_error_noreturn(E_ERROR, "Call to undefined method %v::%R()", ce->name, function_name_type, function_name_strval);
 			}
 		}
 
@@ -16959,7 +16938,7 @@
 		PZVAL_LOCK(*value_ptr_ptr);
 	}
 	if (IS_VAR == IS_VAR && EX_T(opline->op1.u.var).var.ptr_ptr == &EX_T(opline->op1.u.var).var.ptr) {
-		zend_error(E_ERROR, "Cannot assign by reference to overloaded object");
+		zend_error_noreturn(E_ERROR, "Cannot assign by reference to overloaded object");
 	}
 
 	variable_ptr_ptr = _get_zval_ptr_ptr_var(&opline->op1, EX(Ts), &free_op1 TSRMLS_CC);
@@ -17022,10 +17001,7 @@
 		zend_error_noreturn(E_ERROR, "Call to a member function %R() on a non-object", Z_TYPE_P(function_name), function_name_strval);
 	}
 
-	if (!EX(object)) {
-		EX(called_scope) = NULL;
-		EX(object) = NULL;
-	} else if (EX(fbc) && (EX(fbc)->common.fn_flags & ZEND_ACC_STATIC) != 0) {
+	if ((EX(fbc)->common.fn_flags & ZEND_ACC_STATIC) != 0) {
 		EX(object) = NULL;
 	} else {
 		if (!PZVAL_IS_REF(EX(object))) {
@@ -17056,7 +17032,7 @@
 		/* no function found. try a static method in class */
 		ce = zend_u_fetch_class(Z_TYPE(opline->op1.u.constant), Z_UNIVAL(opline->op1.u.constant), Z_UNILEN(opline->op1.u.constant), opline->extended_value TSRMLS_CC);
 		if (!ce) {
-			zend_error(E_ERROR, "Class '%R' not found", Z_TYPE(opline->op1.u.constant), Z_UNIVAL(opline->op1.u.constant));
+			zend_error_noreturn(E_ERROR, "Class '%R' not found", Z_TYPE(opline->op1.u.constant), Z_UNIVAL(opline->op1.u.constant));
 		}
 		EX(called_scope) = ce;
 	} else {
@@ -17097,7 +17073,7 @@
 				EX(fbc) = zend_std_get_static_method(ce, function_name_type, function_name_strval, function_name_strlen TSRMLS_CC);
 			}
 			if (!EX(fbc)) {
-				zend_error(E_ERROR, "Call to undefined method %v::%R()", ce->name, function_name_type, function_name_strval);
+				zend_error_noreturn(E_ERROR, "Call to undefined method %v::%R()", ce->name, function_name_type, function_name_strval);
 			}
 		}
 
@@ -18432,10 +18408,7 @@
 		zend_error_noreturn(E_ERROR, "Call to a member function %R() on a non-object", Z_TYPE_P(function_name), function_name_strval);
 	}
 
-	if (!EX(object)) {
-		EX(called_scope) = NULL;
-		EX(object) = NULL;
-	} else if (EX(fbc) && (EX(fbc)->common.fn_flags & ZEND_ACC_STATIC) != 0) {
+	if ((EX(fbc)->common.fn_flags & ZEND_ACC_STATIC) != 0) {
 		EX(object) = NULL;
 	} else {
 		if (!PZVAL_IS_REF(EX(object))) {
@@ -19624,10 +19597,7 @@
 		zend_error_noreturn(E_ERROR, "Call to a member function %R() on a non-object", Z_TYPE_P(function_name), function_name_strval);
 	}
 
-	if (!EX(object)) {
-		EX(called_scope) = NULL;
-		EX(object) = NULL;
-	} else if (EX(fbc) && (EX(fbc)->common.fn_flags & ZEND_ACC_STATIC) != 0) {
+	if ((EX(fbc)->common.fn_flags & ZEND_ACC_STATIC) != 0) {
 		EX(object) = NULL;
 	} else {
 		if (!PZVAL_IS_REF(EX(object))) {
@@ -20748,10 +20718,7 @@
 		zend_error_noreturn(E_ERROR, "Call to a member function %R() on a non-object", Z_TYPE_P(function_name), function_name_strval);
 	}
 
-	if (!EX(object)) {
-		EX(called_scope) = NULL;
-		EX(object) = NULL;
-	} else if (EX(fbc) && (EX(fbc)->common.fn_flags & ZEND_ACC_STATIC) != 0) {
+	if ((EX(fbc)->common.fn_flags & ZEND_ACC_STATIC) != 0) {
 		EX(object) = NULL;
 	} else {
 		if (!PZVAL_IS_REF(EX(object))) {
@@ -22131,10 +22098,7 @@
 		zend_error_noreturn(E_ERROR, "Call to a member function %R() on a non-object", Z_TYPE_P(function_name), function_name_strval);
 	}
 
-	if (!EX(object)) {
-		EX(called_scope) = NULL;
-		EX(object) = NULL;
-	} else if (EX(fbc) && (EX(fbc)->common.fn_flags & ZEND_ACC_STATIC) != 0) {
+	if ((EX(fbc)->common.fn_flags & ZEND_ACC_STATIC) != 0) {
 		EX(object) = NULL;
 	} else {
 		if (!PZVAL_IS_REF(EX(object))) {
@@ -22683,7 +22647,7 @@
 		zval z_conv;
 		UConverter *script_enc_conv = NULL;
 		if (zend_set_converter_encoding(&script_enc_conv, EX(op_array)->script_encoding) == FAILURE) {
-			zend_error(E_ERROR, "Unsupported encoding [%d]", EX(op_array)->script_encoding);
+			zend_error_noreturn(E_ERROR, "Unsupported encoding [%d]", EX(op_array)->script_encoding);
 		}
 		zend_convert_encodings(ZEND_U_CONVERTER(UG(output_encoding_conv)), script_enc_conv, &Z_STRVAL(z_conv), &Z_STRLEN(z_conv), Z_STRVAL_P(z), Z_STRLEN_P(z), &status);
 		Z_TYPE(z_conv) = IS_STRING;
@@ -23398,7 +23362,7 @@
 
 		if (FAILURE == zend_path_encode(&encpath, &encpath_len, Z_USTRVAL_P(inc_filename), Z_USTRLEN_P(inc_filename) TSRMLS_CC)) {
 			failure_retval = 0;
-			zend_error(E_ERROR, "Failure converting '%R' to filesystem encoding", IS_UNICODE, Z_USTRVAL_P(inc_filename));
+			zend_error_noreturn(E_ERROR, "Failure converting '%R' to filesystem encoding", IS_UNICODE, Z_USTRVAL_P(inc_filename));
 			goto skip_compile;
 		}
 
@@ -25199,10 +25163,7 @@
 		zend_error_noreturn(E_ERROR, "Call to a member function %R() on a non-object", Z_TYPE_P(function_name), function_name_strval);
 	}
 
-	if (!EX(object)) {
-		EX(called_scope) = NULL;
-		EX(object) = NULL;
-	} else if (EX(fbc) && (EX(fbc)->common.fn_flags & ZEND_ACC_STATIC) != 0) {
+	if ((EX(fbc)->common.fn_flags & ZEND_ACC_STATIC) != 0) {
 		EX(object) = NULL;
 	} else {
 		if (!PZVAL_IS_REF(EX(object))) {
@@ -26906,10 +26867,7 @@
 		zend_error_noreturn(E_ERROR, "Call to a member function %R() on a non-object", Z_TYPE_P(function_name), function_name_strval);
 	}
 
-	if (!EX(object)) {
-		EX(called_scope) = NULL;
-		EX(object) = NULL;
-	} else if (EX(fbc) && (EX(fbc)->common.fn_flags & ZEND_ACC_STATIC) != 0) {
+	if ((EX(fbc)->common.fn_flags & ZEND_ACC_STATIC) != 0) {
 		EX(object) = NULL;
 	} else {
 		if (!PZVAL_IS_REF(EX(object))) {
@@ -28602,7 +28560,7 @@
 		PZVAL_LOCK(*value_ptr_ptr);
 	}
 	if (IS_CV == IS_VAR && EX_T(opline->op1.u.var).var.ptr_ptr == &EX_T(opline->op1.u.var).var.ptr) {
-		zend_error(E_ERROR, "Cannot assign by reference to overloaded object");
+		zend_error_noreturn(E_ERROR, "Cannot assign by reference to overloaded object");
 	}
 
 	variable_ptr_ptr = _get_zval_ptr_ptr_cv(&opline->op1, EX(Ts), BP_VAR_W TSRMLS_CC);
@@ -28665,10 +28623,7 @@
 		zend_error_noreturn(E_ERROR, "Call to a member function %R() on a non-object", Z_TYPE_P(function_name), function_name_strval);
 	}
 
-	if (!EX(object)) {
-		EX(called_scope) = NULL;
-		EX(object) = NULL;
-	} else if (EX(fbc) && (EX(fbc)->common.fn_flags & ZEND_ACC_STATIC) != 0) {
+	if ((EX(fbc)->common.fn_flags & ZEND_ACC_STATIC) != 0) {
 		EX(object) = NULL;
 	} else {
 		if (!PZVAL_IS_REF(EX(object))) {
@@ -30853,7 +30808,7 @@
 		PZVAL_LOCK(*value_ptr_ptr);
 	}
 	if (IS_CV == IS_VAR && EX_T(opline->op1.u.var).var.ptr_ptr == &EX_T(opline->op1.u.var).var.ptr) {
-		zend_error(E_ERROR, "Cannot assign by reference to overloaded object");
+		zend_error_noreturn(E_ERROR, "Cannot assign by reference to overloaded object");
 	}
 
 	variable_ptr_ptr = _get_zval_ptr_ptr_cv(&opline->op1, EX(Ts), BP_VAR_W TSRMLS_CC);
@@ -30915,10 +30870,7 @@
 		zend_error_noreturn(E_ERROR, "Call to a member function %R() on a non-object", Z_TYPE_P(function_name), function_name_strval);
 	}
 
-	if (!EX(object)) {
-		EX(called_scope) = NULL;
-		EX(object) = NULL;
-	} else if (EX(fbc) && (EX(fbc)->common.fn_flags & ZEND_ACC_STATIC) != 0) {
+	if ((EX(fbc)->common.fn_flags & ZEND_ACC_STATIC) != 0) {
 		EX(object) = NULL;
 	} else {
 		if (!PZVAL_IS_REF(EX(object))) {