cvs: ZendEngine2(PHP_5_3) / zend_vm_def.h zend_vm_execute.h

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

  Modified files:              (Branch: PHP_5_3)
    /ZendEngine2	zend_vm_def.h zend_vm_execute.h 
  Log:
  Removed unnecassary checks
dmitry-20090318184933.txt (text/plain, 18.5 KB)
http://cvs.php.net/viewvc.cgi/ZendEngine2/zend_vm_def.h?r1=1.59.2.29.2.48.2.87&r2=1.59.2.29.2.48.2.88&diff_format=u
Index: ZendEngine2/zend_vm_def.h
diff -u ZendEngine2/zend_vm_def.h:1.59.2.29.2.48.2.87 ZendEngine2/zend_vm_def.h:1.59.2.29.2.48.2.88
--- ZendEngine2/zend_vm_def.h:1.59.2.29.2.48.2.87	Wed Mar 18 14:17:14 2009
+++ ZendEngine2/zend_vm_def.h	Wed Mar 18 18:49:27 2009
@@ -18,7 +18,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: zend_vm_def.h,v 1.59.2.29.2.48.2.87 2009/03/18 14:17:14 dmitry Exp $ */
+/* $Id: zend_vm_def.h,v 1.59.2.29.2.48.2.88 2009/03/18 18:49:27 dmitry Exp $ */
 
 /* If you change this file, please regenerate the zend_vm_execute.h and
  * zend_vm_opcodes.h files by running:
@@ -1614,7 +1614,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);
@@ -1956,10 +1956,7 @@
 		zend_error_noreturn(E_ERROR, "Call to a member function %s() on a non-object", 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))) {
@@ -1991,7 +1988,7 @@
 		/* no function found. try a static method in class */
 		ce = zend_fetch_class(Z_STRVAL(opline->op1.u.constant), Z_STRLEN(opline->op1.u.constant), opline->extended_value TSRMLS_CC);
 		if (!ce) {
-			zend_error(E_ERROR, "Class '%s' not found", Z_STRVAL(opline->op1.u.constant));
+			zend_error_noreturn(E_ERROR, "Class '%s' not found", Z_STRVAL(opline->op1.u.constant));
 		}
 		EX(called_scope) = ce;
 	} else {
@@ -2029,7 +2026,7 @@
 				EX(fbc) = zend_std_get_static_method(ce, function_name_strval, function_name_strlen TSRMLS_CC);
 			}
 			if (!EX(fbc)) {
-				zend_error(E_ERROR, "Call to undefined method %s::%s()", ce->name, function_name_strval);
+				zend_error_noreturn(E_ERROR, "Call to undefined method %s::%s()", ce->name, function_name_strval);
 			}
 		}
 
http://cvs.php.net/viewvc.cgi/ZendEngine2/zend_vm_execute.h?r1=1.62.2.30.2.49.2.87&r2=1.62.2.30.2.49.2.88&diff_format=u
Index: ZendEngine2/zend_vm_execute.h
diff -u ZendEngine2/zend_vm_execute.h:1.62.2.30.2.49.2.87 ZendEngine2/zend_vm_execute.h:1.62.2.30.2.49.2.88
--- ZendEngine2/zend_vm_execute.h:1.62.2.30.2.49.2.87	Wed Mar 18 14:17:15 2009
+++ ZendEngine2/zend_vm_execute.h	Wed Mar 18 18:49:27 2009
@@ -2643,7 +2643,7 @@
 		/* no function found. try a static method in class */
 		ce = zend_fetch_class(Z_STRVAL(opline->op1.u.constant), Z_STRLEN(opline->op1.u.constant), opline->extended_value TSRMLS_CC);
 		if (!ce) {
-			zend_error(E_ERROR, "Class '%s' not found", Z_STRVAL(opline->op1.u.constant));
+			zend_error_noreturn(E_ERROR, "Class '%s' not found", Z_STRVAL(opline->op1.u.constant));
 		}
 		EX(called_scope) = ce;
 	} else {
@@ -2681,7 +2681,7 @@
 				EX(fbc) = zend_std_get_static_method(ce, function_name_strval, function_name_strlen TSRMLS_CC);
 			}
 			if (!EX(fbc)) {
-				zend_error(E_ERROR, "Call to undefined method %s::%s()", ce->name, function_name_strval);
+				zend_error_noreturn(E_ERROR, "Call to undefined method %s::%s()", ce->name, function_name_strval);
 			}
 		}
 
