zval tmp, *varname;
HashTable *target_symbol_table;
+ zend_bool tmp_is_dup = 0;
SAVE_OPLINE();
if (IS_CONST == IS_CV &&
ZVAL_DUP(&tmp, varname);
convert_to_string(&tmp);
varname = &tmp;
+ tmp_is_dup = 1;
} else if (IS_CONST == IS_VAR || IS_CONST == IS_CV) {
- if (Z_REFCOUNTED_P(varname)) Z_ADDREF_P(varname);
+ ZVAL_COPY(&tmp, varname);
+ varname = &tmp;
}
if (IS_CONST != IS_UNUSED) {
} else {
ce = zend_fetch_class_by_name(Z_STR_P(opline->op2.zv), opline->op2.literal + 1, 0 TSRMLS_CC);
if (UNEXPECTED(EG(exception) != NULL)) {
- if (IS_CONST != IS_CONST && varname == &tmp) {
+ if (IS_CONST != IS_CONST && tmp_is_dup) {
zval_dtor(&tmp);
} else if (IS_CONST == IS_VAR || IS_CONST == IS_CV) {
- zval_ptr_dtor(varname);
+ zval_ptr_dtor(&tmp);
}
HANDLE_EXCEPTION();
zend_hash_del_ind(target_symbol_table, Z_STR_P(varname));
}
- if (IS_CONST != IS_CONST && varname == &tmp) {
+ if (IS_CONST != IS_CONST && tmp_is_dup) {
zval_dtor(&tmp);
} else if (IS_CONST == IS_VAR || IS_CONST == IS_CV) {
- zval_ptr_dtor(varname);
+ zval_ptr_dtor(&tmp);
}
CHECK_EXCEPTION();
zval tmp, *varname;
HashTable *target_symbol_table;
+ zend_bool tmp_is_dup = 0;
SAVE_OPLINE();
if (IS_CONST == IS_CV &&
ZVAL_DUP(&tmp, varname);
convert_to_string(&tmp);
varname = &tmp;
+ tmp_is_dup = 1;
} else if (IS_CONST == IS_VAR || IS_CONST == IS_CV) {
- if (Z_REFCOUNTED_P(varname)) Z_ADDREF_P(varname);
+ ZVAL_COPY(&tmp, varname);
+ varname = &tmp;
}
if (IS_VAR != IS_UNUSED) {
} else {
ce = zend_fetch_class_by_name(Z_STR_P(opline->op2.zv), opline->op2.literal + 1, 0 TSRMLS_CC);
if (UNEXPECTED(EG(exception) != NULL)) {
- if (IS_CONST != IS_CONST && varname == &tmp) {
+ if (IS_CONST != IS_CONST && tmp_is_dup) {
zval_dtor(&tmp);
} else if (IS_CONST == IS_VAR || IS_CONST == IS_CV) {
- zval_ptr_dtor(varname);
+ zval_ptr_dtor(&tmp);
}
HANDLE_EXCEPTION();
zend_hash_del_ind(target_symbol_table, Z_STR_P(varname));
}
- if (IS_CONST != IS_CONST && varname == &tmp) {
+ if (IS_CONST != IS_CONST && tmp_is_dup) {
zval_dtor(&tmp);
} else if (IS_CONST == IS_VAR || IS_CONST == IS_CV) {
- zval_ptr_dtor(varname);
+ zval_ptr_dtor(&tmp);
}
CHECK_EXCEPTION();
zval tmp, *varname;
HashTable *target_symbol_table;
+ zend_bool tmp_is_dup = 0;
SAVE_OPLINE();
if (IS_CONST == IS_CV &&
ZVAL_DUP(&tmp, varname);
convert_to_string(&tmp);
varname = &tmp;
+ tmp_is_dup = 1;
} else if (IS_CONST == IS_VAR || IS_CONST == IS_CV) {
- if (Z_REFCOUNTED_P(varname)) Z_ADDREF_P(varname);
+ ZVAL_COPY(&tmp, varname);
+ varname = &tmp;
}
if (IS_UNUSED != IS_UNUSED) {
} else {
ce = zend_fetch_class_by_name(Z_STR_P(opline->op2.zv), opline->op2.literal + 1, 0 TSRMLS_CC);
if (UNEXPECTED(EG(exception) != NULL)) {
- if (IS_CONST != IS_CONST && varname == &tmp) {
+ if (IS_CONST != IS_CONST && tmp_is_dup) {
zval_dtor(&tmp);
} else if (IS_CONST == IS_VAR || IS_CONST == IS_CV) {
- zval_ptr_dtor(varname);
+ zval_ptr_dtor(&tmp);
}
HANDLE_EXCEPTION();
zend_hash_del_ind(target_symbol_table, Z_STR_P(varname));
}
- if (IS_CONST != IS_CONST && varname == &tmp) {
+ if (IS_CONST != IS_CONST && tmp_is_dup) {
zval_dtor(&tmp);
} else if (IS_CONST == IS_VAR || IS_CONST == IS_CV) {
- zval_ptr_dtor(varname);
+ zval_ptr_dtor(&tmp);
}
CHECK_EXCEPTION();
zval tmp, *varname;
HashTable *target_symbol_table;
zend_free_op free_op1;
+ zend_bool tmp_is_dup = 0;
SAVE_OPLINE();
if (IS_TMP_VAR == IS_CV &&
ZVAL_DUP(&tmp, varname);
convert_to_string(&tmp);
varname = &tmp;
+ tmp_is_dup = 1;
} else if (IS_TMP_VAR == IS_VAR || IS_TMP_VAR == IS_CV) {
- if (Z_REFCOUNTED_P(varname)) Z_ADDREF_P(varname);
+ ZVAL_COPY(&tmp, varname);
+ varname = &tmp;
}
if (IS_CONST != IS_UNUSED) {
} else {
ce = zend_fetch_class_by_name(Z_STR_P(opline->op2.zv), opline->op2.literal + 1, 0 TSRMLS_CC);
if (UNEXPECTED(EG(exception) != NULL)) {
- if (IS_TMP_VAR != IS_CONST && varname == &tmp) {
+ if (IS_TMP_VAR != IS_CONST && tmp_is_dup) {
zval_dtor(&tmp);
} else if (IS_TMP_VAR == IS_VAR || IS_TMP_VAR == IS_CV) {
- zval_ptr_dtor(varname);
+ zval_ptr_dtor(&tmp);
}
zval_dtor(free_op1.var);
HANDLE_EXCEPTION();
zend_hash_del_ind(target_symbol_table, Z_STR_P(varname));
}
- if (IS_TMP_VAR != IS_CONST && varname == &tmp) {
+ if (IS_TMP_VAR != IS_CONST && tmp_is_dup) {
zval_dtor(&tmp);
} else if (IS_TMP_VAR == IS_VAR || IS_TMP_VAR == IS_CV) {
- zval_ptr_dtor(varname);
+ zval_ptr_dtor(&tmp);
}
zval_dtor(free_op1.var);
CHECK_EXCEPTION();
zval tmp, *varname;
HashTable *target_symbol_table;
zend_free_op free_op1;
+ zend_bool tmp_is_dup = 0;
SAVE_OPLINE();
if (IS_TMP_VAR == IS_CV &&
ZVAL_DUP(&tmp, varname);
convert_to_string(&tmp);
varname = &tmp;
+ tmp_is_dup = 1;
} else if (IS_TMP_VAR == IS_VAR || IS_TMP_VAR == IS_CV) {
- if (Z_REFCOUNTED_P(varname)) Z_ADDREF_P(varname);
+ ZVAL_COPY(&tmp, varname);
+ varname = &tmp;
}
if (IS_VAR != IS_UNUSED) {
} else {
ce = zend_fetch_class_by_name(Z_STR_P(opline->op2.zv), opline->op2.literal + 1, 0 TSRMLS_CC);
if (UNEXPECTED(EG(exception) != NULL)) {
- if (IS_TMP_VAR != IS_CONST && varname == &tmp) {
+ if (IS_TMP_VAR != IS_CONST && tmp_is_dup) {
zval_dtor(&tmp);
} else if (IS_TMP_VAR == IS_VAR || IS_TMP_VAR == IS_CV) {
- zval_ptr_dtor(varname);
+ zval_ptr_dtor(&tmp);
}
zval_dtor(free_op1.var);
HANDLE_EXCEPTION();
zend_hash_del_ind(target_symbol_table, Z_STR_P(varname));
}
- if (IS_TMP_VAR != IS_CONST && varname == &tmp) {
+ if (IS_TMP_VAR != IS_CONST && tmp_is_dup) {
zval_dtor(&tmp);
} else if (IS_TMP_VAR == IS_VAR || IS_TMP_VAR == IS_CV) {
- zval_ptr_dtor(varname);
+ zval_ptr_dtor(&tmp);
}
zval_dtor(free_op1.var);
CHECK_EXCEPTION();
zval tmp, *varname;
HashTable *target_symbol_table;
zend_free_op free_op1;
+ zend_bool tmp_is_dup = 0;
SAVE_OPLINE();
if (IS_TMP_VAR == IS_CV &&
ZVAL_DUP(&tmp, varname);
convert_to_string(&tmp);
varname = &tmp;
+ tmp_is_dup = 1;
} else if (IS_TMP_VAR == IS_VAR || IS_TMP_VAR == IS_CV) {
- if (Z_REFCOUNTED_P(varname)) Z_ADDREF_P(varname);
+ ZVAL_COPY(&tmp, varname);
+ varname = &tmp;
}
if (IS_UNUSED != IS_UNUSED) {
} else {
ce = zend_fetch_class_by_name(Z_STR_P(opline->op2.zv), opline->op2.literal + 1, 0 TSRMLS_CC);
if (UNEXPECTED(EG(exception) != NULL)) {
- if (IS_TMP_VAR != IS_CONST && varname == &tmp) {
+ if (IS_TMP_VAR != IS_CONST && tmp_is_dup) {
zval_dtor(&tmp);
} else if (IS_TMP_VAR == IS_VAR || IS_TMP_VAR == IS_CV) {
- zval_ptr_dtor(varname);
+ zval_ptr_dtor(&tmp);
}
zval_dtor(free_op1.var);
HANDLE_EXCEPTION();
zend_hash_del_ind(target_symbol_table, Z_STR_P(varname));
}
- if (IS_TMP_VAR != IS_CONST && varname == &tmp) {
+ if (IS_TMP_VAR != IS_CONST && tmp_is_dup) {
zval_dtor(&tmp);
} else if (IS_TMP_VAR == IS_VAR || IS_TMP_VAR == IS_CV) {
- zval_ptr_dtor(varname);
+ zval_ptr_dtor(&tmp);
}
zval_dtor(free_op1.var);
CHECK_EXCEPTION();
zval tmp, *varname;
HashTable *target_symbol_table;
zend_free_op free_op1;
+ zend_bool tmp_is_dup = 0;
SAVE_OPLINE();
if (IS_VAR == IS_CV &&
ZVAL_DUP(&tmp, varname);
convert_to_string(&tmp);
varname = &tmp;
+ tmp_is_dup = 1;
} else if (IS_VAR == IS_VAR || IS_VAR == IS_CV) {
- if (Z_REFCOUNTED_P(varname)) Z_ADDREF_P(varname);
+ ZVAL_COPY(&tmp, varname);
+ varname = &tmp;
}
if (IS_CONST != IS_UNUSED) {
} else {
ce = zend_fetch_class_by_name(Z_STR_P(opline->op2.zv), opline->op2.literal + 1, 0 TSRMLS_CC);
if (UNEXPECTED(EG(exception) != NULL)) {
- if (IS_VAR != IS_CONST && varname == &tmp) {
+ if (IS_VAR != IS_CONST && tmp_is_dup) {
zval_dtor(&tmp);
} else if (IS_VAR == IS_VAR || IS_VAR == IS_CV) {
- zval_ptr_dtor(varname);
+ zval_ptr_dtor(&tmp);
}
zval_ptr_dtor_nogc(free_op1.var);
HANDLE_EXCEPTION();
zend_hash_del_ind(target_symbol_table, Z_STR_P(varname));
}
- if (IS_VAR != IS_CONST && varname == &tmp) {
+ if (IS_VAR != IS_CONST && tmp_is_dup) {
zval_dtor(&tmp);
} else if (IS_VAR == IS_VAR || IS_VAR == IS_CV) {
- zval_ptr_dtor(varname);
+ zval_ptr_dtor(&tmp);
}
zval_ptr_dtor_nogc(free_op1.var);
CHECK_EXCEPTION();
zval tmp, *varname;
HashTable *target_symbol_table;
zend_free_op free_op1;
+ zend_bool tmp_is_dup = 0;
SAVE_OPLINE();
if (IS_VAR == IS_CV &&
ZVAL_DUP(&tmp, varname);
convert_to_string(&tmp);
varname = &tmp;
+ tmp_is_dup = 1;
} else if (IS_VAR == IS_VAR || IS_VAR == IS_CV) {
- if (Z_REFCOUNTED_P(varname)) Z_ADDREF_P(varname);
+ ZVAL_COPY(&tmp, varname);
+ varname = &tmp;
}
if (IS_VAR != IS_UNUSED) {
} else {
ce = zend_fetch_class_by_name(Z_STR_P(opline->op2.zv), opline->op2.literal + 1, 0 TSRMLS_CC);
if (UNEXPECTED(EG(exception) != NULL)) {
- if (IS_VAR != IS_CONST && varname == &tmp) {
+ if (IS_VAR != IS_CONST && tmp_is_dup) {
zval_dtor(&tmp);
} else if (IS_VAR == IS_VAR || IS_VAR == IS_CV) {
- zval_ptr_dtor(varname);
+ zval_ptr_dtor(&tmp);
}
zval_ptr_dtor_nogc(free_op1.var);
HANDLE_EXCEPTION();
zend_hash_del_ind(target_symbol_table, Z_STR_P(varname));
}
- if (IS_VAR != IS_CONST && varname == &tmp) {
+ if (IS_VAR != IS_CONST && tmp_is_dup) {
zval_dtor(&tmp);
} else if (IS_VAR == IS_VAR || IS_VAR == IS_CV) {
- zval_ptr_dtor(varname);
+ zval_ptr_dtor(&tmp);
}
zval_ptr_dtor_nogc(free_op1.var);
CHECK_EXCEPTION();
zval tmp, *varname;
HashTable *target_symbol_table;
zend_free_op free_op1;
+ zend_bool tmp_is_dup = 0;
SAVE_OPLINE();
if (IS_VAR == IS_CV &&
ZVAL_DUP(&tmp, varname);
convert_to_string(&tmp);
varname = &tmp;
+ tmp_is_dup = 1;
} else if (IS_VAR == IS_VAR || IS_VAR == IS_CV) {
- if (Z_REFCOUNTED_P(varname)) Z_ADDREF_P(varname);
+ ZVAL_COPY(&tmp, varname);
+ varname = &tmp;
}
if (IS_UNUSED != IS_UNUSED) {
} else {
ce = zend_fetch_class_by_name(Z_STR_P(opline->op2.zv), opline->op2.literal + 1, 0 TSRMLS_CC);
if (UNEXPECTED(EG(exception) != NULL)) {
- if (IS_VAR != IS_CONST && varname == &tmp) {
+ if (IS_VAR != IS_CONST && tmp_is_dup) {
zval_dtor(&tmp);
} else if (IS_VAR == IS_VAR || IS_VAR == IS_CV) {
- zval_ptr_dtor(varname);
+ zval_ptr_dtor(&tmp);
}
zval_ptr_dtor_nogc(free_op1.var);
HANDLE_EXCEPTION();
zend_hash_del_ind(target_symbol_table, Z_STR_P(varname));
}
- if (IS_VAR != IS_CONST && varname == &tmp) {
+ if (IS_VAR != IS_CONST && tmp_is_dup) {
zval_dtor(&tmp);
} else if (IS_VAR == IS_VAR || IS_VAR == IS_CV) {
- zval_ptr_dtor(varname);
+ zval_ptr_dtor(&tmp);
}
zval_ptr_dtor_nogc(free_op1.var);
CHECK_EXCEPTION();
zval tmp, *varname;
HashTable *target_symbol_table;
+ zend_bool tmp_is_dup = 0;
SAVE_OPLINE();
if (IS_CV == IS_CV &&
ZVAL_DUP(&tmp, varname);
convert_to_string(&tmp);
varname = &tmp;
+ tmp_is_dup = 1;
} else if (IS_CV == IS_VAR || IS_CV == IS_CV) {
- if (Z_REFCOUNTED_P(varname)) Z_ADDREF_P(varname);
+ ZVAL_COPY(&tmp, varname);
+ varname = &tmp;
}
if (IS_CONST != IS_UNUSED) {
} else {
ce = zend_fetch_class_by_name(Z_STR_P(opline->op2.zv), opline->op2.literal + 1, 0 TSRMLS_CC);
if (UNEXPECTED(EG(exception) != NULL)) {
- if (IS_CV != IS_CONST && varname == &tmp) {
+ if (IS_CV != IS_CONST && tmp_is_dup) {
zval_dtor(&tmp);
} else if (IS_CV == IS_VAR || IS_CV == IS_CV) {
- zval_ptr_dtor(varname);
+ zval_ptr_dtor(&tmp);
}
HANDLE_EXCEPTION();
zend_hash_del_ind(target_symbol_table, Z_STR_P(varname));
}
- if (IS_CV != IS_CONST && varname == &tmp) {
+ if (IS_CV != IS_CONST && tmp_is_dup) {
zval_dtor(&tmp);
} else if (IS_CV == IS_VAR || IS_CV == IS_CV) {
- zval_ptr_dtor(varname);
+ zval_ptr_dtor(&tmp);
}
CHECK_EXCEPTION();
zval tmp, *varname;
HashTable *target_symbol_table;
+ zend_bool tmp_is_dup = 0;
SAVE_OPLINE();
if (IS_CV == IS_CV &&
ZVAL_DUP(&tmp, varname);
convert_to_string(&tmp);
varname = &tmp;
+ tmp_is_dup = 1;
} else if (IS_CV == IS_VAR || IS_CV == IS_CV) {
- if (Z_REFCOUNTED_P(varname)) Z_ADDREF_P(varname);
+ ZVAL_COPY(&tmp, varname);
+ varname = &tmp;
}
if (IS_VAR != IS_UNUSED) {
} else {
ce = zend_fetch_class_by_name(Z_STR_P(opline->op2.zv), opline->op2.literal + 1, 0 TSRMLS_CC);
if (UNEXPECTED(EG(exception) != NULL)) {
- if (IS_CV != IS_CONST && varname == &tmp) {
+ if (IS_CV != IS_CONST && tmp_is_dup) {
zval_dtor(&tmp);
} else if (IS_CV == IS_VAR || IS_CV == IS_CV) {
- zval_ptr_dtor(varname);
+ zval_ptr_dtor(&tmp);
}
HANDLE_EXCEPTION();
zend_hash_del_ind(target_symbol_table, Z_STR_P(varname));
}
- if (IS_CV != IS_CONST && varname == &tmp) {
+ if (IS_CV != IS_CONST && tmp_is_dup) {
zval_dtor(&tmp);
} else if (IS_CV == IS_VAR || IS_CV == IS_CV) {
- zval_ptr_dtor(varname);
+ zval_ptr_dtor(&tmp);
}
CHECK_EXCEPTION();
zval tmp, *varname;
HashTable *target_symbol_table;
+ zend_bool tmp_is_dup = 0;
SAVE_OPLINE();
if (IS_CV == IS_CV &&
ZVAL_DUP(&tmp, varname);
convert_to_string(&tmp);
varname = &tmp;
+ tmp_is_dup = 1;
} else if (IS_CV == IS_VAR || IS_CV == IS_CV) {
- if (Z_REFCOUNTED_P(varname)) Z_ADDREF_P(varname);
+ ZVAL_COPY(&tmp, varname);
+ varname = &tmp;
}
if (IS_UNUSED != IS_UNUSED) {
} else {
ce = zend_fetch_class_by_name(Z_STR_P(opline->op2.zv), opline->op2.literal + 1, 0 TSRMLS_CC);
if (UNEXPECTED(EG(exception) != NULL)) {
- if (IS_CV != IS_CONST && varname == &tmp) {
+ if (IS_CV != IS_CONST && tmp_is_dup) {
zval_dtor(&tmp);
} else if (IS_CV == IS_VAR || IS_CV == IS_CV) {
- zval_ptr_dtor(varname);
+ zval_ptr_dtor(&tmp);
}
HANDLE_EXCEPTION();
zend_hash_del_ind(target_symbol_table, Z_STR_P(varname));
}
- if (IS_CV != IS_CONST && varname == &tmp) {
+ if (IS_CV != IS_CONST && tmp_is_dup) {
zval_dtor(&tmp);
} else if (IS_CV == IS_VAR || IS_CV == IS_CV) {
- zval_ptr_dtor(varname);
+ zval_ptr_dtor(&tmp);
}
CHECK_EXCEPTION();