if (Z_ISREF_P(arg)) {
ZVAL_DUP(arg, Z_REFVAL_P(arg));
} else {
- if (Z_REFCOUNTED_P(arg)) Z_ADDREF_P(arg);
+ Z_TRY_ADDREF_P(arg);
}
zend_vm_stack_extend_call_frame(&EX(call), arg_num - 1, 1);
ZVAL_NEW_REF(EX(return_value), retval_ptr);
if (IS_CONST == IS_CONST) {
- if (Z_REFCOUNTED_P(retval_ptr)) Z_ADDREF_P(retval_ptr);
+ Z_TRY_ADDREF_P(retval_ptr);
}
}
break;
zend_exception_save();
if (IS_CONST != IS_TMP_VAR) {
- if (Z_REFCOUNTED_P(value)) Z_ADDREF_P(value);
+ Z_TRY_ADDREF_P(value);
}
zend_throw_exception_object(value);
if (IS_CONST == IS_TMP_VAR) {
/* pass */
} else if (IS_CONST == IS_CONST) {
- if (Z_REFCOUNTED_P(expr_ptr)) {
- Z_ADDREF_P(expr_ptr);
- }
+ Z_TRY_ADDREF_P(expr_ptr);
} else if (IS_CONST == IS_CV) {
ZVAL_DEREF(expr_ptr);
- if (Z_REFCOUNTED_P(expr_ptr)) {
- Z_ADDREF_P(expr_ptr);
- }
+ Z_TRY_ADDREF_P(expr_ptr);
} else /* if (IS_CONST == IS_VAR) */ {
if (UNEXPECTED(Z_ISREF_P(expr_ptr))) {
zend_refcounted *ref = Z_COUNTED_P(expr_ptr);
if (IS_CONST == IS_TMP_VAR) {
/* pass */
} else if (IS_CONST == IS_CONST) {
- if (Z_REFCOUNTED_P(expr_ptr)) {
- Z_ADDREF_P(expr_ptr);
- }
+ Z_TRY_ADDREF_P(expr_ptr);
} else if (IS_CONST == IS_CV) {
ZVAL_DEREF(expr_ptr);
- if (Z_REFCOUNTED_P(expr_ptr)) {
- Z_ADDREF_P(expr_ptr);
- }
+ Z_TRY_ADDREF_P(expr_ptr);
} else /* if (IS_CONST == IS_VAR) */ {
if (UNEXPECTED(Z_ISREF_P(expr_ptr))) {
zend_refcounted *ref = Z_COUNTED_P(expr_ptr);
if (IS_CONST == IS_TMP_VAR) {
/* pass */
} else if (IS_CONST == IS_CONST) {
- if (Z_REFCOUNTED_P(expr_ptr)) {
- Z_ADDREF_P(expr_ptr);
- }
+ Z_TRY_ADDREF_P(expr_ptr);
} else if (IS_CONST == IS_CV) {
ZVAL_DEREF(expr_ptr);
- if (Z_REFCOUNTED_P(expr_ptr)) {
- Z_ADDREF_P(expr_ptr);
- }
+ Z_TRY_ADDREF_P(expr_ptr);
} else /* if (IS_CONST == IS_VAR) */ {
if (UNEXPECTED(Z_ISREF_P(expr_ptr))) {
zend_refcounted *ref = Z_COUNTED_P(expr_ptr);
if (IS_CONST == IS_TMP_VAR) {
/* pass */
} else if (IS_CONST == IS_CONST) {
- if (Z_REFCOUNTED_P(expr_ptr)) {
- Z_ADDREF_P(expr_ptr);
- }
+ Z_TRY_ADDREF_P(expr_ptr);
} else if (IS_CONST == IS_CV) {
ZVAL_DEREF(expr_ptr);
- if (Z_REFCOUNTED_P(expr_ptr)) {
- Z_ADDREF_P(expr_ptr);
- }
+ Z_TRY_ADDREF_P(expr_ptr);
} else /* if (IS_CONST == IS_VAR) */ {
if (UNEXPECTED(Z_ISREF_P(expr_ptr))) {
zend_refcounted *ref = Z_COUNTED_P(expr_ptr);
ZVAL_NEW_REF(EX(return_value), retval_ptr);
if (IS_TMP_VAR == IS_CONST) {
- if (Z_REFCOUNTED_P(retval_ptr)) Z_ADDREF_P(retval_ptr);
+ Z_TRY_ADDREF_P(retval_ptr);
}
}
break;
zend_exception_save();
if (IS_TMP_VAR != IS_TMP_VAR) {
- if (Z_REFCOUNTED_P(value)) Z_ADDREF_P(value);
+ Z_TRY_ADDREF_P(value);
}
zend_throw_exception_object(value);
if (IS_TMP_VAR == IS_TMP_VAR) {
/* pass */
} else if (IS_TMP_VAR == IS_CONST) {
- if (Z_REFCOUNTED_P(expr_ptr)) {
- Z_ADDREF_P(expr_ptr);
- }
+ Z_TRY_ADDREF_P(expr_ptr);
} else if (IS_TMP_VAR == IS_CV) {
ZVAL_DEREF(expr_ptr);
- if (Z_REFCOUNTED_P(expr_ptr)) {
- Z_ADDREF_P(expr_ptr);
- }
+ Z_TRY_ADDREF_P(expr_ptr);
} else /* if (IS_TMP_VAR == IS_VAR) */ {
if (UNEXPECTED(Z_ISREF_P(expr_ptr))) {
zend_refcounted *ref = Z_COUNTED_P(expr_ptr);
if (IS_TMP_VAR == IS_TMP_VAR) {
/* pass */
} else if (IS_TMP_VAR == IS_CONST) {
- if (Z_REFCOUNTED_P(expr_ptr)) {
- Z_ADDREF_P(expr_ptr);
- }
+ Z_TRY_ADDREF_P(expr_ptr);
} else if (IS_TMP_VAR == IS_CV) {
ZVAL_DEREF(expr_ptr);
- if (Z_REFCOUNTED_P(expr_ptr)) {
- Z_ADDREF_P(expr_ptr);
- }
+ Z_TRY_ADDREF_P(expr_ptr);
} else /* if (IS_TMP_VAR == IS_VAR) */ {
if (UNEXPECTED(Z_ISREF_P(expr_ptr))) {
zend_refcounted *ref = Z_COUNTED_P(expr_ptr);
if (IS_TMP_VAR == IS_TMP_VAR) {
/* pass */
} else if (IS_TMP_VAR == IS_CONST) {
- if (Z_REFCOUNTED_P(expr_ptr)) {
- Z_ADDREF_P(expr_ptr);
- }
+ Z_TRY_ADDREF_P(expr_ptr);
} else if (IS_TMP_VAR == IS_CV) {
ZVAL_DEREF(expr_ptr);
- if (Z_REFCOUNTED_P(expr_ptr)) {
- Z_ADDREF_P(expr_ptr);
- }
+ Z_TRY_ADDREF_P(expr_ptr);
} else /* if (IS_TMP_VAR == IS_VAR) */ {
if (UNEXPECTED(Z_ISREF_P(expr_ptr))) {
zend_refcounted *ref = Z_COUNTED_P(expr_ptr);
if (IS_TMP_VAR == IS_TMP_VAR) {
/* pass */
} else if (IS_TMP_VAR == IS_CONST) {
- if (Z_REFCOUNTED_P(expr_ptr)) {
- Z_ADDREF_P(expr_ptr);
- }
+ Z_TRY_ADDREF_P(expr_ptr);
} else if (IS_TMP_VAR == IS_CV) {
ZVAL_DEREF(expr_ptr);
- if (Z_REFCOUNTED_P(expr_ptr)) {
- Z_ADDREF_P(expr_ptr);
- }
+ Z_TRY_ADDREF_P(expr_ptr);
} else /* if (IS_TMP_VAR == IS_VAR) */ {
if (UNEXPECTED(Z_ISREF_P(expr_ptr))) {
zend_refcounted *ref = Z_COUNTED_P(expr_ptr);
ZVAL_NEW_REF(EX(return_value), retval_ptr);
if (IS_VAR == IS_CONST) {
- if (Z_REFCOUNTED_P(retval_ptr)) Z_ADDREF_P(retval_ptr);
+ Z_TRY_ADDREF_P(retval_ptr);
}
}
break;
zend_exception_save();
if (IS_VAR != IS_TMP_VAR) {
- if (Z_REFCOUNTED_P(value)) Z_ADDREF_P(value);
+ Z_TRY_ADDREF_P(value);
}
zend_throw_exception_object(value);
value = &tmp;
} else {
value = Z_REFVAL_P(value);
- if (Z_REFCOUNTED_P(value)) {
- Z_ADDREF_P(value);
- }
+ Z_TRY_ADDREF_P(value);
}
} else {
value = Z_REFVAL_P(value);
- if (Z_REFCOUNTED_P(value)) {
- Z_ADDREF_P(value);
- }
+ Z_TRY_ADDREF_P(value);
}
} else if (IS_CONST == IS_CV && Z_REFCOUNTED_P(value)) {
Z_ADDREF_P(value);
value = &tmp;
} else {
value = Z_REFVAL_P(value);
- if (Z_REFCOUNTED_P(value)) {
- Z_ADDREF_P(value);
- }
+ Z_TRY_ADDREF_P(value);
}
} else {
value = Z_REFVAL_P(value);
- if (Z_REFCOUNTED_P(value)) {
- Z_ADDREF_P(value);
- }
+ Z_TRY_ADDREF_P(value);
}
} else if (IS_TMP_VAR == IS_CV && Z_REFCOUNTED_P(value)) {
Z_ADDREF_P(value);
value = &tmp;
} else {
value = Z_REFVAL_P(value);
- if (Z_REFCOUNTED_P(value)) {
- Z_ADDREF_P(value);
- }
+ Z_TRY_ADDREF_P(value);
}
} else {
value = Z_REFVAL_P(value);
- if (Z_REFCOUNTED_P(value)) {
- Z_ADDREF_P(value);
- }
+ Z_TRY_ADDREF_P(value);
}
} else if (IS_VAR == IS_CV && Z_REFCOUNTED_P(value)) {
Z_ADDREF_P(value);
value = &tmp;
} else {
value = Z_REFVAL_P(value);
- if (Z_REFCOUNTED_P(value)) {
- Z_ADDREF_P(value);
- }
+ Z_TRY_ADDREF_P(value);
}
} else {
value = Z_REFVAL_P(value);
- if (Z_REFCOUNTED_P(value)) {
- Z_ADDREF_P(value);
- }
+ Z_TRY_ADDREF_P(value);
}
} else if (IS_CV == IS_CV && Z_REFCOUNTED_P(value)) {
Z_ADDREF_P(value);
if (IS_VAR == IS_TMP_VAR) {
/* pass */
} else if (IS_VAR == IS_CONST) {
- if (Z_REFCOUNTED_P(expr_ptr)) {
- Z_ADDREF_P(expr_ptr);
- }
+ Z_TRY_ADDREF_P(expr_ptr);
} else if (IS_VAR == IS_CV) {
ZVAL_DEREF(expr_ptr);
- if (Z_REFCOUNTED_P(expr_ptr)) {
- Z_ADDREF_P(expr_ptr);
- }
+ Z_TRY_ADDREF_P(expr_ptr);
} else /* if (IS_VAR == IS_VAR) */ {
if (UNEXPECTED(Z_ISREF_P(expr_ptr))) {
zend_refcounted *ref = Z_COUNTED_P(expr_ptr);
if (IS_VAR == IS_TMP_VAR) {
/* pass */
} else if (IS_VAR == IS_CONST) {
- if (Z_REFCOUNTED_P(expr_ptr)) {
- Z_ADDREF_P(expr_ptr);
- }
+ Z_TRY_ADDREF_P(expr_ptr);
} else if (IS_VAR == IS_CV) {
ZVAL_DEREF(expr_ptr);
- if (Z_REFCOUNTED_P(expr_ptr)) {
- Z_ADDREF_P(expr_ptr);
- }
+ Z_TRY_ADDREF_P(expr_ptr);
} else /* if (IS_VAR == IS_VAR) */ {
if (UNEXPECTED(Z_ISREF_P(expr_ptr))) {
zend_refcounted *ref = Z_COUNTED_P(expr_ptr);
value = &tmp;
} else {
value = Z_REFVAL_P(value);
- if (Z_REFCOUNTED_P(value)) {
- Z_ADDREF_P(value);
- }
+ Z_TRY_ADDREF_P(value);
}
} else {
value = Z_REFVAL_P(value);
- if (Z_REFCOUNTED_P(value)) {
- Z_ADDREF_P(value);
- }
+ Z_TRY_ADDREF_P(value);
}
} else if (IS_CONST == IS_CV && Z_REFCOUNTED_P(value)) {
Z_ADDREF_P(value);
value = &tmp;
} else {
value = Z_REFVAL_P(value);
- if (Z_REFCOUNTED_P(value)) {
- Z_ADDREF_P(value);
- }
+ Z_TRY_ADDREF_P(value);
}
} else {
value = Z_REFVAL_P(value);
- if (Z_REFCOUNTED_P(value)) {
- Z_ADDREF_P(value);
- }
+ Z_TRY_ADDREF_P(value);
}
} else if (IS_TMP_VAR == IS_CV && Z_REFCOUNTED_P(value)) {
Z_ADDREF_P(value);
value = &tmp;
} else {
value = Z_REFVAL_P(value);
- if (Z_REFCOUNTED_P(value)) {
- Z_ADDREF_P(value);
- }
+ Z_TRY_ADDREF_P(value);
}
} else {
value = Z_REFVAL_P(value);
- if (Z_REFCOUNTED_P(value)) {
- Z_ADDREF_P(value);
- }
+ Z_TRY_ADDREF_P(value);
}
} else if (IS_VAR == IS_CV && Z_REFCOUNTED_P(value)) {
Z_ADDREF_P(value);
value = &tmp;
} else {
value = Z_REFVAL_P(value);
- if (Z_REFCOUNTED_P(value)) {
- Z_ADDREF_P(value);
- }
+ Z_TRY_ADDREF_P(value);
}
} else {
value = Z_REFVAL_P(value);
- if (Z_REFCOUNTED_P(value)) {
- Z_ADDREF_P(value);
- }
+ Z_TRY_ADDREF_P(value);
}
} else if (IS_CV == IS_CV && Z_REFCOUNTED_P(value)) {
Z_ADDREF_P(value);
if (IS_VAR == IS_TMP_VAR) {
/* pass */
} else if (IS_VAR == IS_CONST) {
- if (Z_REFCOUNTED_P(expr_ptr)) {
- Z_ADDREF_P(expr_ptr);
- }
+ Z_TRY_ADDREF_P(expr_ptr);
} else if (IS_VAR == IS_CV) {
ZVAL_DEREF(expr_ptr);
- if (Z_REFCOUNTED_P(expr_ptr)) {
- Z_ADDREF_P(expr_ptr);
- }
+ Z_TRY_ADDREF_P(expr_ptr);
} else /* if (IS_VAR == IS_VAR) */ {
if (UNEXPECTED(Z_ISREF_P(expr_ptr))) {
zend_refcounted *ref = Z_COUNTED_P(expr_ptr);
value = &tmp;
} else {
value = Z_REFVAL_P(value);
- if (Z_REFCOUNTED_P(value)) {
- Z_ADDREF_P(value);
- }
+ Z_TRY_ADDREF_P(value);
}
} else {
value = Z_REFVAL_P(value);
- if (Z_REFCOUNTED_P(value)) {
- Z_ADDREF_P(value);
- }
+ Z_TRY_ADDREF_P(value);
}
} else if (IS_CONST == IS_CV && Z_REFCOUNTED_P(value)) {
Z_ADDREF_P(value);
value = &tmp;
} else {
value = Z_REFVAL_P(value);
- if (Z_REFCOUNTED_P(value)) {
- Z_ADDREF_P(value);
- }
+ Z_TRY_ADDREF_P(value);
}
} else {
value = Z_REFVAL_P(value);
- if (Z_REFCOUNTED_P(value)) {
- Z_ADDREF_P(value);
- }
+ Z_TRY_ADDREF_P(value);
}
} else if (IS_TMP_VAR == IS_CV && Z_REFCOUNTED_P(value)) {
Z_ADDREF_P(value);
value = &tmp;
} else {
value = Z_REFVAL_P(value);
- if (Z_REFCOUNTED_P(value)) {
- Z_ADDREF_P(value);
- }
+ Z_TRY_ADDREF_P(value);
}
} else {
value = Z_REFVAL_P(value);
- if (Z_REFCOUNTED_P(value)) {
- Z_ADDREF_P(value);
- }
+ Z_TRY_ADDREF_P(value);
}
} else if (IS_VAR == IS_CV && Z_REFCOUNTED_P(value)) {
Z_ADDREF_P(value);
value = &tmp;
} else {
value = Z_REFVAL_P(value);
- if (Z_REFCOUNTED_P(value)) {
- Z_ADDREF_P(value);
- }
+ Z_TRY_ADDREF_P(value);
}
} else {
value = Z_REFVAL_P(value);
- if (Z_REFCOUNTED_P(value)) {
- Z_ADDREF_P(value);
- }
+ Z_TRY_ADDREF_P(value);
}
} else if (IS_CV == IS_CV && Z_REFCOUNTED_P(value)) {
Z_ADDREF_P(value);
if (IS_VAR == IS_TMP_VAR) {
/* pass */
} else if (IS_VAR == IS_CONST) {
- if (Z_REFCOUNTED_P(expr_ptr)) {
- Z_ADDREF_P(expr_ptr);
- }
+ Z_TRY_ADDREF_P(expr_ptr);
} else if (IS_VAR == IS_CV) {
ZVAL_DEREF(expr_ptr);
- if (Z_REFCOUNTED_P(expr_ptr)) {
- Z_ADDREF_P(expr_ptr);
- }
+ Z_TRY_ADDREF_P(expr_ptr);
} else /* if (IS_VAR == IS_VAR) */ {
if (UNEXPECTED(Z_ISREF_P(expr_ptr))) {
zend_refcounted *ref = Z_COUNTED_P(expr_ptr);
value = &tmp;
} else {
value = Z_REFVAL_P(value);
- if (Z_REFCOUNTED_P(value)) {
- Z_ADDREF_P(value);
- }
+ Z_TRY_ADDREF_P(value);
}
} else {
value = Z_REFVAL_P(value);
- if (Z_REFCOUNTED_P(value)) {
- Z_ADDREF_P(value);
- }
+ Z_TRY_ADDREF_P(value);
}
} else if (IS_CONST == IS_CV && Z_REFCOUNTED_P(value)) {
Z_ADDREF_P(value);
value = &tmp;
} else {
value = Z_REFVAL_P(value);
- if (Z_REFCOUNTED_P(value)) {
- Z_ADDREF_P(value);
- }
+ Z_TRY_ADDREF_P(value);
}
} else {
value = Z_REFVAL_P(value);
- if (Z_REFCOUNTED_P(value)) {
- Z_ADDREF_P(value);
- }
+ Z_TRY_ADDREF_P(value);
}
} else if (IS_TMP_VAR == IS_CV && Z_REFCOUNTED_P(value)) {
Z_ADDREF_P(value);
value = &tmp;
} else {
value = Z_REFVAL_P(value);
- if (Z_REFCOUNTED_P(value)) {
- Z_ADDREF_P(value);
- }
+ Z_TRY_ADDREF_P(value);
}
} else {
value = Z_REFVAL_P(value);
- if (Z_REFCOUNTED_P(value)) {
- Z_ADDREF_P(value);
- }
+ Z_TRY_ADDREF_P(value);
}
} else if (IS_VAR == IS_CV && Z_REFCOUNTED_P(value)) {
Z_ADDREF_P(value);
value = &tmp;
} else {
value = Z_REFVAL_P(value);
- if (Z_REFCOUNTED_P(value)) {
- Z_ADDREF_P(value);
- }
+ Z_TRY_ADDREF_P(value);
}
} else {
value = Z_REFVAL_P(value);
- if (Z_REFCOUNTED_P(value)) {
- Z_ADDREF_P(value);
- }
+ Z_TRY_ADDREF_P(value);
}
} else if (IS_CV == IS_CV && Z_REFCOUNTED_P(value)) {
Z_ADDREF_P(value);
value = &tmp;
} else {
value = Z_REFVAL_P(value);
- if (Z_REFCOUNTED_P(value)) {
- Z_ADDREF_P(value);
- }
+ Z_TRY_ADDREF_P(value);
}
} else {
value = Z_REFVAL_P(value);
- if (Z_REFCOUNTED_P(value)) {
- Z_ADDREF_P(value);
- }
+ Z_TRY_ADDREF_P(value);
}
} else if (IS_CONST == IS_CV && Z_REFCOUNTED_P(value)) {
Z_ADDREF_P(value);
value = &tmp;
} else {
value = Z_REFVAL_P(value);
- if (Z_REFCOUNTED_P(value)) {
- Z_ADDREF_P(value);
- }
+ Z_TRY_ADDREF_P(value);
}
} else {
value = Z_REFVAL_P(value);
- if (Z_REFCOUNTED_P(value)) {
- Z_ADDREF_P(value);
- }
+ Z_TRY_ADDREF_P(value);
}
} else if (IS_TMP_VAR == IS_CV && Z_REFCOUNTED_P(value)) {
Z_ADDREF_P(value);
value = &tmp;
} else {
value = Z_REFVAL_P(value);
- if (Z_REFCOUNTED_P(value)) {
- Z_ADDREF_P(value);
- }
+ Z_TRY_ADDREF_P(value);
}
} else {
value = Z_REFVAL_P(value);
- if (Z_REFCOUNTED_P(value)) {
- Z_ADDREF_P(value);
- }
+ Z_TRY_ADDREF_P(value);
}
} else if (IS_VAR == IS_CV && Z_REFCOUNTED_P(value)) {
Z_ADDREF_P(value);
value = &tmp;
} else {
value = Z_REFVAL_P(value);
- if (Z_REFCOUNTED_P(value)) {
- Z_ADDREF_P(value);
- }
+ Z_TRY_ADDREF_P(value);
}
} else {
value = Z_REFVAL_P(value);
- if (Z_REFCOUNTED_P(value)) {
- Z_ADDREF_P(value);
- }
+ Z_TRY_ADDREF_P(value);
}
} else if (IS_CV == IS_CV && Z_REFCOUNTED_P(value)) {
Z_ADDREF_P(value);
value = &tmp;
} else {
value = Z_REFVAL_P(value);
- if (Z_REFCOUNTED_P(value)) {
- Z_ADDREF_P(value);
- }
+ Z_TRY_ADDREF_P(value);
}
} else {
value = Z_REFVAL_P(value);
- if (Z_REFCOUNTED_P(value)) {
- Z_ADDREF_P(value);
- }
+ Z_TRY_ADDREF_P(value);
}
} else if (IS_CONST == IS_CV && Z_REFCOUNTED_P(value)) {
Z_ADDREF_P(value);
value = &tmp;
} else {
value = Z_REFVAL_P(value);
- if (Z_REFCOUNTED_P(value)) {
- Z_ADDREF_P(value);
- }
+ Z_TRY_ADDREF_P(value);
}
} else {
value = Z_REFVAL_P(value);
- if (Z_REFCOUNTED_P(value)) {
- Z_ADDREF_P(value);
- }
+ Z_TRY_ADDREF_P(value);
}
} else if (IS_TMP_VAR == IS_CV && Z_REFCOUNTED_P(value)) {
Z_ADDREF_P(value);
value = &tmp;
} else {
value = Z_REFVAL_P(value);
- if (Z_REFCOUNTED_P(value)) {
- Z_ADDREF_P(value);
- }
+ Z_TRY_ADDREF_P(value);
}
} else {
value = Z_REFVAL_P(value);
- if (Z_REFCOUNTED_P(value)) {
- Z_ADDREF_P(value);
- }
+ Z_TRY_ADDREF_P(value);
}
} else if (IS_VAR == IS_CV && Z_REFCOUNTED_P(value)) {
Z_ADDREF_P(value);
value = &tmp;
} else {
value = Z_REFVAL_P(value);
- if (Z_REFCOUNTED_P(value)) {
- Z_ADDREF_P(value);
- }
+ Z_TRY_ADDREF_P(value);
}
} else {
value = Z_REFVAL_P(value);
- if (Z_REFCOUNTED_P(value)) {
- Z_ADDREF_P(value);
- }
+ Z_TRY_ADDREF_P(value);
}
} else if (IS_CV == IS_CV && Z_REFCOUNTED_P(value)) {
Z_ADDREF_P(value);
ZVAL_NEW_REF(EX(return_value), retval_ptr);
if (IS_CV == IS_CONST) {
- if (Z_REFCOUNTED_P(retval_ptr)) Z_ADDREF_P(retval_ptr);
+ Z_TRY_ADDREF_P(retval_ptr);
}
}
break;
zend_exception_save();
if (IS_CV != IS_TMP_VAR) {
- if (Z_REFCOUNTED_P(value)) Z_ADDREF_P(value);
+ Z_TRY_ADDREF_P(value);
}
zend_throw_exception_object(value);
value = &tmp;
} else {
value = Z_REFVAL_P(value);
- if (Z_REFCOUNTED_P(value)) {
- Z_ADDREF_P(value);
- }
+ Z_TRY_ADDREF_P(value);
}
} else {
value = Z_REFVAL_P(value);
- if (Z_REFCOUNTED_P(value)) {
- Z_ADDREF_P(value);
- }
+ Z_TRY_ADDREF_P(value);
}
} else if (IS_CONST == IS_CV && Z_REFCOUNTED_P(value)) {
Z_ADDREF_P(value);
value = &tmp;
} else {
value = Z_REFVAL_P(value);
- if (Z_REFCOUNTED_P(value)) {
- Z_ADDREF_P(value);
- }
+ Z_TRY_ADDREF_P(value);
}
} else {
value = Z_REFVAL_P(value);
- if (Z_REFCOUNTED_P(value)) {
- Z_ADDREF_P(value);
- }
+ Z_TRY_ADDREF_P(value);
}
} else if (IS_TMP_VAR == IS_CV && Z_REFCOUNTED_P(value)) {
Z_ADDREF_P(value);
value = &tmp;
} else {
value = Z_REFVAL_P(value);
- if (Z_REFCOUNTED_P(value)) {
- Z_ADDREF_P(value);
- }
+ Z_TRY_ADDREF_P(value);
}
} else {
value = Z_REFVAL_P(value);
- if (Z_REFCOUNTED_P(value)) {
- Z_ADDREF_P(value);
- }
+ Z_TRY_ADDREF_P(value);
}
} else if (IS_VAR == IS_CV && Z_REFCOUNTED_P(value)) {
Z_ADDREF_P(value);
value = &tmp;
} else {
value = Z_REFVAL_P(value);
- if (Z_REFCOUNTED_P(value)) {
- Z_ADDREF_P(value);
- }
+ Z_TRY_ADDREF_P(value);
}
} else {
value = Z_REFVAL_P(value);
- if (Z_REFCOUNTED_P(value)) {
- Z_ADDREF_P(value);
- }
+ Z_TRY_ADDREF_P(value);
}
} else if (IS_CV == IS_CV && Z_REFCOUNTED_P(value)) {
Z_ADDREF_P(value);
if (IS_CV == IS_TMP_VAR) {
/* pass */
} else if (IS_CV == IS_CONST) {
- if (Z_REFCOUNTED_P(expr_ptr)) {
- Z_ADDREF_P(expr_ptr);
- }
+ Z_TRY_ADDREF_P(expr_ptr);
} else if (IS_CV == IS_CV) {
ZVAL_DEREF(expr_ptr);
- if (Z_REFCOUNTED_P(expr_ptr)) {
- Z_ADDREF_P(expr_ptr);
- }
+ Z_TRY_ADDREF_P(expr_ptr);
} else /* if (IS_CV == IS_VAR) */ {
if (UNEXPECTED(Z_ISREF_P(expr_ptr))) {
zend_refcounted *ref = Z_COUNTED_P(expr_ptr);
if (IS_CV == IS_TMP_VAR) {
/* pass */
} else if (IS_CV == IS_CONST) {
- if (Z_REFCOUNTED_P(expr_ptr)) {
- Z_ADDREF_P(expr_ptr);
- }
+ Z_TRY_ADDREF_P(expr_ptr);
} else if (IS_CV == IS_CV) {
ZVAL_DEREF(expr_ptr);
- if (Z_REFCOUNTED_P(expr_ptr)) {
- Z_ADDREF_P(expr_ptr);
- }
+ Z_TRY_ADDREF_P(expr_ptr);
} else /* if (IS_CV == IS_VAR) */ {
if (UNEXPECTED(Z_ISREF_P(expr_ptr))) {
zend_refcounted *ref = Z_COUNTED_P(expr_ptr);
value = &tmp;
} else {
value = Z_REFVAL_P(value);
- if (Z_REFCOUNTED_P(value)) {
- Z_ADDREF_P(value);
- }
+ Z_TRY_ADDREF_P(value);
}
} else {
value = Z_REFVAL_P(value);
- if (Z_REFCOUNTED_P(value)) {
- Z_ADDREF_P(value);
- }
+ Z_TRY_ADDREF_P(value);
}
} else if (IS_CONST == IS_CV && Z_REFCOUNTED_P(value)) {
Z_ADDREF_P(value);
value = &tmp;
} else {
value = Z_REFVAL_P(value);
- if (Z_REFCOUNTED_P(value)) {
- Z_ADDREF_P(value);
- }
+ Z_TRY_ADDREF_P(value);
}
} else {
value = Z_REFVAL_P(value);
- if (Z_REFCOUNTED_P(value)) {
- Z_ADDREF_P(value);
- }
+ Z_TRY_ADDREF_P(value);
}
} else if (IS_TMP_VAR == IS_CV && Z_REFCOUNTED_P(value)) {
Z_ADDREF_P(value);
value = &tmp;
} else {
value = Z_REFVAL_P(value);
- if (Z_REFCOUNTED_P(value)) {
- Z_ADDREF_P(value);
- }
+ Z_TRY_ADDREF_P(value);
}
} else {
value = Z_REFVAL_P(value);
- if (Z_REFCOUNTED_P(value)) {
- Z_ADDREF_P(value);
- }
+ Z_TRY_ADDREF_P(value);
}
} else if (IS_VAR == IS_CV && Z_REFCOUNTED_P(value)) {
Z_ADDREF_P(value);
value = &tmp;
} else {
value = Z_REFVAL_P(value);
- if (Z_REFCOUNTED_P(value)) {
- Z_ADDREF_P(value);
- }
+ Z_TRY_ADDREF_P(value);
}
} else {
value = Z_REFVAL_P(value);
- if (Z_REFCOUNTED_P(value)) {
- Z_ADDREF_P(value);
- }
+ Z_TRY_ADDREF_P(value);
}
} else if (IS_CV == IS_CV && Z_REFCOUNTED_P(value)) {
Z_ADDREF_P(value);
if (IS_CV == IS_TMP_VAR) {
/* pass */
} else if (IS_CV == IS_CONST) {
- if (Z_REFCOUNTED_P(expr_ptr)) {
- Z_ADDREF_P(expr_ptr);
- }
+ Z_TRY_ADDREF_P(expr_ptr);
} else if (IS_CV == IS_CV) {
ZVAL_DEREF(expr_ptr);
- if (Z_REFCOUNTED_P(expr_ptr)) {
- Z_ADDREF_P(expr_ptr);
- }
+ Z_TRY_ADDREF_P(expr_ptr);
} else /* if (IS_CV == IS_VAR) */ {
if (UNEXPECTED(Z_ISREF_P(expr_ptr))) {
zend_refcounted *ref = Z_COUNTED_P(expr_ptr);
value = &tmp;
} else {
value = Z_REFVAL_P(value);
- if (Z_REFCOUNTED_P(value)) {
- Z_ADDREF_P(value);
- }
+ Z_TRY_ADDREF_P(value);
}
} else {
value = Z_REFVAL_P(value);
- if (Z_REFCOUNTED_P(value)) {
- Z_ADDREF_P(value);
- }
+ Z_TRY_ADDREF_P(value);
}
} else if (IS_CONST == IS_CV && Z_REFCOUNTED_P(value)) {
Z_ADDREF_P(value);
value = &tmp;
} else {
value = Z_REFVAL_P(value);
- if (Z_REFCOUNTED_P(value)) {
- Z_ADDREF_P(value);
- }
+ Z_TRY_ADDREF_P(value);
}
} else {
value = Z_REFVAL_P(value);
- if (Z_REFCOUNTED_P(value)) {
- Z_ADDREF_P(value);
- }
+ Z_TRY_ADDREF_P(value);
}
} else if (IS_TMP_VAR == IS_CV && Z_REFCOUNTED_P(value)) {
Z_ADDREF_P(value);
value = &tmp;
} else {
value = Z_REFVAL_P(value);
- if (Z_REFCOUNTED_P(value)) {
- Z_ADDREF_P(value);
- }
+ Z_TRY_ADDREF_P(value);
}
} else {
value = Z_REFVAL_P(value);
- if (Z_REFCOUNTED_P(value)) {
- Z_ADDREF_P(value);
- }
+ Z_TRY_ADDREF_P(value);
}
} else if (IS_VAR == IS_CV && Z_REFCOUNTED_P(value)) {
Z_ADDREF_P(value);
value = &tmp;
} else {
value = Z_REFVAL_P(value);
- if (Z_REFCOUNTED_P(value)) {
- Z_ADDREF_P(value);
- }
+ Z_TRY_ADDREF_P(value);
}
} else {
value = Z_REFVAL_P(value);
- if (Z_REFCOUNTED_P(value)) {
- Z_ADDREF_P(value);
- }
+ Z_TRY_ADDREF_P(value);
}
} else if (IS_CV == IS_CV && Z_REFCOUNTED_P(value)) {
Z_ADDREF_P(value);
if (IS_CV == IS_TMP_VAR) {
/* pass */
} else if (IS_CV == IS_CONST) {
- if (Z_REFCOUNTED_P(expr_ptr)) {
- Z_ADDREF_P(expr_ptr);
- }
+ Z_TRY_ADDREF_P(expr_ptr);
} else if (IS_CV == IS_CV) {
ZVAL_DEREF(expr_ptr);
- if (Z_REFCOUNTED_P(expr_ptr)) {
- Z_ADDREF_P(expr_ptr);
- }
+ Z_TRY_ADDREF_P(expr_ptr);
} else /* if (IS_CV == IS_VAR) */ {
if (UNEXPECTED(Z_ISREF_P(expr_ptr))) {
zend_refcounted *ref = Z_COUNTED_P(expr_ptr);
continue;
}
ZVAL_DEREF(entry);
- if (Z_REFCOUNTED_P(entry)) Z_ADDREF_P(entry);
ZVAL_DEREF(orig_var);
zval_ptr_dtor(orig_var);
- ZVAL_COPY_VALUE(orig_var, entry);
+ ZVAL_COPY(orig_var, entry);
count++;
}
} ZEND_HASH_FOREACH_END();
continue;
}
ZVAL_DEREF(entry);
- if (Z_REFCOUNTED_P(entry)) Z_ADDREF_P(entry);
ZVAL_DEREF(orig_var);
zval_ptr_dtor(orig_var);
- ZVAL_COPY_VALUE(orig_var, entry);
+ ZVAL_COPY(orig_var, entry);
} else {
ZVAL_DEREF(entry);
- if (Z_REFCOUNTED_P(entry)) Z_ADDREF_P(entry);
+ Z_TRY_ADDREF_P(entry);
zend_hash_add_new(symbol_table, var_name, entry);
}
count++;
orig_var = Z_INDIRECT_P(orig_var);
if (Z_TYPE_P(orig_var) == IS_UNDEF) {
ZVAL_DEREF(entry);
- if (Z_REFCOUNTED_P(entry)) Z_ADDREF_P(entry);
- ZVAL_COPY_VALUE(orig_var, entry);
+ ZVAL_COPY(orig_var, entry);
count++;
continue;
}
}
} else {
ZVAL_DEREF(entry);
- if (Z_REFCOUNTED_P(entry)) Z_ADDREF_P(entry);
if ((orig_var = zend_hash_find(symbol_table, Z_STR(final_name))) != NULL) {
if (Z_TYPE_P(orig_var) == IS_INDIRECT) {
orig_var = Z_INDIRECT_P(orig_var);
}
ZVAL_DEREF(orig_var);
zval_ptr_dtor(orig_var);
- ZVAL_COPY_VALUE(orig_var, entry);
+ ZVAL_COPY(orig_var, entry);
} else {
+ Z_TRY_ADDREF_P(entry);
zend_hash_add_new(symbol_table, Z_STR(final_name), entry);
}
count++;
orig_var = Z_INDIRECT_P(orig_var);
if (Z_TYPE_P(orig_var) == IS_UNDEF) {
ZVAL_DEREF(entry);
- if (Z_REFCOUNTED_P(entry)) Z_ADDREF_P(entry);
- ZVAL_COPY_VALUE(orig_var, entry);
+ ZVAL_COPY(orig_var, entry);
count++;
continue;
}
}
} else {
ZVAL_DEREF(entry);
- if (Z_REFCOUNTED_P(entry)) Z_ADDREF_P(entry);
if ((orig_var = zend_hash_find(symbol_table, Z_STR(final_name))) != NULL) {
if (Z_TYPE_P(orig_var) == IS_INDIRECT) {
orig_var = Z_INDIRECT_P(orig_var);
}
ZVAL_DEREF(orig_var);
zval_ptr_dtor(orig_var);
- ZVAL_COPY_VALUE(orig_var, entry);
+ ZVAL_COPY(orig_var, entry);
} else {
+ Z_TRY_ADDREF_P(entry);
zend_hash_add_new(symbol_table, Z_STR(final_name), entry);
}
count++;
continue;
}
ZVAL_DEREF(entry);
- if (Z_REFCOUNTED_P(entry)) Z_ADDREF_P(entry);
+ Z_TRY_ADDREF_P(entry);
zend_hash_add_new(symbol_table, var_name, entry);
count++;
}
}
} else {
ZVAL_DEREF(entry);
- if (Z_REFCOUNTED_P(entry)) Z_ADDREF_P(entry);
if ((orig_var = zend_hash_find(symbol_table, Z_STR(final_name))) != NULL) {
if (Z_TYPE_P(orig_var) == IS_INDIRECT) {
orig_var = Z_INDIRECT_P(orig_var);
}
ZVAL_DEREF(orig_var);
zval_ptr_dtor(orig_var);
- ZVAL_COPY_VALUE(orig_var, entry);
+ ZVAL_COPY(orig_var, entry);
} else {
+ Z_TRY_ADDREF_P(entry);
zend_hash_add_new(symbol_table, Z_STR(final_name), entry);
}
count++;
}
} else {
ZVAL_DEREF(entry);
- if (Z_REFCOUNTED_P(entry)) Z_ADDREF_P(entry);
if ((orig_var = zend_hash_find(symbol_table, Z_STR(final_name))) != NULL) {
if (Z_TYPE_P(orig_var) == IS_INDIRECT) {
orig_var = Z_INDIRECT_P(orig_var);
}
ZVAL_DEREF(orig_var);
zval_ptr_dtor(orig_var);
- ZVAL_COPY_VALUE(orig_var, entry);
+ ZVAL_COPY(orig_var, entry);
} else {
+ Z_TRY_ADDREF_P(entry);
zend_hash_add_new(symbol_table, Z_STR(final_name), entry);
}
count++;
orig_var = Z_INDIRECT_P(orig_var);
if (Z_TYPE_P(orig_var) == IS_UNDEF) {
ZVAL_DEREF(entry);
- if (Z_REFCOUNTED_P(entry)) Z_ADDREF_P(entry);
- ZVAL_COPY_VALUE(orig_var, entry);
+ ZVAL_COPY(orig_var, entry);
count++;
}
}
} else {
ZVAL_DEREF(entry);
- if (Z_REFCOUNTED_P(entry)) Z_ADDREF_P(entry);
+ Z_TRY_ADDREF_P(entry);
zend_hash_add_new(symbol_table, var_name, entry);
count++;
}
if (Z_TYPE(p->val) == IS_UNDEF) continue;
pos++;
entry = &p->val;
- if (Z_REFCOUNTED_P(entry)) {
- Z_ADDREF_P(entry);
- }
+ Z_TRY_ADDREF_P(entry);
if (p->key == NULL) {
zend_hash_next_index_insert_new(removed, entry);
zend_hash_index_del(in_hash, p->h);
/* If there are entries to insert.. */
if (replace) {
ZEND_HASH_FOREACH_VAL_IND(replace, entry) {
- if (Z_REFCOUNTED_P(entry)) Z_ADDREF_P(entry);
+ Z_TRY_ADDREF_P(entry);
zend_hash_next_index_insert_new(&out_hash, entry);
pos++;
} ZEND_HASH_FOREACH_END();
ZVAL_COPY(&new_var, &args[i]);
if (zend_hash_next_index_insert(Z_ARRVAL_P(stack), &new_var) == NULL) {
- if (Z_REFCOUNTED(new_var)) Z_DELREF(new_var);
+ Z_TRY_DELREF(new_var);
php_error_docref(NULL, E_WARNING, "Cannot add element to the array as the next element is already occupied");
RETURN_FALSE;
}
zend_hash_init(&new_hash, zend_hash_num_elements(Z_ARRVAL_P(stack)) + argc, NULL, ZVAL_PTR_DTOR, 0);
for (i = 0; i < argc; i++) {
- if (Z_REFCOUNTED(args[i])) {
- Z_ADDREF(args[i]);
- }
+ Z_TRY_ADDREF(args[i]);
zend_hash_next_index_insert_new(&new_hash, &args[i]);
}
if (EXPECTED(Z_ARRVAL_P(stack)->u.v.nIteratorsCount == 0)) {
return 0;
}
} else {
- if (Z_REFCOUNTED_P(src_entry)) {
- Z_ADDREF_P(src_entry);
- }
+ Z_TRY_ADDREF_P(src_entry);
zend_hash_next_index_insert(Z_ARRVAL_P(dest_zval), src_zval);
}
zval_ptr_dtor(&tmp);
}
}
if (ok) {
- if (Z_REFCOUNTED_P(val)) {
- Z_ADDREF_P(val);
- }
+ Z_TRY_ADDREF_P(val);
zend_hash_index_update(Z_ARRVAL_P(return_value), p->h, val);
}
} else {
}
}
if (ok) {
- if (Z_REFCOUNTED_P(val)) {
- Z_ADDREF_P(val);
- }
+ Z_TRY_ADDREF_P(val);
zend_hash_update(Z_ARRVAL_P(return_value), p->key, val);
}
}
}
}
if (ok) {
- if (Z_REFCOUNTED_P(val)) {
- Z_ADDREF_P(val);
- }
+ Z_TRY_ADDREF_P(val);
zend_hash_index_update(Z_ARRVAL_P(return_value), p->h, val);
}
} else {
}
}
if (ok) {
- if (Z_REFCOUNTED_P(val)) {
- Z_ADDREF_P(val);
- }
+ Z_TRY_ADDREF_P(val);
zend_hash_update(Z_ARRVAL_P(return_value), p->key, val);
}
}