@@ -3216,7 +3216,7 @@
 		/* no function found. try a static method in class */
 		ce = zend_fetch_class(Z_STRVAL(opline->op1.u.constant), Z_STRLEN(opline->op1.u.constant), opline->extended_value TSRMLS_CC);
 		if (!ce) {
-			zend_error(E_ERROR, "Class '%s' not found", Z_STRVAL(opline->op1.u.constant));
+			zend_error_noreturn(E_ERROR, "Class '%s' not found", Z_STRVAL(opline->op1.u.constant));
 		}
 		EX(called_scope) = ce;
 	} else {
@@ -3254,7 +3254,7 @@
 				EX(fbc) = zend_std_get_static_method(ce, function_name_strval, function_name_strlen TSRMLS_CC);
 			}
 			if (!EX(fbc)) {
-				zend_error(E_ERROR, "Call to undefined method %s::%s()", ce->name, function_name_strval);
+				zend_error_noreturn(E_ERROR, "Call to undefined method %s::%s()", ce->name, function_name_strval);
 			}
 		}
 
@@ -3684,7 +3684,7 @@
 		/* no function found. try a static method in class */
 		ce = zend_fetch_class(Z_STRVAL(opline->op1.u.constant), Z_STRLEN(opline->op1.u.constant), opline->extended_value TSRMLS_CC);
 		if (!ce) {
-			zend_error(E_ERROR, "Class '%s' not found", Z_STRVAL(opline->op1.u.constant));
+			zend_error_noreturn(E_ERROR, "Class '%s' not found", Z_STRVAL(opline->op1.u.constant));
 		}
 		EX(called_scope) = ce;
 	} else {
@@ -3722,7 +3722,7 @@
 				EX(fbc) = zend_std_get_static_method(ce, function_name_strval, function_name_strlen TSRMLS_CC);
 			}
 			if (!EX(fbc)) {
-				zend_error(E_ERROR, "Call to undefined method %s::%s()", ce->name, function_name_strval);
+				zend_error_noreturn(E_ERROR, "Call to undefined method %s::%s()", ce->name, function_name_strval);
 			}
 		}
 
@@ -3908,7 +3908,7 @@
 		/* no function found. try a static method in class */
 		ce = zend_fetch_class(Z_STRVAL(opline->op1.u.constant), Z_STRLEN(opline->op1.u.constant), opline->extended_value TSRMLS_CC);
 		if (!ce) {
-			zend_error(E_ERROR, "Class '%s' not found", Z_STRVAL(opline->op1.u.constant));
+			zend_error_noreturn(E_ERROR, "Class '%s' not found", Z_STRVAL(opline->op1.u.constant));
 		}
 		EX(called_scope) = ce;
 	} else {
@@ -3946,7 +3946,7 @@
 				EX(fbc) = zend_std_get_static_method(ce, function_name_strval, function_name_strlen TSRMLS_CC);
 			}
 			if (!EX(fbc)) {
-				zend_error(E_ERROR, "Call to undefined method %s::%s()", ce->name, function_name_strval);
+				zend_error_noreturn(E_ERROR, "Call to undefined method %s::%s()", ce->name, function_name_strval);
 			}
 		}
 
@@ -4344,7 +4344,7 @@
 		/* no function found. try a static method in class */
 		ce = zend_fetch_class(Z_STRVAL(opline->op1.u.constant), Z_STRLEN(opline->op1.u.constant), opline->extended_value TSRMLS_CC);
 		if (!ce) {
-			zend_error(E_ERROR, "Class '%s' not found", Z_STRVAL(opline->op1.u.constant));
+			zend_error_noreturn(E_ERROR, "Class '%s' not found", Z_STRVAL(opline->op1.u.constant));
 		}
 		EX(called_scope) = ce;
 	} else {
@@ -4382,7 +4382,7 @@
 				EX(fbc) = zend_std_get_static_method(ce, function_name_strval, function_name_strlen TSRMLS_CC);
 			}
 			if (!EX(fbc)) {
-				zend_error(E_ERROR, "Call to undefined method %s::%s()", ce->name, function_name_strval);
+				zend_error_noreturn(E_ERROR, "Call to undefined method %s::%s()", ce->name, function_name_strval);
 			}
 		}
 
