SAVE_OPLINE();
- array_ptr = GET_OP1_ZVAL_PTR(BP_VAR_R);
- ZVAL_DEREF(array_ptr);
+ array_ptr = GET_OP1_ZVAL_PTR_DEREF(BP_VAR_R);
if (OP1_TYPE != IS_CONST &&
Z_TYPE_P(array_ptr) == IS_OBJECT && Z_OBJCE_P(array_ptr)->get_iterator) {
zend_class_entry *ce = Z_OBJCE_P(array_ptr);
SAVE_OPLINE();
array_ptr = EX_CONSTANT(opline->op1);
- ZVAL_DEREF(array_ptr);
if (IS_CONST != IS_CONST &&
Z_TYPE_P(array_ptr) == IS_OBJECT && Z_OBJCE_P(array_ptr)->get_iterator) {
zend_class_entry *ce = Z_OBJCE_P(array_ptr);
SAVE_OPLINE();
array_ptr = _get_zval_ptr_tmp(opline->op1.var, execute_data, &free_op1);
- ZVAL_DEREF(array_ptr);
if (IS_TMP_VAR != IS_CONST &&
Z_TYPE_P(array_ptr) == IS_OBJECT && Z_OBJCE_P(array_ptr)->get_iterator) {
zend_class_entry *ce = Z_OBJCE_P(array_ptr);
SAVE_OPLINE();
- array_ptr = _get_zval_ptr_var(opline->op1.var, execute_data, &free_op1);
- ZVAL_DEREF(array_ptr);
+ array_ptr = _get_zval_ptr_var_deref(opline->op1.var, execute_data, &free_op1);
if (IS_VAR != IS_CONST &&
Z_TYPE_P(array_ptr) == IS_OBJECT && Z_OBJCE_P(array_ptr)->get_iterator) {
zend_class_entry *ce = Z_OBJCE_P(array_ptr);
SAVE_OPLINE();
- array_ptr = _get_zval_ptr_cv_BP_VAR_R(execute_data, opline->op1.var);
- ZVAL_DEREF(array_ptr);
+ array_ptr = _get_zval_ptr_cv_deref_BP_VAR_R(execute_data, opline->op1.var);
if (IS_CV != IS_CONST &&
Z_TYPE_P(array_ptr) == IS_OBJECT && Z_OBJCE_P(array_ptr)->get_iterator) {
zend_class_entry *ce = Z_OBJCE_P(array_ptr);