static int ZEND_FASTCALL ZEND_GENERATOR_RETURN_SPEC_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
{
- /* The generator object is stored in return_value_ptr_ptr */
- zend_generator *generator = (zend_generator *) Z_OBJ_P(EX(return_value));
+ /* The generator object is stored in EX(return_value) */
+ zend_generator *generator = (zend_generator *) EX(return_value);
/* Close the generator to free up resources */
zend_generator_close(generator, 1 TSRMLS_CC);
{
USE_OPLINE
- /* The generator object is stored in return_value_ptr_ptr */
- zend_generator *generator = (zend_generator *) Z_OBJ_P(EX(return_value));
+ /* The generator object is stored in EX(return_value) */
+ zend_generator *generator = (zend_generator *) EX(return_value);
if (generator->flags & ZEND_GENERATOR_FORCED_CLOSE) {
zend_error_noreturn(E_ERROR, "Cannot yield from finally in a force-closed generator");
) {
//??? INIT_PZVAL_COPY(copy, value);
ZVAL_COPY_VALUE(&generator->value, value);
- Z_SET_REFCOUNT(generator->value, 1);
+ if (Z_REFCOUNTED(generator->value)) Z_SET_REFCOUNT(generator->value, 1);
/* Temporary variables don't need ctor copying */
if (!0) {
} else {
if (IS_CONST == IS_CV) {
- Z_ADDREF_P(value);
+ if (Z_REFCOUNTED_P(value)) Z_ADDREF_P(value);
}
ZVAL_COPY_VALUE(&generator->value, value);
}
) {
//??? INIT_PZVAL_COPY(copy, key);
ZVAL_COPY_VALUE(&generator->key, key);
- Z_SET_REFCOUNT(generator->key, 1);
+ if (Z_REFCOUNTED(generator->key)) Z_SET_REFCOUNT(generator->key, 1);
/* Temporary variables don't need ctor copying */
if (!0) {
{
USE_OPLINE
- /* The generator object is stored in return_value_ptr_ptr */
- zend_generator *generator = (zend_generator *) Z_OBJ_P(EX(return_value));
+ /* The generator object is stored in EX(return_value) */
+ zend_generator *generator = (zend_generator *) EX(return_value);
if (generator->flags & ZEND_GENERATOR_FORCED_CLOSE) {
zend_error_noreturn(E_ERROR, "Cannot yield from finally in a force-closed generator");
) {
//??? INIT_PZVAL_COPY(copy, value);
ZVAL_COPY_VALUE(&generator->value, value);
- Z_SET_REFCOUNT(generator->value, 1);
+ if (Z_REFCOUNTED(generator->value)) Z_SET_REFCOUNT(generator->value, 1);
/* Temporary variables don't need ctor copying */
if (!0) {
} else {
if (IS_CONST == IS_CV) {
- Z_ADDREF_P(value);
+ if (Z_REFCOUNTED_P(value)) Z_ADDREF_P(value);
}
ZVAL_COPY_VALUE(&generator->value, value);
}
) {
//??? INIT_PZVAL_COPY(copy, key);
ZVAL_COPY_VALUE(&generator->key, key);
- Z_SET_REFCOUNT(generator->key, 1);
+ if (Z_REFCOUNTED(generator->key)) Z_SET_REFCOUNT(generator->key, 1);
/* Temporary variables don't need ctor copying */
if (!1) {
{
USE_OPLINE
- /* The generator object is stored in return_value_ptr_ptr */
- zend_generator *generator = (zend_generator *) Z_OBJ_P(EX(return_value));
+ /* The generator object is stored in EX(return_value) */
+ zend_generator *generator = (zend_generator *) EX(return_value);
if (generator->flags & ZEND_GENERATOR_FORCED_CLOSE) {
zend_error_noreturn(E_ERROR, "Cannot yield from finally in a force-closed generator");
) {
//??? INIT_PZVAL_COPY(copy, value);
ZVAL_COPY_VALUE(&generator->value, value);
- Z_SET_REFCOUNT(generator->value, 1);
+ if (Z_REFCOUNTED(generator->value)) Z_SET_REFCOUNT(generator->value, 1);
/* Temporary variables don't need ctor copying */
if (!0) {
} else {
if (IS_CONST == IS_CV) {
- Z_ADDREF_P(value);
+ if (Z_REFCOUNTED_P(value)) Z_ADDREF_P(value);
}
ZVAL_COPY_VALUE(&generator->value, value);
}
) {
//??? INIT_PZVAL_COPY(copy, key);
ZVAL_COPY_VALUE(&generator->key, key);
- Z_SET_REFCOUNT(generator->key, 1);
+ if (Z_REFCOUNTED(generator->key)) Z_SET_REFCOUNT(generator->key, 1);
/* Temporary variables don't need ctor copying */
if (!0) {
{
USE_OPLINE
- /* The generator object is stored in return_value_ptr_ptr */
- zend_generator *generator = (zend_generator *) Z_OBJ_P(EX(return_value));
+ /* The generator object is stored in EX(return_value) */
+ zend_generator *generator = (zend_generator *) EX(return_value);
if (generator->flags & ZEND_GENERATOR_FORCED_CLOSE) {
zend_error_noreturn(E_ERROR, "Cannot yield from finally in a force-closed generator");
) {
//??? INIT_PZVAL_COPY(copy, value);
ZVAL_COPY_VALUE(&generator->value, value);
- Z_SET_REFCOUNT(generator->value, 1);
+ if (Z_REFCOUNTED(generator->value)) Z_SET_REFCOUNT(generator->value, 1);
/* Temporary variables don't need ctor copying */
if (!0) {
} else {
if (IS_CONST == IS_CV) {
- Z_ADDREF_P(value);
+ if (Z_REFCOUNTED_P(value)) Z_ADDREF_P(value);
}
ZVAL_COPY_VALUE(&generator->value, value);
}
) {
//??? INIT_PZVAL_COPY(copy, key);
ZVAL_COPY_VALUE(&generator->key, key);
- Z_SET_REFCOUNT(generator->key, 1);
+ if (Z_REFCOUNTED(generator->key)) Z_SET_REFCOUNT(generator->key, 1);
/* Temporary variables don't need ctor copying */
if (!0) {
{
USE_OPLINE
- /* The generator object is stored in return_value_ptr_ptr */
- zend_generator *generator = (zend_generator *) Z_OBJ_P(EX(return_value));
+ /* The generator object is stored in EX(return_value) */
+ zend_generator *generator = (zend_generator *) EX(return_value);
if (generator->flags & ZEND_GENERATOR_FORCED_CLOSE) {
zend_error_noreturn(E_ERROR, "Cannot yield from finally in a force-closed generator");
) {
//??? INIT_PZVAL_COPY(copy, value);
ZVAL_COPY_VALUE(&generator->value, value);
- Z_SET_REFCOUNT(generator->value, 1);
+ if (Z_REFCOUNTED(generator->value)) Z_SET_REFCOUNT(generator->value, 1);
/* Temporary variables don't need ctor copying */
if (!0) {
} else {
if (IS_CONST == IS_CV) {
- Z_ADDREF_P(value);
+ if (Z_REFCOUNTED_P(value)) Z_ADDREF_P(value);
}
ZVAL_COPY_VALUE(&generator->value, value);
}
) {
//??? INIT_PZVAL_COPY(copy, key);
ZVAL_COPY_VALUE(&generator->key, key);
- Z_SET_REFCOUNT(generator->key, 1);
+ if (Z_REFCOUNTED(generator->key)) Z_SET_REFCOUNT(generator->key, 1);
/* Temporary variables don't need ctor copying */
if (!0) {
{
USE_OPLINE
- /* The generator object is stored in return_value_ptr_ptr */
- zend_generator *generator = (zend_generator *) Z_OBJ_P(EX(return_value));
+ /* The generator object is stored in EX(return_value) */
+ zend_generator *generator = (zend_generator *) EX(return_value);
if (generator->flags & ZEND_GENERATOR_FORCED_CLOSE) {
zend_error_noreturn(E_ERROR, "Cannot yield from finally in a force-closed generator");
) {
//??? INIT_PZVAL_COPY(copy, value);
ZVAL_COPY_VALUE(&generator->value, value);
- Z_SET_REFCOUNT(generator->value, 1);
+ if (Z_REFCOUNTED(generator->value)) Z_SET_REFCOUNT(generator->value, 1);
/* Temporary variables don't need ctor copying */
if (!1) {
} else {
if (IS_TMP_VAR == IS_CV) {
- Z_ADDREF_P(value);
+ if (Z_REFCOUNTED_P(value)) Z_ADDREF_P(value);
}
ZVAL_COPY_VALUE(&generator->value, value);
}
) {
//??? INIT_PZVAL_COPY(copy, key);
ZVAL_COPY_VALUE(&generator->key, key);
- Z_SET_REFCOUNT(generator->key, 1);
+ if (Z_REFCOUNTED(generator->key)) Z_SET_REFCOUNT(generator->key, 1);
/* Temporary variables don't need ctor copying */
if (!0) {
{
USE_OPLINE
- /* The generator object is stored in return_value_ptr_ptr */
- zend_generator *generator = (zend_generator *) Z_OBJ_P(EX(return_value));
+ /* The generator object is stored in EX(return_value) */
+ zend_generator *generator = (zend_generator *) EX(return_value);
if (generator->flags & ZEND_GENERATOR_FORCED_CLOSE) {
zend_error_noreturn(E_ERROR, "Cannot yield from finally in a force-closed generator");
) {
//??? INIT_PZVAL_COPY(copy, value);
ZVAL_COPY_VALUE(&generator->value, value);
- Z_SET_REFCOUNT(generator->value, 1);
+ if (Z_REFCOUNTED(generator->value)) Z_SET_REFCOUNT(generator->value, 1);
/* Temporary variables don't need ctor copying */
if (!1) {
} else {
if (IS_TMP_VAR == IS_CV) {
- Z_ADDREF_P(value);
+ if (Z_REFCOUNTED_P(value)) Z_ADDREF_P(value);
}
ZVAL_COPY_VALUE(&generator->value, value);
}
) {
//??? INIT_PZVAL_COPY(copy, key);
ZVAL_COPY_VALUE(&generator->key, key);
- Z_SET_REFCOUNT(generator->key, 1);
+ if (Z_REFCOUNTED(generator->key)) Z_SET_REFCOUNT(generator->key, 1);
/* Temporary variables don't need ctor copying */
if (!1) {
{
USE_OPLINE
- /* The generator object is stored in return_value_ptr_ptr */
- zend_generator *generator = (zend_generator *) Z_OBJ_P(EX(return_value));
+ /* The generator object is stored in EX(return_value) */
+ zend_generator *generator = (zend_generator *) EX(return_value);
if (generator->flags & ZEND_GENERATOR_FORCED_CLOSE) {
zend_error_noreturn(E_ERROR, "Cannot yield from finally in a force-closed generator");
) {
//??? INIT_PZVAL_COPY(copy, value);
ZVAL_COPY_VALUE(&generator->value, value);
- Z_SET_REFCOUNT(generator->value, 1);
+ if (Z_REFCOUNTED(generator->value)) Z_SET_REFCOUNT(generator->value, 1);
/* Temporary variables don't need ctor copying */
if (!1) {
} else {
if (IS_TMP_VAR == IS_CV) {
- Z_ADDREF_P(value);
+ if (Z_REFCOUNTED_P(value)) Z_ADDREF_P(value);
}
ZVAL_COPY_VALUE(&generator->value, value);
}
) {
//??? INIT_PZVAL_COPY(copy, key);
ZVAL_COPY_VALUE(&generator->key, key);
- Z_SET_REFCOUNT(generator->key, 1);
+ if (Z_REFCOUNTED(generator->key)) Z_SET_REFCOUNT(generator->key, 1);
/* Temporary variables don't need ctor copying */
if (!0) {
{
USE_OPLINE
- /* The generator object is stored in return_value_ptr_ptr */
- zend_generator *generator = (zend_generator *) Z_OBJ_P(EX(return_value));
+ /* The generator object is stored in EX(return_value) */
+ zend_generator *generator = (zend_generator *) EX(return_value);
if (generator->flags & ZEND_GENERATOR_FORCED_CLOSE) {
zend_error_noreturn(E_ERROR, "Cannot yield from finally in a force-closed generator");
) {
//??? INIT_PZVAL_COPY(copy, value);
ZVAL_COPY_VALUE(&generator->value, value);
- Z_SET_REFCOUNT(generator->value, 1);
+ if (Z_REFCOUNTED(generator->value)) Z_SET_REFCOUNT(generator->value, 1);
/* Temporary variables don't need ctor copying */
if (!1) {
} else {
if (IS_TMP_VAR == IS_CV) {
- Z_ADDREF_P(value);
+ if (Z_REFCOUNTED_P(value)) Z_ADDREF_P(value);
}
ZVAL_COPY_VALUE(&generator->value, value);
}
) {
//??? INIT_PZVAL_COPY(copy, key);
ZVAL_COPY_VALUE(&generator->key, key);
- Z_SET_REFCOUNT(generator->key, 1);
+ if (Z_REFCOUNTED(generator->key)) Z_SET_REFCOUNT(generator->key, 1);
/* Temporary variables don't need ctor copying */
if (!0) {
{
USE_OPLINE
- /* The generator object is stored in return_value_ptr_ptr */
- zend_generator *generator = (zend_generator *) Z_OBJ_P(EX(return_value));
+ /* The generator object is stored in EX(return_value) */
+ zend_generator *generator = (zend_generator *) EX(return_value);
if (generator->flags & ZEND_GENERATOR_FORCED_CLOSE) {
zend_error_noreturn(E_ERROR, "Cannot yield from finally in a force-closed generator");
) {
//??? INIT_PZVAL_COPY(copy, value);
ZVAL_COPY_VALUE(&generator->value, value);
- Z_SET_REFCOUNT(generator->value, 1);
+ if (Z_REFCOUNTED(generator->value)) Z_SET_REFCOUNT(generator->value, 1);
/* Temporary variables don't need ctor copying */
if (!1) {
} else {
if (IS_TMP_VAR == IS_CV) {
- Z_ADDREF_P(value);
+ if (Z_REFCOUNTED_P(value)) Z_ADDREF_P(value);
}
ZVAL_COPY_VALUE(&generator->value, value);
}
) {
//??? INIT_PZVAL_COPY(copy, key);
ZVAL_COPY_VALUE(&generator->key, key);
- Z_SET_REFCOUNT(generator->key, 1);
+ if (Z_REFCOUNTED(generator->key)) Z_SET_REFCOUNT(generator->key, 1);
/* Temporary variables don't need ctor copying */
if (!0) {
{
USE_OPLINE
- /* The generator object is stored in return_value_ptr_ptr */
- zend_generator *generator = (zend_generator *) Z_OBJ_P(EX(return_value));
+ /* The generator object is stored in EX(return_value) */
+ zend_generator *generator = (zend_generator *) EX(return_value);
if (generator->flags & ZEND_GENERATOR_FORCED_CLOSE) {
zend_error_noreturn(E_ERROR, "Cannot yield from finally in a force-closed generator");
) {
//??? INIT_PZVAL_COPY(copy, value);
ZVAL_COPY_VALUE(&generator->value, value);
- Z_SET_REFCOUNT(generator->value, 1);
+ if (Z_REFCOUNTED(generator->value)) Z_SET_REFCOUNT(generator->value, 1);
/* Temporary variables don't need ctor copying */
if (!0) {
zval_ptr_dtor_nogc(free_op1.var);
} else {
if (IS_VAR == IS_CV) {
- Z_ADDREF_P(value);
+ if (Z_REFCOUNTED_P(value)) Z_ADDREF_P(value);
}
ZVAL_COPY_VALUE(&generator->value, value);
}
) {
//??? INIT_PZVAL_COPY(copy, key);
ZVAL_COPY_VALUE(&generator->key, key);
- Z_SET_REFCOUNT(generator->key, 1);
+ if (Z_REFCOUNTED(generator->key)) Z_SET_REFCOUNT(generator->key, 1);
/* Temporary variables don't need ctor copying */
if (!0) {
{
USE_OPLINE
- /* The generator object is stored in return_value_ptr_ptr */
- zend_generator *generator = (zend_generator *) Z_OBJ_P(EX(return_value));
+ /* The generator object is stored in EX(return_value) */
+ zend_generator *generator = (zend_generator *) EX(return_value);
if (generator->flags & ZEND_GENERATOR_FORCED_CLOSE) {
zend_error_noreturn(E_ERROR, "Cannot yield from finally in a force-closed generator");
) {
//??? INIT_PZVAL_COPY(copy, value);
ZVAL_COPY_VALUE(&generator->value, value);
- Z_SET_REFCOUNT(generator->value, 1);
+ if (Z_REFCOUNTED(generator->value)) Z_SET_REFCOUNT(generator->value, 1);
/* Temporary variables don't need ctor copying */
if (!0) {
zval_ptr_dtor_nogc(free_op1.var);
} else {
if (IS_VAR == IS_CV) {
- Z_ADDREF_P(value);
+ if (Z_REFCOUNTED_P(value)) Z_ADDREF_P(value);
}
ZVAL_COPY_VALUE(&generator->value, value);
}
) {
//??? INIT_PZVAL_COPY(copy, key);
ZVAL_COPY_VALUE(&generator->key, key);
- Z_SET_REFCOUNT(generator->key, 1);
+ if (Z_REFCOUNTED(generator->key)) Z_SET_REFCOUNT(generator->key, 1);
/* Temporary variables don't need ctor copying */
if (!1) {
{
USE_OPLINE
- /* The generator object is stored in return_value_ptr_ptr */
- zend_generator *generator = (zend_generator *) Z_OBJ_P(EX(return_value));
+ /* The generator object is stored in EX(return_value) */
+ zend_generator *generator = (zend_generator *) EX(return_value);
if (generator->flags & ZEND_GENERATOR_FORCED_CLOSE) {
zend_error_noreturn(E_ERROR, "Cannot yield from finally in a force-closed generator");
) {
//??? INIT_PZVAL_COPY(copy, value);
ZVAL_COPY_VALUE(&generator->value, value);
- Z_SET_REFCOUNT(generator->value, 1);
+ if (Z_REFCOUNTED(generator->value)) Z_SET_REFCOUNT(generator->value, 1);
/* Temporary variables don't need ctor copying */
if (!0) {
zval_ptr_dtor_nogc(free_op1.var);
} else {
if (IS_VAR == IS_CV) {
- Z_ADDREF_P(value);
+ if (Z_REFCOUNTED_P(value)) Z_ADDREF_P(value);
}
ZVAL_COPY_VALUE(&generator->value, value);
}
) {
//??? INIT_PZVAL_COPY(copy, key);
ZVAL_COPY_VALUE(&generator->key, key);
- Z_SET_REFCOUNT(generator->key, 1);
+ if (Z_REFCOUNTED(generator->key)) Z_SET_REFCOUNT(generator->key, 1);
/* Temporary variables don't need ctor copying */
if (!0) {
{
USE_OPLINE
- /* The generator object is stored in return_value_ptr_ptr */
- zend_generator *generator = (zend_generator *) Z_OBJ_P(EX(return_value));
+ /* The generator object is stored in EX(return_value) */
+ zend_generator *generator = (zend_generator *) EX(return_value);
if (generator->flags & ZEND_GENERATOR_FORCED_CLOSE) {
zend_error_noreturn(E_ERROR, "Cannot yield from finally in a force-closed generator");
) {
//??? INIT_PZVAL_COPY(copy, value);
ZVAL_COPY_VALUE(&generator->value, value);
- Z_SET_REFCOUNT(generator->value, 1);
+ if (Z_REFCOUNTED(generator->value)) Z_SET_REFCOUNT(generator->value, 1);
/* Temporary variables don't need ctor copying */
if (!0) {
zval_ptr_dtor_nogc(free_op1.var);
} else {
if (IS_VAR == IS_CV) {
- Z_ADDREF_P(value);
+ if (Z_REFCOUNTED_P(value)) Z_ADDREF_P(value);
}
ZVAL_COPY_VALUE(&generator->value, value);
}
) {
//??? INIT_PZVAL_COPY(copy, key);
ZVAL_COPY_VALUE(&generator->key, key);
- Z_SET_REFCOUNT(generator->key, 1);
+ if (Z_REFCOUNTED(generator->key)) Z_SET_REFCOUNT(generator->key, 1);
/* Temporary variables don't need ctor copying */
if (!0) {
{
USE_OPLINE
- /* The generator object is stored in return_value_ptr_ptr */
- zend_generator *generator = (zend_generator *) Z_OBJ_P(EX(return_value));
+ /* The generator object is stored in EX(return_value) */
+ zend_generator *generator = (zend_generator *) EX(return_value);
if (generator->flags & ZEND_GENERATOR_FORCED_CLOSE) {
zend_error_noreturn(E_ERROR, "Cannot yield from finally in a force-closed generator");
) {
//??? INIT_PZVAL_COPY(copy, value);
ZVAL_COPY_VALUE(&generator->value, value);
- Z_SET_REFCOUNT(generator->value, 1);
+ if (Z_REFCOUNTED(generator->value)) Z_SET_REFCOUNT(generator->value, 1);
/* Temporary variables don't need ctor copying */
if (!0) {
zval_ptr_dtor_nogc(free_op1.var);
} else {
if (IS_VAR == IS_CV) {
- Z_ADDREF_P(value);
+ if (Z_REFCOUNTED_P(value)) Z_ADDREF_P(value);
}
ZVAL_COPY_VALUE(&generator->value, value);
}
) {
//??? INIT_PZVAL_COPY(copy, key);
ZVAL_COPY_VALUE(&generator->key, key);
- Z_SET_REFCOUNT(generator->key, 1);
+ if (Z_REFCOUNTED(generator->key)) Z_SET_REFCOUNT(generator->key, 1);
/* Temporary variables don't need ctor copying */
if (!0) {
{
USE_OPLINE
- /* The generator object is stored in return_value_ptr_ptr */
- zend_generator *generator = (zend_generator *) Z_OBJ_P(EX(return_value));
+ /* The generator object is stored in EX(return_value) */
+ zend_generator *generator = (zend_generator *) EX(return_value);
if (generator->flags & ZEND_GENERATOR_FORCED_CLOSE) {
zend_error_noreturn(E_ERROR, "Cannot yield from finally in a force-closed generator");
) {
//??? INIT_PZVAL_COPY(copy, value);
ZVAL_COPY_VALUE(&generator->value, value);
- Z_SET_REFCOUNT(generator->value, 1);
+ if (Z_REFCOUNTED(generator->value)) Z_SET_REFCOUNT(generator->value, 1);
/* Temporary variables don't need ctor copying */
if (!0) {
} else {
if (IS_UNUSED == IS_CV) {
- Z_ADDREF_P(value);
+ if (Z_REFCOUNTED_P(value)) Z_ADDREF_P(value);
}
ZVAL_COPY_VALUE(&generator->value, value);
}
) {
//??? INIT_PZVAL_COPY(copy, key);
ZVAL_COPY_VALUE(&generator->key, key);
- Z_SET_REFCOUNT(generator->key, 1);
+ if (Z_REFCOUNTED(generator->key)) Z_SET_REFCOUNT(generator->key, 1);
/* Temporary variables don't need ctor copying */
if (!0) {
{
USE_OPLINE
- /* The generator object is stored in return_value_ptr_ptr */
- zend_generator *generator = (zend_generator *) Z_OBJ_P(EX(return_value));
+ /* The generator object is stored in EX(return_value) */
+ zend_generator *generator = (zend_generator *) EX(return_value);
if (generator->flags & ZEND_GENERATOR_FORCED_CLOSE) {
zend_error_noreturn(E_ERROR, "Cannot yield from finally in a force-closed generator");
) {
//??? INIT_PZVAL_COPY(copy, value);
ZVAL_COPY_VALUE(&generator->value, value);
- Z_SET_REFCOUNT(generator->value, 1);
+ if (Z_REFCOUNTED(generator->value)) Z_SET_REFCOUNT(generator->value, 1);
/* Temporary variables don't need ctor copying */
if (!0) {
} else {
if (IS_UNUSED == IS_CV) {
- Z_ADDREF_P(value);
+ if (Z_REFCOUNTED_P(value)) Z_ADDREF_P(value);
}
ZVAL_COPY_VALUE(&generator->value, value);
}
) {
//??? INIT_PZVAL_COPY(copy, key);
ZVAL_COPY_VALUE(&generator->key, key);
- Z_SET_REFCOUNT(generator->key, 1);
+ if (Z_REFCOUNTED(generator->key)) Z_SET_REFCOUNT(generator->key, 1);
/* Temporary variables don't need ctor copying */
if (!1) {
{
USE_OPLINE
- /* The generator object is stored in return_value_ptr_ptr */
- zend_generator *generator = (zend_generator *) Z_OBJ_P(EX(return_value));
+ /* The generator object is stored in EX(return_value) */
+ zend_generator *generator = (zend_generator *) EX(return_value);
if (generator->flags & ZEND_GENERATOR_FORCED_CLOSE) {
zend_error_noreturn(E_ERROR, "Cannot yield from finally in a force-closed generator");
) {
//??? INIT_PZVAL_COPY(copy, value);
ZVAL_COPY_VALUE(&generator->value, value);
- Z_SET_REFCOUNT(generator->value, 1);
+ if (Z_REFCOUNTED(generator->value)) Z_SET_REFCOUNT(generator->value, 1);
/* Temporary variables don't need ctor copying */
if (!0) {
} else {
if (IS_UNUSED == IS_CV) {
- Z_ADDREF_P(value);
+ if (Z_REFCOUNTED_P(value)) Z_ADDREF_P(value);
}
ZVAL_COPY_VALUE(&generator->value, value);
}
) {
//??? INIT_PZVAL_COPY(copy, key);
ZVAL_COPY_VALUE(&generator->key, key);
- Z_SET_REFCOUNT(generator->key, 1);
+ if (Z_REFCOUNTED(generator->key)) Z_SET_REFCOUNT(generator->key, 1);
/* Temporary variables don't need ctor copying */
if (!0) {
{
USE_OPLINE
- /* The generator object is stored in return_value_ptr_ptr */
- zend_generator *generator = (zend_generator *) Z_OBJ_P(EX(return_value));
+ /* The generator object is stored in EX(return_value) */
+ zend_generator *generator = (zend_generator *) EX(return_value);
if (generator->flags & ZEND_GENERATOR_FORCED_CLOSE) {
zend_error_noreturn(E_ERROR, "Cannot yield from finally in a force-closed generator");
) {
//??? INIT_PZVAL_COPY(copy, value);
ZVAL_COPY_VALUE(&generator->value, value);
- Z_SET_REFCOUNT(generator->value, 1);
+ if (Z_REFCOUNTED(generator->value)) Z_SET_REFCOUNT(generator->value, 1);
/* Temporary variables don't need ctor copying */
if (!0) {
} else {
if (IS_UNUSED == IS_CV) {
- Z_ADDREF_P(value);
+ if (Z_REFCOUNTED_P(value)) Z_ADDREF_P(value);
}
ZVAL_COPY_VALUE(&generator->value, value);
}
) {
//??? INIT_PZVAL_COPY(copy, key);
ZVAL_COPY_VALUE(&generator->key, key);
- Z_SET_REFCOUNT(generator->key, 1);
+ if (Z_REFCOUNTED(generator->key)) Z_SET_REFCOUNT(generator->key, 1);
/* Temporary variables don't need ctor copying */
if (!0) {
{
USE_OPLINE
- /* The generator object is stored in return_value_ptr_ptr */
- zend_generator *generator = (zend_generator *) Z_OBJ_P(EX(return_value));
+ /* The generator object is stored in EX(return_value) */
+ zend_generator *generator = (zend_generator *) EX(return_value);
if (generator->flags & ZEND_GENERATOR_FORCED_CLOSE) {
zend_error_noreturn(E_ERROR, "Cannot yield from finally in a force-closed generator");
) {
//??? INIT_PZVAL_COPY(copy, value);
ZVAL_COPY_VALUE(&generator->value, value);
- Z_SET_REFCOUNT(generator->value, 1);
+ if (Z_REFCOUNTED(generator->value)) Z_SET_REFCOUNT(generator->value, 1);
/* Temporary variables don't need ctor copying */
if (!0) {
} else {
if (IS_UNUSED == IS_CV) {
- Z_ADDREF_P(value);
+ if (Z_REFCOUNTED_P(value)) Z_ADDREF_P(value);
}
ZVAL_COPY_VALUE(&generator->value, value);
}
) {
//??? INIT_PZVAL_COPY(copy, key);
ZVAL_COPY_VALUE(&generator->key, key);
- Z_SET_REFCOUNT(generator->key, 1);
+ if (Z_REFCOUNTED(generator->key)) Z_SET_REFCOUNT(generator->key, 1);
/* Temporary variables don't need ctor copying */
if (!0) {
{
USE_OPLINE
- /* The generator object is stored in return_value_ptr_ptr */
- zend_generator *generator = (zend_generator *) Z_OBJ_P(EX(return_value));
+ /* The generator object is stored in EX(return_value) */
+ zend_generator *generator = (zend_generator *) EX(return_value);
if (generator->flags & ZEND_GENERATOR_FORCED_CLOSE) {
zend_error_noreturn(E_ERROR, "Cannot yield from finally in a force-closed generator");
) {
//??? INIT_PZVAL_COPY(copy, value);
ZVAL_COPY_VALUE(&generator->value, value);
- Z_SET_REFCOUNT(generator->value, 1);
+ if (Z_REFCOUNTED(generator->value)) Z_SET_REFCOUNT(generator->value, 1);
/* Temporary variables don't need ctor copying */
if (!0) {
} else {
if (IS_CV == IS_CV) {
- Z_ADDREF_P(value);
+ if (Z_REFCOUNTED_P(value)) Z_ADDREF_P(value);
}
ZVAL_COPY_VALUE(&generator->value, value);
}
) {
//??? INIT_PZVAL_COPY(copy, key);
ZVAL_COPY_VALUE(&generator->key, key);
- Z_SET_REFCOUNT(generator->key, 1);
+ if (Z_REFCOUNTED(generator->key)) Z_SET_REFCOUNT(generator->key, 1);
/* Temporary variables don't need ctor copying */
if (!0) {
{
USE_OPLINE
- /* The generator object is stored in return_value_ptr_ptr */
- zend_generator *generator = (zend_generator *) Z_OBJ_P(EX(return_value));
+ /* The generator object is stored in EX(return_value) */
+ zend_generator *generator = (zend_generator *) EX(return_value);
if (generator->flags & ZEND_GENERATOR_FORCED_CLOSE) {
zend_error_noreturn(E_ERROR, "Cannot yield from finally in a force-closed generator");
) {
//??? INIT_PZVAL_COPY(copy, value);
ZVAL_COPY_VALUE(&generator->value, value);
- Z_SET_REFCOUNT(generator->value, 1);
+ if (Z_REFCOUNTED(generator->value)) Z_SET_REFCOUNT(generator->value, 1);
/* Temporary variables don't need ctor copying */
if (!0) {
} else {
if (IS_CV == IS_CV) {
- Z_ADDREF_P(value);
+ if (Z_REFCOUNTED_P(value)) Z_ADDREF_P(value);
}
ZVAL_COPY_VALUE(&generator->value, value);
}
) {
//??? INIT_PZVAL_COPY(copy, key);
ZVAL_COPY_VALUE(&generator->key, key);
- Z_SET_REFCOUNT(generator->key, 1);
+ if (Z_REFCOUNTED(generator->key)) Z_SET_REFCOUNT(generator->key, 1);
/* Temporary variables don't need ctor copying */
if (!1) {
{
USE_OPLINE
- /* The generator object is stored in return_value_ptr_ptr */
- zend_generator *generator = (zend_generator *) Z_OBJ_P(EX(return_value));
+ /* The generator object is stored in EX(return_value) */
+ zend_generator *generator = (zend_generator *) EX(return_value);
if (generator->flags & ZEND_GENERATOR_FORCED_CLOSE) {
zend_error_noreturn(E_ERROR, "Cannot yield from finally in a force-closed generator");
) {
//??? INIT_PZVAL_COPY(copy, value);
ZVAL_COPY_VALUE(&generator->value, value);
- Z_SET_REFCOUNT(generator->value, 1);
+ if (Z_REFCOUNTED(generator->value)) Z_SET_REFCOUNT(generator->value, 1);
/* Temporary variables don't need ctor copying */
if (!0) {
} else {
if (IS_CV == IS_CV) {
- Z_ADDREF_P(value);
+ if (Z_REFCOUNTED_P(value)) Z_ADDREF_P(value);
}
ZVAL_COPY_VALUE(&generator->value, value);
}
) {
//??? INIT_PZVAL_COPY(copy, key);
ZVAL_COPY_VALUE(&generator->key, key);
- Z_SET_REFCOUNT(generator->key, 1);
+ if (Z_REFCOUNTED(generator->key)) Z_SET_REFCOUNT(generator->key, 1);
/* Temporary variables don't need ctor copying */
if (!0) {
{
USE_OPLINE
- /* The generator object is stored in return_value_ptr_ptr */
- zend_generator *generator = (zend_generator *) Z_OBJ_P(EX(return_value));
+ /* The generator object is stored in EX(return_value) */
+ zend_generator *generator = (zend_generator *) EX(return_value);
if (generator->flags & ZEND_GENERATOR_FORCED_CLOSE) {
zend_error_noreturn(E_ERROR, "Cannot yield from finally in a force-closed generator");
) {
//??? INIT_PZVAL_COPY(copy, value);
ZVAL_COPY_VALUE(&generator->value, value);
- Z_SET_REFCOUNT(generator->value, 1);
+ if (Z_REFCOUNTED(generator->value)) Z_SET_REFCOUNT(generator->value, 1);
/* Temporary variables don't need ctor copying */
if (!0) {
} else {
if (IS_CV == IS_CV) {
- Z_ADDREF_P(value);
+ if (Z_REFCOUNTED_P(value)) Z_ADDREF_P(value);
}
ZVAL_COPY_VALUE(&generator->value, value);
}
) {
//??? INIT_PZVAL_COPY(copy, key);
ZVAL_COPY_VALUE(&generator->key, key);
- Z_SET_REFCOUNT(generator->key, 1);
+ if (Z_REFCOUNTED(generator->key)) Z_SET_REFCOUNT(generator->key, 1);
/* Temporary variables don't need ctor copying */
if (!0) {
{
USE_OPLINE
- /* The generator object is stored in return_value_ptr_ptr */
- zend_generator *generator = (zend_generator *) Z_OBJ_P(EX(return_value));
+ /* The generator object is stored in EX(return_value) */
+ zend_generator *generator = (zend_generator *) EX(return_value);
if (generator->flags & ZEND_GENERATOR_FORCED_CLOSE) {
zend_error_noreturn(E_ERROR, "Cannot yield from finally in a force-closed generator");
) {
//??? INIT_PZVAL_COPY(copy, value);
ZVAL_COPY_VALUE(&generator->value, value);
- Z_SET_REFCOUNT(generator->value, 1);
+ if (Z_REFCOUNTED(generator->value)) Z_SET_REFCOUNT(generator->value, 1);
/* Temporary variables don't need ctor copying */
if (!0) {
} else {
if (IS_CV == IS_CV) {
- Z_ADDREF_P(value);
+ if (Z_REFCOUNTED_P(value)) Z_ADDREF_P(value);
}
ZVAL_COPY_VALUE(&generator->value, value);
}
) {
//??? INIT_PZVAL_COPY(copy, key);
ZVAL_COPY_VALUE(&generator->key, key);
- Z_SET_REFCOUNT(generator->key, 1);
+ if (Z_REFCOUNTED(generator->key)) Z_SET_REFCOUNT(generator->key, 1);
/* Temporary variables don't need ctor copying */
if (!0) {