@@ -6000,10 +6000,7 @@
 		zend_error_noreturn(E_ERROR, "Call to a member function %s() on a non-object", 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))) {
@@ -6469,10 +6466,7 @@
 		zend_error_noreturn(E_ERROR, "Call to a member function %s() on a non-object", 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))) {
@@ -6940,10 +6934,7 @@
 		zend_error_noreturn(E_ERROR, "Call to a member function %s() on a non-object", 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))) {
@@ -7505,10 +7496,7 @@
 		zend_error_noreturn(E_ERROR, "Call to a member function %s() on a non-object", 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))) {
@@ -10384,10 +10372,7 @@
 		zend_error_noreturn(E_ERROR, "Call to a member function %s() on a non-object", 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))) {
@@ -10418,7 +10403,7 @@
 		/* no function found. try a static method in class */
 		ce = zend_fetch_class(Z_STRVAL(opline->op1.u.constant), Z_STRLEN(opline->op1.u.constant), opline->extended_value TSRMLS_CC);
 		if (!ce) {
-			zend_error(E_ERROR, "Class '%s' not found", Z_STRVAL(opline->op1.u.constant));
+			zend_error_noreturn(E_ERROR, "Class '%s' not found", Z_STRVAL(opline->op1.u.constant));
 		}
 		EX(called_scope) = ce;
 	} else {
@@ -10456,7 +10441,7 @@
 				EX(fbc) = zend_std_get_static_method(ce, function_name_strval, function_name_strlen TSRMLS_CC);
 			}
 			if (!EX(fbc)) {
-				zend_error(E_ERROR, "Call to undefined method %s::%s()", ce->name, function_name_strval);
+				zend_error_noreturn(E_ERROR, "Call to undefined method %s::%s()", ce->name, function_name_strval);
 			}
 		}
 
@@ -12199,10 +12184,7 @@
 		zend_error_noreturn(E_ERROR, "Call to a member function %s() on a non-object", 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))) {
@@ -12234,7 +12216,7 @@
 		/* no function found. try a static method in class */
 		ce = zend_fetch_class(Z_STRVAL(opline->op1.u.constant), Z_STRLEN(opline->op1.u.constant), opline->extended_value TSRMLS_CC);
 		if (!ce) {
-			zend_error(E_ERROR, "Class '%s' not found", Z_STRVAL(opline->op1.u.constant));
+			zend_error_noreturn(E_ERROR, "Class '%s' not found", Z_STRVAL(opline->op1.u.constant));
 		}
 		EX(called_scope) = ce;
 	} else {
@@ -12272,7 +12254,7 @@
 				EX(fbc) = zend_std_get_static_method(ce, function_name_strval, function_name_strlen TSRMLS_CC);
 			}
 			if (!EX(fbc)) {
-				zend_error(E_ERROR, "Call to undefined method %s::%s()", ce->name, function_name_strval);
+				zend_error_noreturn(E_ERROR, "Call to undefined method %s::%s()", ce->name, function_name_strval);
 			}
 		}
 
@@ -13948,7 +13930,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);
@@ -14010,10 +13992,7 @@
 		zend_error_noreturn(E_ERROR, "Call to a member function %s() on a non-object", 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))) {
@@ -14045,7 +14024,7 @@
 		/* no function found. try a static method in class */
 		ce = zend_fetch_class(Z_STRVAL(opline->op1.u.constant), Z_STRLEN(opline->op1.u.constant), opline->extended_value TSRMLS_CC);
 		if (!ce) {
-			zend_error(E_ERROR, "Class '%s' not found", Z_STRVAL(opline->op1.u.constant));
+			zend_error_noreturn(E_ERROR, "Class '%s' not found", Z_STRVAL(opline->op1.u.constant));
 		}
 		EX(called_scope) = ce;
 	} else {
@@ -14083,7 +14062,7 @@
 				EX(fbc) = zend_std_get_static_method(ce, function_name_strval, function_name_strlen TSRMLS_CC);
 			}
 			if (!EX(fbc)) {
-				zend_error(E_ERROR, "Call to undefined method %s::%s()", ce->name, function_name_strval);
+				zend_error_noreturn(E_ERROR, "Call to undefined method %s::%s()", ce->name, function_name_strval);
 			}
 		}
 
