}
}
} else if (IS_CONST == IS_CV) {
- if (Z_OPT_REFCOUNTED_P(retval_ptr)) {
- if (EXPECTED(!Z_OPT_ISREF_P(retval_ptr))) {
- ZVAL_COPY_VALUE(return_value, retval_ptr);
- if (EXPECTED(!(EX_CALL_INFO() & ZEND_CALL_CODE))) {
- zend_refcounted *ref = Z_COUNTED_P(retval_ptr);
- if (GC_MAY_LEAK(ref)) {
- gc_possible_root(ref);
+ do {
+ if (Z_OPT_REFCOUNTED_P(retval_ptr)) {
+ if (EXPECTED(!Z_OPT_ISREF_P(retval_ptr))) {
+ if (EXPECTED(!(EX_CALL_INFO() & ZEND_CALL_CODE))) {
++ zend_refcounted *ref = Z_COUNTED_P(retval_ptr);
+ ZVAL_COPY_VALUE(return_value, retval_ptr);
++ if (GC_MAY_LEAK(ref)) {
++ gc_possible_root(ref);
++ }
+ ZVAL_NULL(retval_ptr);
+ break;
+ } else {
+ Z_ADDREF_P(retval_ptr);
}
- ZVAL_NULL(retval_ptr);
} else {
- Z_ADDREF_P(return_value);
+ retval_ptr = Z_REFVAL_P(retval_ptr);
+ if (Z_OPT_REFCOUNTED_P(retval_ptr)) {
+ Z_ADDREF_P(retval_ptr);
+ }
}
- } else {
- retval_ptr = Z_REFVAL_P(retval_ptr);
- ZVAL_COPY(return_value, retval_ptr);
}
- } else {
ZVAL_COPY_VALUE(return_value, retval_ptr);
- }
+ } while (0);
} else /* if (IS_CONST == IS_VAR) */ {
if (UNEXPECTED(Z_ISREF_P(retval_ptr))) {
zend_refcounted *ref = Z_COUNTED_P(retval_ptr);
}
}
} else if (IS_TMP_VAR == IS_CV) {
- if (Z_OPT_REFCOUNTED_P(retval_ptr)) {
- if (EXPECTED(!Z_OPT_ISREF_P(retval_ptr))) {
- ZVAL_COPY_VALUE(return_value, retval_ptr);
- if (EXPECTED(!(EX_CALL_INFO() & ZEND_CALL_CODE))) {
- zend_refcounted *ref = Z_COUNTED_P(retval_ptr);
- if (GC_MAY_LEAK(ref)) {
- gc_possible_root(ref);
+ do {
+ if (Z_OPT_REFCOUNTED_P(retval_ptr)) {
+ if (EXPECTED(!Z_OPT_ISREF_P(retval_ptr))) {
+ if (EXPECTED(!(EX_CALL_INFO() & ZEND_CALL_CODE))) {
++ zend_refcounted *ref = Z_COUNTED_P(retval_ptr);
+ ZVAL_COPY_VALUE(return_value, retval_ptr);
++ if (GC_MAY_LEAK(ref)) {
++ gc_possible_root(ref);
++ }
+ ZVAL_NULL(retval_ptr);
+ break;
+ } else {
+ Z_ADDREF_P(retval_ptr);
}
- ZVAL_NULL(retval_ptr);
} else {
- Z_ADDREF_P(return_value);
+ retval_ptr = Z_REFVAL_P(retval_ptr);
+ if (Z_OPT_REFCOUNTED_P(retval_ptr)) {
+ Z_ADDREF_P(retval_ptr);
+ }
}
- } else {
- retval_ptr = Z_REFVAL_P(retval_ptr);
- ZVAL_COPY(return_value, retval_ptr);
}
- } else {
ZVAL_COPY_VALUE(return_value, retval_ptr);
- }
+ } while (0);
} else /* if (IS_TMP_VAR == IS_VAR) */ {
if (UNEXPECTED(Z_ISREF_P(retval_ptr))) {
zend_refcounted *ref = Z_COUNTED_P(retval_ptr);
}
}
} else if (IS_VAR == IS_CV) {
- if (Z_OPT_REFCOUNTED_P(retval_ptr)) {
- if (EXPECTED(!Z_OPT_ISREF_P(retval_ptr))) {
- ZVAL_COPY_VALUE(return_value, retval_ptr);
- if (EXPECTED(!(EX_CALL_INFO() & ZEND_CALL_CODE))) {
- zend_refcounted *ref = Z_COUNTED_P(retval_ptr);
- if (GC_MAY_LEAK(ref)) {
- gc_possible_root(ref);
+ do {
+ if (Z_OPT_REFCOUNTED_P(retval_ptr)) {
+ if (EXPECTED(!Z_OPT_ISREF_P(retval_ptr))) {
+ if (EXPECTED(!(EX_CALL_INFO() & ZEND_CALL_CODE))) {
++ zend_refcounted *ref = Z_COUNTED_P(retval_ptr);
+ ZVAL_COPY_VALUE(return_value, retval_ptr);
++ if (GC_MAY_LEAK(ref)) {
++ gc_possible_root(ref);
++ }
+ ZVAL_NULL(retval_ptr);
+ break;
+ } else {
+ Z_ADDREF_P(retval_ptr);
}
- ZVAL_NULL(retval_ptr);
} else {
- Z_ADDREF_P(return_value);
+ retval_ptr = Z_REFVAL_P(retval_ptr);
+ if (Z_OPT_REFCOUNTED_P(retval_ptr)) {
+ Z_ADDREF_P(retval_ptr);
+ }
}
- } else {
- retval_ptr = Z_REFVAL_P(retval_ptr);
- ZVAL_COPY(return_value, retval_ptr);
}
- } else {
ZVAL_COPY_VALUE(return_value, retval_ptr);
- }
+ } while (0);
} else /* if (IS_VAR == IS_VAR) */ {
if (UNEXPECTED(Z_ISREF_P(retval_ptr))) {
zend_refcounted *ref = Z_COUNTED_P(retval_ptr);
}
}
} else if (IS_CV == IS_CV) {
- if (Z_OPT_REFCOUNTED_P(retval_ptr)) {
- if (EXPECTED(!Z_OPT_ISREF_P(retval_ptr))) {
- ZVAL_COPY_VALUE(return_value, retval_ptr);
- if (EXPECTED(!(EX_CALL_INFO() & ZEND_CALL_CODE))) {
- zend_refcounted *ref = Z_COUNTED_P(retval_ptr);
- if (GC_MAY_LEAK(ref)) {
- gc_possible_root(ref);
+ do {
+ if (Z_OPT_REFCOUNTED_P(retval_ptr)) {
+ if (EXPECTED(!Z_OPT_ISREF_P(retval_ptr))) {
+ if (EXPECTED(!(EX_CALL_INFO() & ZEND_CALL_CODE))) {
++ zend_refcounted *ref = Z_COUNTED_P(retval_ptr);
+ ZVAL_COPY_VALUE(return_value, retval_ptr);
++ if (GC_MAY_LEAK(ref)) {
++ gc_possible_root(ref);
++ }
+ ZVAL_NULL(retval_ptr);
+ break;
+ } else {
+ Z_ADDREF_P(retval_ptr);
}
- ZVAL_NULL(retval_ptr);
} else {
- Z_ADDREF_P(return_value);
+ retval_ptr = Z_REFVAL_P(retval_ptr);
+ if (Z_OPT_REFCOUNTED_P(retval_ptr)) {
+ Z_ADDREF_P(retval_ptr);
+ }
}
- } else {
- retval_ptr = Z_REFVAL_P(retval_ptr);
- ZVAL_COPY(return_value, retval_ptr);
}
- } else {
ZVAL_COPY_VALUE(return_value, retval_ptr);
- }
+ } while (0);
} else /* if (IS_CV == IS_VAR) */ {
if (UNEXPECTED(Z_ISREF_P(retval_ptr))) {
zend_refcounted *ref = Z_COUNTED_P(retval_ptr);
}
}
} else if (IS_CONST == IS_CV) {
- if (Z_OPT_REFCOUNTED_P(retval_ptr)) {
- if (EXPECTED(!Z_OPT_ISREF_P(retval_ptr))) {
- ZVAL_COPY_VALUE(return_value, retval_ptr);
- if (EXPECTED(!(EX_CALL_INFO() & ZEND_CALL_CODE))) {
- zend_refcounted *ref = Z_COUNTED_P(retval_ptr);
- if (GC_MAY_LEAK(ref)) {
- gc_possible_root(ref);
+ do {
+ if (Z_OPT_REFCOUNTED_P(retval_ptr)) {
+ if (EXPECTED(!Z_OPT_ISREF_P(retval_ptr))) {
+ if (EXPECTED(!(EX_CALL_INFO() & ZEND_CALL_CODE))) {
++ zend_refcounted *ref = Z_COUNTED_P(retval_ptr);
+ ZVAL_COPY_VALUE(return_value, retval_ptr);
++ if (GC_MAY_LEAK(ref)) {
++ gc_possible_root(ref);
++ }
+ ZVAL_NULL(retval_ptr);
+ break;
+ } else {
+ Z_ADDREF_P(retval_ptr);
}
- ZVAL_NULL(retval_ptr);
} else {
- Z_ADDREF_P(return_value);
+ retval_ptr = Z_REFVAL_P(retval_ptr);
+ if (Z_OPT_REFCOUNTED_P(retval_ptr)) {
+ Z_ADDREF_P(retval_ptr);
+ }
}
- } else {
- retval_ptr = Z_REFVAL_P(retval_ptr);
- ZVAL_COPY(return_value, retval_ptr);
}
- } else {
ZVAL_COPY_VALUE(return_value, retval_ptr);
- }
+ } while (0);
} else /* if (IS_CONST == IS_VAR) */ {
if (UNEXPECTED(Z_ISREF_P(retval_ptr))) {
zend_refcounted *ref = Z_COUNTED_P(retval_ptr);
}
}
} else if (IS_TMP_VAR == IS_CV) {
- if (Z_OPT_REFCOUNTED_P(retval_ptr)) {
- if (EXPECTED(!Z_OPT_ISREF_P(retval_ptr))) {
- ZVAL_COPY_VALUE(return_value, retval_ptr);
- if (EXPECTED(!(EX_CALL_INFO() & ZEND_CALL_CODE))) {
- zend_refcounted *ref = Z_COUNTED_P(retval_ptr);
- if (GC_MAY_LEAK(ref)) {
- gc_possible_root(ref);
+ do {
+ if (Z_OPT_REFCOUNTED_P(retval_ptr)) {
+ if (EXPECTED(!Z_OPT_ISREF_P(retval_ptr))) {
+ if (EXPECTED(!(EX_CALL_INFO() & ZEND_CALL_CODE))) {
++ zend_refcounted *ref = Z_COUNTED_P(retval_ptr);
+ ZVAL_COPY_VALUE(return_value, retval_ptr);
++ if (GC_MAY_LEAK(ref)) {
++ gc_possible_root(ref);
++ }
+ ZVAL_NULL(retval_ptr);
+ break;
+ } else {
+ Z_ADDREF_P(retval_ptr);
}
- ZVAL_NULL(retval_ptr);
} else {
- Z_ADDREF_P(return_value);
+ retval_ptr = Z_REFVAL_P(retval_ptr);
+ if (Z_OPT_REFCOUNTED_P(retval_ptr)) {
+ Z_ADDREF_P(retval_ptr);
+ }
}
- } else {
- retval_ptr = Z_REFVAL_P(retval_ptr);
- ZVAL_COPY(return_value, retval_ptr);
}
- } else {
ZVAL_COPY_VALUE(return_value, retval_ptr);
- }
+ } while (0);
} else /* if (IS_TMP_VAR == IS_VAR) */ {
if (UNEXPECTED(Z_ISREF_P(retval_ptr))) {
zend_refcounted *ref = Z_COUNTED_P(retval_ptr);
}
}
} else if (IS_VAR == IS_CV) {
- if (Z_OPT_REFCOUNTED_P(retval_ptr)) {
- if (EXPECTED(!Z_OPT_ISREF_P(retval_ptr))) {
- ZVAL_COPY_VALUE(return_value, retval_ptr);
- if (EXPECTED(!(EX_CALL_INFO() & ZEND_CALL_CODE))) {
- zend_refcounted *ref = Z_COUNTED_P(retval_ptr);
- if (GC_MAY_LEAK(ref)) {
- gc_possible_root(ref);
+ do {
+ if (Z_OPT_REFCOUNTED_P(retval_ptr)) {
+ if (EXPECTED(!Z_OPT_ISREF_P(retval_ptr))) {
+ if (EXPECTED(!(EX_CALL_INFO() & ZEND_CALL_CODE))) {
++ zend_refcounted *ref = Z_COUNTED_P(retval_ptr);
+ ZVAL_COPY_VALUE(return_value, retval_ptr);
++ if (GC_MAY_LEAK(ref)) {
++ gc_possible_root(ref);
++ }
+ ZVAL_NULL(retval_ptr);
+ break;
+ } else {
+ Z_ADDREF_P(retval_ptr);
}
- ZVAL_NULL(retval_ptr);
} else {
- Z_ADDREF_P(return_value);
+ retval_ptr = Z_REFVAL_P(retval_ptr);
+ if (Z_OPT_REFCOUNTED_P(retval_ptr)) {
+ Z_ADDREF_P(retval_ptr);
+ }
}
- } else {
- retval_ptr = Z_REFVAL_P(retval_ptr);
- ZVAL_COPY(return_value, retval_ptr);
}
- } else {
ZVAL_COPY_VALUE(return_value, retval_ptr);
- }
+ } while (0);
} else /* if (IS_VAR == IS_VAR) */ {
if (UNEXPECTED(Z_ISREF_P(retval_ptr))) {
zend_refcounted *ref = Z_COUNTED_P(retval_ptr);
}
}
} else if (IS_CV == IS_CV) {
- if (Z_OPT_REFCOUNTED_P(retval_ptr)) {
- if (EXPECTED(!Z_OPT_ISREF_P(retval_ptr))) {
- ZVAL_COPY_VALUE(return_value, retval_ptr);
- if (EXPECTED(!(EX_CALL_INFO() & ZEND_CALL_CODE))) {
- zend_refcounted *ref = Z_COUNTED_P(retval_ptr);
- if (GC_MAY_LEAK(ref)) {
- gc_possible_root(ref);
+ do {
+ if (Z_OPT_REFCOUNTED_P(retval_ptr)) {
+ if (EXPECTED(!Z_OPT_ISREF_P(retval_ptr))) {
+ if (EXPECTED(!(EX_CALL_INFO() & ZEND_CALL_CODE))) {
++ zend_refcounted *ref = Z_COUNTED_P(retval_ptr);
+ ZVAL_COPY_VALUE(return_value, retval_ptr);
++ if (GC_MAY_LEAK(ref)) {
++ gc_possible_root(ref);
++ }
+ ZVAL_NULL(retval_ptr);
+ break;
+ } else {
+ Z_ADDREF_P(retval_ptr);
}
- ZVAL_NULL(retval_ptr);
} else {
- Z_ADDREF_P(return_value);
+ retval_ptr = Z_REFVAL_P(retval_ptr);
+ if (Z_OPT_REFCOUNTED_P(retval_ptr)) {
+ Z_ADDREF_P(retval_ptr);
+ }
}
- } else {
- retval_ptr = Z_REFVAL_P(retval_ptr);
- ZVAL_COPY(return_value, retval_ptr);
}
- } else {
ZVAL_COPY_VALUE(return_value, retval_ptr);
- }
+ } while (0);
} else /* if (IS_CV == IS_VAR) */ {
if (UNEXPECTED(Z_ISREF_P(retval_ptr))) {
zend_refcounted *ref = Z_COUNTED_P(retval_ptr);