Always checks for exception before push call frame

This commit is contained in:
Xinchen Hui 2015-07-28 16:06:06 +08:00
parent 4e9674f1a3
commit 5ac6b8bcc6
2 changed files with 36 additions and 0 deletions

View file

@ -3209,6 +3209,9 @@ ZEND_VM_C_LABEL(try_function_name):
zend_error(E_DEPRECATED, zend_error(E_DEPRECATED,
"Non-static method %s::%s() should not be called statically", "Non-static method %s::%s() should not be called statically",
ZSTR_VAL(fbc->common.scope->name), ZSTR_VAL(fbc->common.function_name)); ZSTR_VAL(fbc->common.scope->name), ZSTR_VAL(fbc->common.function_name));
if (UNEXPECTED(EG(exception) != NULL)) {
HANDLE_EXCEPTION();
}
} else { } else {
zend_throw_error( zend_throw_error(
zend_ce_error, zend_ce_error,
@ -3300,6 +3303,9 @@ ZEND_VM_C_LABEL(try_function_name):
zend_error(E_DEPRECATED, zend_error(E_DEPRECATED,
"Non-static method %s::%s() should not be called statically", "Non-static method %s::%s() should not be called statically",
ZSTR_VAL(fbc->common.scope->name), ZSTR_VAL(fbc->common.function_name)); ZSTR_VAL(fbc->common.scope->name), ZSTR_VAL(fbc->common.function_name));
if (UNEXPECTED(EG(exception) != NULL)) {
HANDLE_EXCEPTION();
}
} else { } else {
zend_throw_error( zend_throw_error(
zend_ce_error, zend_ce_error,
@ -3390,6 +3396,9 @@ ZEND_VM_HANDLER(118, ZEND_INIT_USER_CALL, CONST, CONST|TMPVAR|CV)
zend_error(E_DEPRECATED, zend_error(E_DEPRECATED,
"Non-static method %s::%s() should not be called statically", "Non-static method %s::%s() should not be called statically",
ZSTR_VAL(func->common.scope->name), ZSTR_VAL(func->common.function_name)); ZSTR_VAL(func->common.scope->name), ZSTR_VAL(func->common.function_name));
if (UNEXPECTED(EG(exception) != NULL)) {
HANDLE_EXCEPTION();
}
} }
} else { } else {
zend_internal_type_error(EX_USES_STRICT_TYPES(), "%s() expects parameter 1 to be a valid callback, %s", Z_STRVAL_P(EX_CONSTANT(opline->op1)), error); zend_internal_type_error(EX_USES_STRICT_TYPES(), "%s() expects parameter 1 to be a valid callback, %s", Z_STRVAL_P(EX_CONSTANT(opline->op1)), error);

View file

@ -1978,6 +1978,9 @@ try_function_name:
zend_error(E_DEPRECATED, zend_error(E_DEPRECATED,
"Non-static method %s::%s() should not be called statically", "Non-static method %s::%s() should not be called statically",
ZSTR_VAL(fbc->common.scope->name), ZSTR_VAL(fbc->common.function_name)); ZSTR_VAL(fbc->common.scope->name), ZSTR_VAL(fbc->common.function_name));
if (UNEXPECTED(EG(exception) != NULL)) {
HANDLE_EXCEPTION();
}
} else { } else {
zend_throw_error( zend_throw_error(
zend_ce_error, zend_ce_error,
@ -2069,6 +2072,9 @@ try_function_name:
zend_error(E_DEPRECATED, zend_error(E_DEPRECATED,
"Non-static method %s::%s() should not be called statically", "Non-static method %s::%s() should not be called statically",
ZSTR_VAL(fbc->common.scope->name), ZSTR_VAL(fbc->common.function_name)); ZSTR_VAL(fbc->common.scope->name), ZSTR_VAL(fbc->common.function_name));
if (UNEXPECTED(EG(exception) != NULL)) {
HANDLE_EXCEPTION();
}
} else { } else {
zend_throw_error( zend_throw_error(
zend_ce_error, zend_ce_error,
@ -2391,6 +2397,9 @@ try_function_name:
zend_error(E_DEPRECATED, zend_error(E_DEPRECATED,
"Non-static method %s::%s() should not be called statically", "Non-static method %s::%s() should not be called statically",
ZSTR_VAL(fbc->common.scope->name), ZSTR_VAL(fbc->common.function_name)); ZSTR_VAL(fbc->common.scope->name), ZSTR_VAL(fbc->common.function_name));
if (UNEXPECTED(EG(exception) != NULL)) {
HANDLE_EXCEPTION();
}
} else { } else {
zend_throw_error( zend_throw_error(
zend_ce_error, zend_ce_error,
@ -2482,6 +2491,9 @@ try_function_name:
zend_error(E_DEPRECATED, zend_error(E_DEPRECATED,
"Non-static method %s::%s() should not be called statically", "Non-static method %s::%s() should not be called statically",
ZSTR_VAL(fbc->common.scope->name), ZSTR_VAL(fbc->common.function_name)); ZSTR_VAL(fbc->common.scope->name), ZSTR_VAL(fbc->common.function_name));
if (UNEXPECTED(EG(exception) != NULL)) {
HANDLE_EXCEPTION();
}
} else { } else {
zend_throw_error( zend_throw_error(
zend_ce_error, zend_ce_error,
@ -2637,6 +2649,9 @@ try_function_name:
zend_error(E_DEPRECATED, zend_error(E_DEPRECATED,
"Non-static method %s::%s() should not be called statically", "Non-static method %s::%s() should not be called statically",
ZSTR_VAL(fbc->common.scope->name), ZSTR_VAL(fbc->common.function_name)); ZSTR_VAL(fbc->common.scope->name), ZSTR_VAL(fbc->common.function_name));
if (UNEXPECTED(EG(exception) != NULL)) {
HANDLE_EXCEPTION();
}
} else { } else {
zend_throw_error( zend_throw_error(
zend_ce_error, zend_ce_error,
@ -2728,6 +2743,9 @@ try_function_name:
zend_error(E_DEPRECATED, zend_error(E_DEPRECATED,
"Non-static method %s::%s() should not be called statically", "Non-static method %s::%s() should not be called statically",
ZSTR_VAL(fbc->common.scope->name), ZSTR_VAL(fbc->common.function_name)); ZSTR_VAL(fbc->common.scope->name), ZSTR_VAL(fbc->common.function_name));
if (UNEXPECTED(EG(exception) != NULL)) {
HANDLE_EXCEPTION();
}
} else { } else {
zend_throw_error( zend_throw_error(
zend_ce_error, zend_ce_error,
@ -5725,6 +5743,9 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_INIT_USER_CALL_SPEC_CONST_CONS
zend_error(E_DEPRECATED, zend_error(E_DEPRECATED,
"Non-static method %s::%s() should not be called statically", "Non-static method %s::%s() should not be called statically",
ZSTR_VAL(func->common.scope->name), ZSTR_VAL(func->common.function_name)); ZSTR_VAL(func->common.scope->name), ZSTR_VAL(func->common.function_name));
if (UNEXPECTED(EG(exception) != NULL)) {
HANDLE_EXCEPTION();
}
} }
} else { } else {
zend_internal_type_error(EX_USES_STRICT_TYPES(), "%s() expects parameter 1 to be a valid callback, %s", Z_STRVAL_P(EX_CONSTANT(opline->op1)), error); zend_internal_type_error(EX_USES_STRICT_TYPES(), "%s() expects parameter 1 to be a valid callback, %s", Z_STRVAL_P(EX_CONSTANT(opline->op1)), error);
@ -9472,6 +9493,9 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_INIT_USER_CALL_SPEC_CONST_CV_H
zend_error(E_DEPRECATED, zend_error(E_DEPRECATED,
"Non-static method %s::%s() should not be called statically", "Non-static method %s::%s() should not be called statically",
ZSTR_VAL(func->common.scope->name), ZSTR_VAL(func->common.function_name)); ZSTR_VAL(func->common.scope->name), ZSTR_VAL(func->common.function_name));
if (UNEXPECTED(EG(exception) != NULL)) {
HANDLE_EXCEPTION();
}
} }
} else { } else {
zend_internal_type_error(EX_USES_STRICT_TYPES(), "%s() expects parameter 1 to be a valid callback, %s", Z_STRVAL_P(EX_CONSTANT(opline->op1)), error); zend_internal_type_error(EX_USES_STRICT_TYPES(), "%s() expects parameter 1 to be a valid callback, %s", Z_STRVAL_P(EX_CONSTANT(opline->op1)), error);
@ -11279,6 +11303,9 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_INIT_USER_CALL_SPEC_CONST_TMPV
zend_error(E_DEPRECATED, zend_error(E_DEPRECATED,
"Non-static method %s::%s() should not be called statically", "Non-static method %s::%s() should not be called statically",
ZSTR_VAL(func->common.scope->name), ZSTR_VAL(func->common.function_name)); ZSTR_VAL(func->common.scope->name), ZSTR_VAL(func->common.function_name));
if (UNEXPECTED(EG(exception) != NULL)) {
HANDLE_EXCEPTION();
}
} }
} else { } else {
zend_internal_type_error(EX_USES_STRICT_TYPES(), "%s() expects parameter 1 to be a valid callback, %s", Z_STRVAL_P(EX_CONSTANT(opline->op1)), error); zend_internal_type_error(EX_USES_STRICT_TYPES(), "%s() expects parameter 1 to be a valid callback, %s", Z_STRVAL_P(EX_CONSTANT(opline->op1)), error);