@@ -14947,7 +14926,7 @@
 		/* no function found. try a static method in class */
 		ce = zend_fetch_class(Z_STRVAL(opline->op1.u.constant), Z_STRLEN(opline->op1.u.constant), opline->extended_value TSRMLS_CC);
 		if (!ce) {
-			zend_error(E_ERROR, "Class '%s' not found", Z_STRVAL(opline->op1.u.constant));
+			zend_error_noreturn(E_ERROR, "Class '%s' not found", Z_STRVAL(opline->op1.u.constant));
 		}
 		EX(called_scope) = ce;
 	} else {
@@ -14985,7 +14964,7 @@
 				EX(fbc) = zend_std_get_static_method(ce, function_name_strval, function_name_strlen TSRMLS_CC);
 			}
 			if (!EX(fbc)) {
-				zend_error(E_ERROR, "Call to undefined method %s::%s()", ce->name, function_name_strval);
+				zend_error_noreturn(E_ERROR, "Call to undefined method %s::%s()", ce->name, function_name_strval);
 			}
 		}
 
@@ -16350,7 +16329,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);
@@ -16411,10 +16390,7 @@
 		zend_error_noreturn(E_ERROR, "Call to a member function %s() on a non-object", 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))) {
@@ -16445,7 +16421,7 @@
 		/* no function found. try a static method in class */
 		ce = zend_fetch_class(Z_STRVAL(opline->op1.u.constant), Z_STRLEN(opline->op1.u.constant), opline->extended_value TSRMLS_CC);
 		if (!ce) {
-			zend_error(E_ERROR, "Class '%s' not found", Z_STRVAL(opline->op1.u.constant));
+			zend_error_noreturn(E_ERROR, "Class '%s' not found", Z_STRVAL(opline->op1.u.constant));
 		}
 		EX(called_scope) = ce;
 	} else {
@@ -16483,7 +16459,7 @@
 				EX(fbc) = zend_std_get_static_method(ce, function_name_strval, function_name_strlen TSRMLS_CC);
 			}
 			if (!EX(fbc)) {
-				zend_error(E_ERROR, "Call to undefined method %s::%s()", ce->name, function_name_strval);
+				zend_error_noreturn(E_ERROR, "Call to undefined method %s::%s()", ce->name, function_name_strval);
 			}
 		}
 
@@ -17763,10 +17739,7 @@
 		zend_error_noreturn(E_ERROR, "Call to a member function %s() on a non-object", 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))) {
@@ -18885,10 +18858,7 @@
 		zend_error_noreturn(E_ERROR, "Call to a member function %s() on a non-object", 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))) {
@@ -19951,10 +19921,7 @@
 		zend_error_noreturn(E_ERROR, "Call to a member function %s() on a non-object", 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))) {
@@ -21277,10 +21244,7 @@
 		zend_error_noreturn(E_ERROR, "Call to a member function %s() on a non-object", 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))) {
@@ -24147,10 +24111,7 @@
 		zend_error_noreturn(E_ERROR, "Call to a member function %s() on a non-object", 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))) {
@@ -25796,10 +25757,7 @@
 		zend_error_noreturn(E_ERROR, "Call to a member function %s() on a non-object", 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))) {
@@ -27436,7 +27394,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);
@@ -27497,10 +27455,7 @@
 		zend_error_noreturn(E_ERROR, "Call to a member function %s() on a non-object", 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))) {
@@ -29629,7 +29584,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);
@@ -29689,10 +29644,7 @@
 		zend_error_noreturn(E_ERROR, "Call to a member function %s() on a non-object", 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))) {