zend_error_noreturn(E_ERROR, "Class name must be a valid object or a string");
}
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
zend_error_noreturn(E_ERROR, "Call to undefined function %s()", function_name_strval);
}
efree(lcname);
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
call->object = NULL;
call->called_scope = NULL;
call->is_ctor_call = 0;
/* Delay closure destruction until its invocation */
call->fbc->common.prototype = (zend_function*)function_name;
} else {
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
}
call->is_ctor_call = 0;
EX(call) = call;
}
call->is_ctor_call = 0;
EX(call) = call;
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
} else {
opline->op1.zv,
_get_zval_ptr_var(opline->op2.var, execute_data, &free_op2 TSRMLS_CC) TSRMLS_CC);
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
opline->op1.zv,
_get_zval_ptr_var(opline->op2.var, execute_data, &free_op2 TSRMLS_CC) TSRMLS_CC);
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
opline->op1.zv,
_get_zval_ptr_var(opline->op2.var, execute_data, &free_op2 TSRMLS_CC) TSRMLS_CC);
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
opline->op1.zv,
_get_zval_ptr_var(opline->op2.var, execute_data, &free_op2 TSRMLS_CC) TSRMLS_CC);
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
opline->op1.zv,
_get_zval_ptr_var(opline->op2.var, execute_data, &free_op2 TSRMLS_CC) TSRMLS_CC);
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
opline->op1.zv,
_get_zval_ptr_var(opline->op2.var, execute_data, &free_op2 TSRMLS_CC) TSRMLS_CC);
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
opline->op1.zv,
_get_zval_ptr_var(opline->op2.var, execute_data, &free_op2 TSRMLS_CC) TSRMLS_CC);
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
opline->op1.zv,
_get_zval_ptr_var(opline->op2.var, execute_data, &free_op2 TSRMLS_CC) TSRMLS_CC);
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
opline->op1.zv,
_get_zval_ptr_var(opline->op2.var, execute_data, &free_op2 TSRMLS_CC) TSRMLS_CC);
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
_get_zval_ptr_var(opline->op2.var, execute_data, &free_op2 TSRMLS_CC) TSRMLS_CC);
Z_LVAL_P(result) = !Z_LVAL_P(result);
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
opline->op1.zv,
_get_zval_ptr_var(opline->op2.var, execute_data, &free_op2 TSRMLS_CC) TSRMLS_CC));
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
opline->op1.zv,
_get_zval_ptr_var(opline->op2.var, execute_data, &free_op2 TSRMLS_CC) TSRMLS_CC));
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
opline->op1.zv,
_get_zval_ptr_var(opline->op2.var, execute_data, &free_op2 TSRMLS_CC) TSRMLS_CC));
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
opline->op1.zv,
_get_zval_ptr_var(opline->op2.var, execute_data, &free_op2 TSRMLS_CC) TSRMLS_CC));
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
opline->op1.zv,
_get_zval_ptr_var(opline->op2.var, execute_data, &free_op2 TSRMLS_CC) TSRMLS_CC);
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
opline->op1.zv,
_get_zval_ptr_var(opline->op2.var, execute_data, &free_op2 TSRMLS_CC) TSRMLS_CC);
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
opline->op1.zv,
_get_zval_ptr_var(opline->op2.var, execute_data, &free_op2 TSRMLS_CC) TSRMLS_CC);
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
opline->op1.zv,
_get_zval_ptr_var(opline->op2.var, execute_data, &free_op2 TSRMLS_CC) TSRMLS_CC);
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
if (IS_CONST == IS_TMP_VAR || IS_CONST == IS_CONST) {
zval *container = opline->op1.zv;
zend_fetch_dimension_address_read(&EX_T(opline->result.var), &container, _get_zval_ptr_var(opline->op2.var, execute_data, &free_op2 TSRMLS_CC), IS_VAR, BP_VAR_R TSRMLS_CC);
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
} else {
container = NULL;
zend_fetch_dimension_address_read(&EX_T(opline->result.var), container, _get_zval_ptr_var(opline->op2.var, execute_data, &free_op2 TSRMLS_CC), IS_VAR, BP_VAR_R TSRMLS_CC);
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
if (IS_CONST == IS_VAR && !(opline->extended_value & ZEND_FETCH_ADD_LOCK)) {
}
}
}
if (IS_VAR != IS_CONST) {
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
}
} else {
if (UNEXPECTED(ce->constructor == NULL)) {
opline->op1.zv,
_get_zval_ptr_var(opline->op2.var, execute_data, &free_op2 TSRMLS_CC) TSRMLS_CC);
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
/* do nothing */
break;
}
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
} else {
zend_hash_next_index_insert(Z_ARRVAL(EX_T(opline->result.var).tmp_var), &expr_ptr, sizeof(zval *), NULL);
}
generator->largest_used_integer_key = Z_LVAL_P(generator->key);
}
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
} else {
/* If no key was specified we use auto-increment keys */
generator->largest_used_integer_key++;
_get_zval_ptr_tmp(opline->op1.var, execute_data, &free_op1 TSRMLS_CC),
_get_zval_ptr_var(opline->op2.var, execute_data, &free_op2 TSRMLS_CC) TSRMLS_CC);
zval_dtor(free_op1.var);
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
_get_zval_ptr_tmp(opline->op1.var, execute_data, &free_op1 TSRMLS_CC),
_get_zval_ptr_var(opline->op2.var, execute_data, &free_op2 TSRMLS_CC) TSRMLS_CC);
zval_dtor(free_op1.var);
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
_get_zval_ptr_tmp(opline->op1.var, execute_data, &free_op1 TSRMLS_CC),
_get_zval_ptr_var(opline->op2.var, execute_data, &free_op2 TSRMLS_CC) TSRMLS_CC);
zval_dtor(free_op1.var);
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
_get_zval_ptr_tmp(opline->op1.var, execute_data, &free_op1 TSRMLS_CC),
_get_zval_ptr_var(opline->op2.var, execute_data, &free_op2 TSRMLS_CC) TSRMLS_CC);
zval_dtor(free_op1.var);
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
_get_zval_ptr_tmp(opline->op1.var, execute_data, &free_op1 TSRMLS_CC),
_get_zval_ptr_var(opline->op2.var, execute_data, &free_op2 TSRMLS_CC) TSRMLS_CC);
zval_dtor(free_op1.var);
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
_get_zval_ptr_tmp(opline->op1.var, execute_data, &free_op1 TSRMLS_CC),
_get_zval_ptr_var(opline->op2.var, execute_data, &free_op2 TSRMLS_CC) TSRMLS_CC);
zval_dtor(free_op1.var);
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
_get_zval_ptr_tmp(opline->op1.var, execute_data, &free_op1 TSRMLS_CC),
_get_zval_ptr_var(opline->op2.var, execute_data, &free_op2 TSRMLS_CC) TSRMLS_CC);
zval_dtor(free_op1.var);
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
_get_zval_ptr_tmp(opline->op1.var, execute_data, &free_op1 TSRMLS_CC),
_get_zval_ptr_var(opline->op2.var, execute_data, &free_op2 TSRMLS_CC) TSRMLS_CC);
zval_dtor(free_op1.var);
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
_get_zval_ptr_tmp(opline->op1.var, execute_data, &free_op1 TSRMLS_CC),
_get_zval_ptr_var(opline->op2.var, execute_data, &free_op2 TSRMLS_CC) TSRMLS_CC);
zval_dtor(free_op1.var);
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
_get_zval_ptr_var(opline->op2.var, execute_data, &free_op2 TSRMLS_CC) TSRMLS_CC);
Z_LVAL_P(result) = !Z_LVAL_P(result);
zval_dtor(free_op1.var);
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
_get_zval_ptr_tmp(opline->op1.var, execute_data, &free_op1 TSRMLS_CC),
_get_zval_ptr_var(opline->op2.var, execute_data, &free_op2 TSRMLS_CC) TSRMLS_CC));
zval_dtor(free_op1.var);
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
_get_zval_ptr_tmp(opline->op1.var, execute_data, &free_op1 TSRMLS_CC),
_get_zval_ptr_var(opline->op2.var, execute_data, &free_op2 TSRMLS_CC) TSRMLS_CC));
zval_dtor(free_op1.var);
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
_get_zval_ptr_tmp(opline->op1.var, execute_data, &free_op1 TSRMLS_CC),
_get_zval_ptr_var(opline->op2.var, execute_data, &free_op2 TSRMLS_CC) TSRMLS_CC));
zval_dtor(free_op1.var);
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
_get_zval_ptr_tmp(opline->op1.var, execute_data, &free_op1 TSRMLS_CC),
_get_zval_ptr_var(opline->op2.var, execute_data, &free_op2 TSRMLS_CC) TSRMLS_CC));
zval_dtor(free_op1.var);
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
_get_zval_ptr_tmp(opline->op1.var, execute_data, &free_op1 TSRMLS_CC),
_get_zval_ptr_var(opline->op2.var, execute_data, &free_op2 TSRMLS_CC) TSRMLS_CC);
zval_dtor(free_op1.var);
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
_get_zval_ptr_tmp(opline->op1.var, execute_data, &free_op1 TSRMLS_CC),
_get_zval_ptr_var(opline->op2.var, execute_data, &free_op2 TSRMLS_CC) TSRMLS_CC);
zval_dtor(free_op1.var);
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
_get_zval_ptr_tmp(opline->op1.var, execute_data, &free_op1 TSRMLS_CC),
_get_zval_ptr_var(opline->op2.var, execute_data, &free_op2 TSRMLS_CC) TSRMLS_CC);
zval_dtor(free_op1.var);
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
_get_zval_ptr_tmp(opline->op1.var, execute_data, &free_op1 TSRMLS_CC),
_get_zval_ptr_var(opline->op2.var, execute_data, &free_op2 TSRMLS_CC) TSRMLS_CC);
zval_dtor(free_op1.var);
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
if (IS_TMP_VAR == IS_TMP_VAR || IS_TMP_VAR == IS_CONST) {
zval *container = _get_zval_ptr_tmp(opline->op1.var, execute_data, &free_op1 TSRMLS_CC);
zend_fetch_dimension_address_read(&EX_T(opline->result.var), &container, _get_zval_ptr_var(opline->op2.var, execute_data, &free_op2 TSRMLS_CC), IS_VAR, BP_VAR_R TSRMLS_CC);
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
zval_dtor(free_op1.var);
} else {
container = NULL;
zend_fetch_dimension_address_read(&EX_T(opline->result.var), container, _get_zval_ptr_var(opline->op2.var, execute_data, &free_op2 TSRMLS_CC), IS_VAR, BP_VAR_R TSRMLS_CC);
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
if (IS_TMP_VAR == IS_VAR && !(opline->extended_value & ZEND_FETCH_ADD_LOCK)) {
}
* which aren't affected by FREE_OP(Ts, )'s anyway, unless they're
* string offsets or overloaded objects
*/
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
} else {
if (UNEXPECTED(EG(exception) != NULL)) {
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
HANDLE_EXCEPTION();
}
zend_error_noreturn(E_ERROR, "Call to a member function %s() on a non-object", function_name_strval);
call->is_ctor_call = 0;
EX(call) = call;
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
_get_zval_ptr_tmp(opline->op1.var, execute_data, &free_op1 TSRMLS_CC),
_get_zval_ptr_var(opline->op2.var, execute_data, &free_op2 TSRMLS_CC) TSRMLS_CC);
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
/* do nothing */
break;
}
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
} else {
zend_hash_next_index_insert(Z_ARRVAL(EX_T(opline->result.var).tmp_var), &expr_ptr, sizeof(zval *), NULL);
}
generator->largest_used_integer_key = Z_LVAL_P(generator->key);
}
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
} else {
/* If no key was specified we use auto-increment keys */
generator->largest_used_integer_key++;
SAVE_OPLINE();
bitwise_not_function(&EX_T(opline->result.var).tmp_var,
_get_zval_ptr_var(opline->op1.var, execute_data, &free_op1 TSRMLS_CC) TSRMLS_CC);
- zval_ptr_dtor(&free_op1.var);
+ zval_ptr_dtor_nogc(&free_op1.var);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
SAVE_OPLINE();
boolean_not_function(&EX_T(opline->result.var).tmp_var,
_get_zval_ptr_var(opline->op1.var, execute_data, &free_op1 TSRMLS_CC) TSRMLS_CC);
- zval_ptr_dtor(&free_op1.var);
+ zval_ptr_dtor_nogc(&free_op1.var);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
PZVAL_LOCK(&EG(uninitialized_zval));
AI_SET_PTR(&EX_T(opline->result.var), &EG(uninitialized_zval));
}
- if (free_op1.var) {zval_ptr_dtor(&free_op1.var);};
+ if (free_op1.var) {zval_ptr_dtor_nogc(&free_op1.var);};
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
AI_SET_PTR(&EX_T(opline->result.var), *var_ptr);
}
- if (free_op1.var) {zval_ptr_dtor(&free_op1.var);};
+ if (free_op1.var) {zval_ptr_dtor_nogc(&free_op1.var);};
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
PZVAL_LOCK(&EG(uninitialized_zval));
AI_SET_PTR(&EX_T(opline->result.var), &EG(uninitialized_zval));
}
- if (free_op1.var) {zval_ptr_dtor(&free_op1.var);};
+ if (free_op1.var) {zval_ptr_dtor_nogc(&free_op1.var);};
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
AI_SET_PTR(&EX_T(opline->result.var), *var_ptr);
}
- if (free_op1.var) {zval_ptr_dtor(&free_op1.var);};
+ if (free_op1.var) {zval_ptr_dtor_nogc(&free_op1.var);};
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
}
if (IS_VAR == IS_VAR && UNEXPECTED(*var_ptr == &EG(error_zval))) {
ZVAL_NULL(&EX_T(opline->result.var).tmp_var);
- if (free_op1.var) {zval_ptr_dtor(&free_op1.var);};
+ if (free_op1.var) {zval_ptr_dtor_nogc(&free_op1.var);};
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
fast_increment_function(*var_ptr);
}
- if (free_op1.var) {zval_ptr_dtor(&free_op1.var);};
+ if (free_op1.var) {zval_ptr_dtor_nogc(&free_op1.var);};
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
}
if (IS_VAR == IS_VAR && UNEXPECTED(*var_ptr == &EG(error_zval))) {
ZVAL_NULL(&EX_T(opline->result.var).tmp_var);
- if (free_op1.var) {zval_ptr_dtor(&free_op1.var);};
+ if (free_op1.var) {zval_ptr_dtor_nogc(&free_op1.var);};
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
fast_decrement_function(*var_ptr);
}
- if (free_op1.var) {zval_ptr_dtor(&free_op1.var);};
+ if (free_op1.var) {zval_ptr_dtor_nogc(&free_op1.var);};
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
}
zend_print_variable(z);
- zval_ptr_dtor(&free_op1.var);
+ zval_ptr_dtor_nogc(&free_op1.var);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
ret = Z_LVAL_P(val);
} else {
ret = i_zend_is_true(val);
- zval_ptr_dtor(&free_op1.var);
+ zval_ptr_dtor_nogc(&free_op1.var);
if (UNEXPECTED(EG(exception) != NULL)) {
HANDLE_EXCEPTION();
}
ret = Z_LVAL_P(val);
} else {
ret = i_zend_is_true(val);
- zval_ptr_dtor(&free_op1.var);
+ zval_ptr_dtor_nogc(&free_op1.var);
if (UNEXPECTED(EG(exception) != NULL)) {
HANDLE_EXCEPTION();
}
retval = Z_LVAL_P(val);
} else {
retval = i_zend_is_true(val);
- zval_ptr_dtor(&free_op1.var);
+ zval_ptr_dtor_nogc(&free_op1.var);
if (UNEXPECTED(EG(exception) != NULL)) {
HANDLE_EXCEPTION();
}
retval = Z_LVAL_P(val);
} else {
retval = i_zend_is_true(val);
- zval_ptr_dtor(&free_op1.var);
+ zval_ptr_dtor_nogc(&free_op1.var);
if (UNEXPECTED(EG(exception) != NULL)) {
HANDLE_EXCEPTION();
}
retval = Z_LVAL_P(val);
} else {
retval = i_zend_is_true(val);
- zval_ptr_dtor(&free_op1.var);
+ zval_ptr_dtor_nogc(&free_op1.var);
if (UNEXPECTED(EG(exception) != NULL)) {
HANDLE_EXCEPTION();
}
retval_ptr = _get_zval_ptr_var(opline->op1.var, execute_data, &free_op1 TSRMLS_CC);
if (!EG(return_value_ptr_ptr)) {
- zval_ptr_dtor(&free_op1.var);
+ zval_ptr_dtor_nogc(&free_op1.var);
} else {
if (IS_VAR == IS_CONST ||
IS_VAR == IS_TMP_VAR ||
zval_copy_ctor(ret);
}
*EG(return_value_ptr_ptr) = ret;
- zval_ptr_dtor(&free_op1.var);
+ zval_ptr_dtor_nogc(&free_op1.var);
} else if ((IS_VAR == IS_CV || IS_VAR == IS_VAR) &&
retval_ptr == &EG(uninitialized_zval)) {
zval *ret;
retval_ptr = _get_zval_ptr_var(opline->op1.var, execute_data, &free_op1 TSRMLS_CC);
if (!EG(return_value_ptr_ptr)) {
if (IS_VAR == IS_TMP_VAR) {
- zval_ptr_dtor(&free_op1.var);
+ zval_ptr_dtor_nogc(&free_op1.var);
}
} else if (!0) { /* Not a temp var */
zval *ret;
}
} while (0);
- if (free_op1.var) {zval_ptr_dtor(&free_op1.var);};
+ if (free_op1.var) {zval_ptr_dtor_nogc(&free_op1.var);};
return zend_leave_helper_SPEC(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
}
zend_throw_exception_object(exception TSRMLS_CC);
zend_exception_restore(TSRMLS_C);
- zval_ptr_dtor(&free_op1.var);
+ zval_ptr_dtor_nogc(&free_op1.var);
HANDLE_EXCEPTION();
}
ALLOC_ZVAL(varptr);
INIT_PZVAL_COPY(varptr, original_var);
zval_copy_ctor(varptr);
- zval_ptr_dtor(&free_op1.var);
+ zval_ptr_dtor_nogc(&free_op1.var);
} else {
Z_UNSET_ISREF_P(varptr);
}
if (!0) {
zval_copy_ctor(valptr);
}
- zval_ptr_dtor(&free_op1.var);
+ zval_ptr_dtor_nogc(&free_op1.var);
zend_vm_stack_push(valptr TSRMLS_CC);
}
CHECK_EXCEPTION();
Z_ADDREF_P(varptr);
zend_vm_stack_push(varptr TSRMLS_CC);
- if (free_op1.var) {zval_ptr_dtor(&free_op1.var);};
+ if (free_op1.var) {zval_ptr_dtor_nogc(&free_op1.var);};
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
SAVE_OPLINE();
/* PHP 3.0 returned "" for false and 1 for true, here we use 0 and 1 for now */
ZVAL_BOOL(retval, i_zend_is_true(_get_zval_ptr_var(opline->op1.var, execute_data, &free_op1 TSRMLS_CC)));
- zval_ptr_dtor(&free_op1.var);
+ zval_ptr_dtor_nogc(&free_op1.var);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
AI_SET_PTR(&EX_T(opline->result.var), retval);
}
}
- zval_ptr_dtor(&free_op1.var);
+ zval_ptr_dtor_nogc(&free_op1.var);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
if (use_copy) {
ZVAL_COPY_VALUE(result, &var_copy);
if (0) {
- zval_ptr_dtor(&free_op1.var);
+ zval_ptr_dtor_nogc(&free_op1.var);
}
} else {
ZVAL_COPY_VALUE(result, expr);
convert_to_object(result);
break;
}
- zval_ptr_dtor(&free_op1.var);
+ zval_ptr_dtor_nogc(&free_op1.var);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
if (tmp_inc_filename) {
zval_ptr_dtor(&tmp_inc_filename);
}
- zval_ptr_dtor(&free_op1.var);
+ zval_ptr_dtor_nogc(&free_op1.var);
if (UNEXPECTED(EG(exception) != NULL)) {
HANDLE_EXCEPTION();
} else if (EXPECTED(new_op_array != NULL)) {
iter = ce->get_iterator(ce, array_ptr, opline->extended_value & ZEND_FE_RESET_REFERENCE TSRMLS_CC);
if (IS_VAR == IS_VAR && !(opline->extended_value & ZEND_FE_RESET_VARIABLE)) {
- zval_ptr_dtor(&free_op1.var);
+ zval_ptr_dtor_nogc(&free_op1.var);
}
if (iter && EXPECTED(EG(exception) == NULL)) {
array_ptr = zend_iterator_wrap(iter TSRMLS_CC);
} else {
if (IS_VAR == IS_VAR && opline->extended_value & ZEND_FE_RESET_VARIABLE) {
- if (free_op1.var) {zval_ptr_dtor(&free_op1.var);};
+ if (free_op1.var) {zval_ptr_dtor_nogc(&free_op1.var);};
}
if (!EG(exception)) {
zend_throw_exception_ex(NULL, 0 TSRMLS_CC, "Object of type %s did not create an Iterator", ce->name);
if (UNEXPECTED(EG(exception) != NULL)) {
zval_ptr_dtor(&array_ptr);
if (IS_VAR == IS_VAR && opline->extended_value & ZEND_FE_RESET_VARIABLE) {
- if (free_op1.var) {zval_ptr_dtor(&free_op1.var);};
+ if (free_op1.var) {zval_ptr_dtor_nogc(&free_op1.var);};
}
HANDLE_EXCEPTION();
}
if (UNEXPECTED(EG(exception) != NULL)) {
zval_ptr_dtor(&array_ptr);
if (IS_VAR == IS_VAR && opline->extended_value & ZEND_FE_RESET_VARIABLE) {
- if (free_op1.var) {zval_ptr_dtor(&free_op1.var);};
+ if (free_op1.var) {zval_ptr_dtor_nogc(&free_op1.var);};
}
HANDLE_EXCEPTION();
}
}
if (IS_VAR == IS_VAR && opline->extended_value & ZEND_FE_RESET_VARIABLE) {
- if (free_op1.var) {zval_ptr_dtor(&free_op1.var);};
+ if (free_op1.var) {zval_ptr_dtor_nogc(&free_op1.var);};
}
if (is_empty) {
ZEND_VM_JMP(EX(op_array)->opcodes+opline->op2.opline_num);
} else {
zend_print_variable(ptr);
}
- zval_ptr_dtor(&free_op1.var);
+ zval_ptr_dtor_nogc(&free_op1.var);
}
#endif
zend_bailout();
if (!0) {
zendi_zval_copy_ctor(EX_T(opline->result.var).tmp_var);
}
- zval_ptr_dtor(&free_op1.var);
+ zval_ptr_dtor_nogc(&free_op1.var);
#if DEBUG_ZEND>=2
printf("Conditional jmp to %d\n", opline->op2.opline_num);
#endif
ZEND_VM_JMP(opline->op2.jmp_addr);
}
- zval_ptr_dtor(&free_op1.var);
+ zval_ptr_dtor_nogc(&free_op1.var);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
zval_copy_ctor(EX_T(opline->result.var).var.ptr);
}
}
- zval_ptr_dtor(&free_op1.var);
+ zval_ptr_dtor_nogc(&free_op1.var);
#if DEBUG_ZEND>=2
printf("Conditional jmp to %d\n", opline->op2.opline_num);
#endif
ZEND_VM_JMP(opline->op2.jmp_addr);
}
- zval_ptr_dtor(&free_op1.var);
+ zval_ptr_dtor_nogc(&free_op1.var);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
if (!0) {
zval_copy_ctor(&EX_T(opline->result.var).tmp_var);
}
- zval_ptr_dtor(&free_op1.var);
+ zval_ptr_dtor_nogc(&free_op1.var);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
}
}
- zval_ptr_dtor(&free_op1.var);
+ zval_ptr_dtor_nogc(&free_op1.var);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
result = 0;
}
ZVAL_BOOL(&EX_T(opline->result.var).tmp_var, result);
- zval_ptr_dtor(&free_op1.var);
+ zval_ptr_dtor_nogc(&free_op1.var);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
fast_add_function(&EX_T(opline->result.var).tmp_var,
_get_zval_ptr_var(opline->op1.var, execute_data, &free_op1 TSRMLS_CC),
opline->op2.zv TSRMLS_CC);
- zval_ptr_dtor(&free_op1.var);
+ zval_ptr_dtor_nogc(&free_op1.var);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
fast_sub_function(&EX_T(opline->result.var).tmp_var,
_get_zval_ptr_var(opline->op1.var, execute_data, &free_op1 TSRMLS_CC),
opline->op2.zv TSRMLS_CC);
- zval_ptr_dtor(&free_op1.var);
+ zval_ptr_dtor_nogc(&free_op1.var);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
fast_mul_function(&EX_T(opline->result.var).tmp_var,
_get_zval_ptr_var(opline->op1.var, execute_data, &free_op1 TSRMLS_CC),
opline->op2.zv TSRMLS_CC);
- zval_ptr_dtor(&free_op1.var);
+ zval_ptr_dtor_nogc(&free_op1.var);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
fast_div_function(&EX_T(opline->result.var).tmp_var,
_get_zval_ptr_var(opline->op1.var, execute_data, &free_op1 TSRMLS_CC),
opline->op2.zv TSRMLS_CC);
- zval_ptr_dtor(&free_op1.var);
+ zval_ptr_dtor_nogc(&free_op1.var);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
fast_mod_function(&EX_T(opline->result.var).tmp_var,
_get_zval_ptr_var(opline->op1.var, execute_data, &free_op1 TSRMLS_CC),
opline->op2.zv TSRMLS_CC);
- zval_ptr_dtor(&free_op1.var);
+ zval_ptr_dtor_nogc(&free_op1.var);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
shift_left_function(&EX_T(opline->result.var).tmp_var,
_get_zval_ptr_var(opline->op1.var, execute_data, &free_op1 TSRMLS_CC),
opline->op2.zv TSRMLS_CC);
- zval_ptr_dtor(&free_op1.var);
+ zval_ptr_dtor_nogc(&free_op1.var);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
shift_right_function(&EX_T(opline->result.var).tmp_var,
_get_zval_ptr_var(opline->op1.var, execute_data, &free_op1 TSRMLS_CC),
opline->op2.zv TSRMLS_CC);
- zval_ptr_dtor(&free_op1.var);
+ zval_ptr_dtor_nogc(&free_op1.var);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
concat_function(&EX_T(opline->result.var).tmp_var,
_get_zval_ptr_var(opline->op1.var, execute_data, &free_op1 TSRMLS_CC),
opline->op2.zv TSRMLS_CC);
- zval_ptr_dtor(&free_op1.var);
+ zval_ptr_dtor_nogc(&free_op1.var);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
is_identical_function(&EX_T(opline->result.var).tmp_var,
_get_zval_ptr_var(opline->op1.var, execute_data, &free_op1 TSRMLS_CC),
opline->op2.zv TSRMLS_CC);
- zval_ptr_dtor(&free_op1.var);
+ zval_ptr_dtor_nogc(&free_op1.var);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
_get_zval_ptr_var(opline->op1.var, execute_data, &free_op1 TSRMLS_CC),
opline->op2.zv TSRMLS_CC);
Z_LVAL_P(result) = !Z_LVAL_P(result);
- zval_ptr_dtor(&free_op1.var);
+ zval_ptr_dtor_nogc(&free_op1.var);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
ZVAL_BOOL(result, fast_equal_function(result,
_get_zval_ptr_var(opline->op1.var, execute_data, &free_op1 TSRMLS_CC),
opline->op2.zv TSRMLS_CC));
- zval_ptr_dtor(&free_op1.var);
+ zval_ptr_dtor_nogc(&free_op1.var);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
ZVAL_BOOL(result, fast_not_equal_function(result,
_get_zval_ptr_var(opline->op1.var, execute_data, &free_op1 TSRMLS_CC),
opline->op2.zv TSRMLS_CC));
- zval_ptr_dtor(&free_op1.var);
+ zval_ptr_dtor_nogc(&free_op1.var);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
ZVAL_BOOL(result, fast_is_smaller_function(result,
_get_zval_ptr_var(opline->op1.var, execute_data, &free_op1 TSRMLS_CC),
opline->op2.zv TSRMLS_CC));
- zval_ptr_dtor(&free_op1.var);
+ zval_ptr_dtor_nogc(&free_op1.var);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
ZVAL_BOOL(result, fast_is_smaller_or_equal_function(result,
_get_zval_ptr_var(opline->op1.var, execute_data, &free_op1 TSRMLS_CC),
opline->op2.zv TSRMLS_CC));
- zval_ptr_dtor(&free_op1.var);
+ zval_ptr_dtor_nogc(&free_op1.var);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
bitwise_or_function(&EX_T(opline->result.var).tmp_var,
_get_zval_ptr_var(opline->op1.var, execute_data, &free_op1 TSRMLS_CC),
opline->op2.zv TSRMLS_CC);
- zval_ptr_dtor(&free_op1.var);
+ zval_ptr_dtor_nogc(&free_op1.var);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
bitwise_and_function(&EX_T(opline->result.var).tmp_var,
_get_zval_ptr_var(opline->op1.var, execute_data, &free_op1 TSRMLS_CC),
opline->op2.zv TSRMLS_CC);
- zval_ptr_dtor(&free_op1.var);
+ zval_ptr_dtor_nogc(&free_op1.var);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
bitwise_xor_function(&EX_T(opline->result.var).tmp_var,
_get_zval_ptr_var(opline->op1.var, execute_data, &free_op1 TSRMLS_CC),
opline->op2.zv TSRMLS_CC);
- zval_ptr_dtor(&free_op1.var);
+ zval_ptr_dtor_nogc(&free_op1.var);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
boolean_xor_function(&EX_T(opline->result.var).tmp_var,
_get_zval_ptr_var(opline->op1.var, execute_data, &free_op1 TSRMLS_CC),
opline->op2.zv TSRMLS_CC);
- zval_ptr_dtor(&free_op1.var);
+ zval_ptr_dtor_nogc(&free_op1.var);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
FREE_OP(free_op_data1);
}
- if (free_op1.var) {zval_ptr_dtor(&free_op1.var);};
+ if (free_op1.var) {zval_ptr_dtor_nogc(&free_op1.var);};
/* assign_obj has two opcodes! */
CHECK_EXCEPTION();
ZEND_VM_INC_OPCODE();
AI_SET_PTR(&EX_T(opline->result.var), &EG(uninitialized_zval));
}
- if (free_op1.var) {zval_ptr_dtor(&free_op1.var);};
+ if (free_op1.var) {zval_ptr_dtor_nogc(&free_op1.var);};
CHECK_EXCEPTION();
if (opline->extended_value == ZEND_ASSIGN_DIM) {
ZEND_VM_INC_OPCODE();
if (opline->extended_value == ZEND_ASSIGN_DIM) {
FREE_OP(free_op_data1);
FREE_OP_VAR_PTR(free_op_data2);
- if (free_op1.var) {zval_ptr_dtor(&free_op1.var);};
+ if (free_op1.var) {zval_ptr_dtor_nogc(&free_op1.var);};
CHECK_EXCEPTION();
ZEND_VM_INC_OPCODE();
} else {
- if (free_op1.var) {zval_ptr_dtor(&free_op1.var);};
+ if (free_op1.var) {zval_ptr_dtor_nogc(&free_op1.var);};
CHECK_EXCEPTION();
}
ZEND_VM_NEXT_OPCODE();
PZVAL_LOCK(&EG(uninitialized_zval));
*retval = &EG(uninitialized_zval);
}
- if (free_op1.var) {zval_ptr_dtor(&free_op1.var);};
+ if (free_op1.var) {zval_ptr_dtor_nogc(&free_op1.var);};
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
} else {
}
- if (free_op1.var) {zval_ptr_dtor(&free_op1.var);};
+ if (free_op1.var) {zval_ptr_dtor_nogc(&free_op1.var);};
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
zend_error(E_WARNING, "Attempt to increment/decrement property of non-object");
ZVAL_NULL(retval);
- if (free_op1.var) {zval_ptr_dtor(&free_op1.var);};
+ if (free_op1.var) {zval_ptr_dtor_nogc(&free_op1.var);};
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
} else {
}
- if (free_op1.var) {zval_ptr_dtor(&free_op1.var);};
+ if (free_op1.var) {zval_ptr_dtor_nogc(&free_op1.var);};
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
if (IS_VAR != IS_CONST && varname == &tmp_varname) {
zval_dtor(&tmp_varname);
}
- zval_ptr_dtor(&free_op1.var);
+ zval_ptr_dtor_nogc(&free_op1.var);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
ce = EX_T(opline->op2.var).class_entry;
}
retval = zend_std_get_static_property(ce, Z_STRVAL_P(varname), Z_STRLEN_P(varname), 0, ((IS_VAR == IS_CONST) ? opline->op1.literal : NULL) TSRMLS_CC);
- zval_ptr_dtor(&free_op1.var);
+ zval_ptr_dtor_nogc(&free_op1.var);
} else {
target_symbol_table = zend_get_target_symbol_table(opline->extended_value & ZEND_FETCH_TYPE_MASK TSRMLS_CC);
/*
switch (opline->extended_value & ZEND_FETCH_TYPE_MASK) {
case ZEND_FETCH_GLOBAL:
if (IS_VAR != IS_TMP_VAR) {
- zval_ptr_dtor(&free_op1.var);
+ zval_ptr_dtor_nogc(&free_op1.var);
}
break;
case ZEND_FETCH_LOCAL:
- zval_ptr_dtor(&free_op1.var);
+ zval_ptr_dtor_nogc(&free_op1.var);
break;
case ZEND_FETCH_STATIC:
zval_update_constant(retval, (void*) 1 TSRMLS_CC);
zval *container = _get_zval_ptr_var(opline->op1.var, execute_data, &free_op1 TSRMLS_CC);
zend_fetch_dimension_address_read(&EX_T(opline->result.var), &container, opline->op2.zv, IS_CONST, BP_VAR_R TSRMLS_CC);
- zval_ptr_dtor(&free_op1.var);
+ zval_ptr_dtor_nogc(&free_op1.var);
} else {
container = _get_zval_ptr_ptr_var_fast(opline->op1.var, execute_data, &free_op1 TSRMLS_CC);
zend_fetch_dimension_address_read(&EX_T(opline->result.var), container, opline->op2.zv, IS_CONST, BP_VAR_R TSRMLS_CC);
if (IS_VAR == IS_VAR && !(opline->extended_value & ZEND_FETCH_ADD_LOCK)) {
- zval_ptr_dtor(&free_op1.var);
+ zval_ptr_dtor_nogc(&free_op1.var);
}
}
if (IS_VAR == IS_VAR && (free_op1.var != NULL) && READY_TO_DESTROY(free_op1.var)) {
EXTRACT_ZVAL_PTR(&EX_T(opline->result.var));
}
- if (free_op1.var) {zval_ptr_dtor(&free_op1.var);};
+ if (free_op1.var) {zval_ptr_dtor_nogc(&free_op1.var);};
/* We are going to assign the result by reference */
if (UNEXPECTED(opline->extended_value != 0)) {
if (IS_VAR == IS_VAR && (free_op1.var != NULL) && READY_TO_DESTROY(free_op1.var)) {
EXTRACT_ZVAL_PTR(&EX_T(opline->result.var));
}
- if (free_op1.var) {zval_ptr_dtor(&free_op1.var);};
+ if (free_op1.var) {zval_ptr_dtor_nogc(&free_op1.var);};
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
container = _get_zval_ptr_ptr_var_fast(opline->op1.var, execute_data, &free_op1 TSRMLS_CC);
zend_fetch_dimension_address_read(&EX_T(opline->result.var), container, opline->op2.zv, IS_CONST, BP_VAR_IS TSRMLS_CC);
- zval_ptr_dtor(&free_op1.var);
+ zval_ptr_dtor_nogc(&free_op1.var);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
EXTRACT_ZVAL_PTR(&EX_T(opline->result.var));
}
- if (free_op1.var) {zval_ptr_dtor(&free_op1.var);};
+ if (free_op1.var) {zval_ptr_dtor_nogc(&free_op1.var);};
} else {
if (IS_CONST == IS_UNUSED) {
zend_error_noreturn(E_ERROR, "Cannot use [] for reading");
container = _get_zval_ptr_ptr_var_fast(opline->op1.var, execute_data, &free_op1 TSRMLS_CC);
zend_fetch_dimension_address_read(&EX_T(opline->result.var), container, opline->op2.zv, IS_CONST, BP_VAR_R TSRMLS_CC);
- zval_ptr_dtor(&free_op1.var);
+ zval_ptr_dtor_nogc(&free_op1.var);
}
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
if (IS_VAR == IS_VAR && (free_op1.var != NULL) && READY_TO_DESTROY(free_op1.var)) {
EXTRACT_ZVAL_PTR(&EX_T(opline->result.var));
}
- if (free_op1.var) {zval_ptr_dtor(&free_op1.var);};
+ if (free_op1.var) {zval_ptr_dtor_nogc(&free_op1.var);};
if (UNEXPECTED(EX_T(opline->result.var).var.ptr_ptr == NULL)) {
zend_error_noreturn(E_ERROR, "Cannot unset string offsets");
ZEND_VM_NEXT_OPCODE();
}
}
- zval_ptr_dtor(&free_op1.var);
+ zval_ptr_dtor_nogc(&free_op1.var);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
if (IS_VAR == IS_VAR && (free_op1.var != NULL) && READY_TO_DESTROY(free_op1.var)) {
EXTRACT_ZVAL_PTR(&EX_T(opline->result.var));
}
- if (free_op1.var) {zval_ptr_dtor(&free_op1.var);};
+ if (free_op1.var) {zval_ptr_dtor_nogc(&free_op1.var);};
/* We are going to assign the result by reference */
if (opline->extended_value & ZEND_FETCH_MAKE_REF) {
if (IS_VAR == IS_VAR && (free_op1.var != NULL) && READY_TO_DESTROY(free_op1.var)) {
EXTRACT_ZVAL_PTR(&EX_T(opline->result.var));
}
- if (free_op1.var) {zval_ptr_dtor(&free_op1.var);};
+ if (free_op1.var) {zval_ptr_dtor_nogc(&free_op1.var);};
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
}
}
- zval_ptr_dtor(&free_op1.var);
+ zval_ptr_dtor_nogc(&free_op1.var);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
if (IS_VAR == IS_VAR && (free_op1.var != NULL) && READY_TO_DESTROY(free_op1.var)) {
EXTRACT_ZVAL_PTR(&EX_T(opline->result.var));
}
- if (free_op1.var) {zval_ptr_dtor(&free_op1.var);};
+ if (free_op1.var) {zval_ptr_dtor_nogc(&free_op1.var);};
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
} else {
if (IS_VAR == IS_VAR && (free_op1.var != NULL) && READY_TO_DESTROY(free_op1.var)) {
EXTRACT_ZVAL_PTR(&EX_T(opline->result.var));
}
- if (free_op1.var) {zval_ptr_dtor(&free_op1.var);};
+ if (free_op1.var) {zval_ptr_dtor_nogc(&free_op1.var);};
PZVAL_UNLOCK(*EX_T(opline->result.var).var.ptr_ptr, &free_res);
if (EX_T(opline->result.var).var.ptr_ptr != &EG(uninitialized_zval_ptr)) {
} else {
}
- if (free_op1.var) {zval_ptr_dtor(&free_op1.var);};
+ if (free_op1.var) {zval_ptr_dtor_nogc(&free_op1.var);};
/* assign_obj has two opcodes! */
CHECK_EXCEPTION();
ZEND_VM_INC_OPCODE();
FREE_OP_VAR_PTR(free_op_data2);
FREE_OP_IF_VAR(free_op_data1);
}
- if (free_op1.var) {zval_ptr_dtor(&free_op1.var);};
+ if (free_op1.var) {zval_ptr_dtor_nogc(&free_op1.var);};
/* assign_dim has two opcodes! */
CHECK_EXCEPTION();
ZEND_VM_INC_OPCODE();
}
}
- if (free_op1.var) {zval_ptr_dtor(&free_op1.var);};
+ if (free_op1.var) {zval_ptr_dtor_nogc(&free_op1.var);};
/* zend_assign_to_variable() always takes care of op2, never free it! */
call->is_ctor_call = 0;
EX(call) = call;
- zval_ptr_dtor(&free_op1.var);
+ zval_ptr_dtor_nogc(&free_op1.var);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
INIT_PZVAL_COPY(new_expr, expr_ptr);
expr_ptr = new_expr;
zendi_zval_copy_ctor(*expr_ptr);
- zval_ptr_dtor(&free_op1.var);
+ zval_ptr_dtor_nogc(&free_op1.var);
} else if (IS_VAR == IS_CV) {
Z_ADDREF_P(expr_ptr);
}
zend_hash_next_index_insert(Z_ARRVAL(EX_T(opline->result.var).tmp_var), &expr_ptr, sizeof(zval *), NULL);
}
if ((IS_VAR == IS_VAR || IS_VAR == IS_CV) && opline->extended_value) {
- if (free_op1.var) {zval_ptr_dtor(&free_op1.var);};
+ if (free_op1.var) {zval_ptr_dtor_nogc(&free_op1.var);};
}
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
} else if (IS_VAR == IS_VAR || IS_VAR == IS_CV) {
zval_ptr_dtor(&varname);
}
- zval_ptr_dtor(&free_op1.var);
+ zval_ptr_dtor_nogc(&free_op1.var);
HANDLE_EXCEPTION();
}
if (UNEXPECTED(ce == NULL)) {
} else if (IS_VAR == IS_VAR || IS_VAR == IS_CV) {
zval_ptr_dtor(&varname);
}
- zval_ptr_dtor(&free_op1.var);
+ zval_ptr_dtor_nogc(&free_op1.var);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
} else {
}
- if (free_op1.var) {zval_ptr_dtor(&free_op1.var);};
+ if (free_op1.var) {zval_ptr_dtor_nogc(&free_op1.var);};
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
} else {
}
- if (free_op1.var) {zval_ptr_dtor(&free_op1.var);};
+ if (free_op1.var) {zval_ptr_dtor_nogc(&free_op1.var);};
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
if (IS_VAR != IS_CONST && varname == &tmp) {
zval_dtor(&tmp);
}
- zval_ptr_dtor(&free_op1.var);
+ zval_ptr_dtor_nogc(&free_op1.var);
}
if (opline->extended_value & ZEND_ISSET) {
Z_LVAL(EX_T(opline->result.var).tmp_var) = !result;
}
- zval_ptr_dtor(&free_op1.var);
+ zval_ptr_dtor_nogc(&free_op1.var);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
generator->value = *value_ptr;
}
- if (free_op1.var) {zval_ptr_dtor(&free_op1.var);};
+ if (free_op1.var) {zval_ptr_dtor_nogc(&free_op1.var);};
}
} else {
zval *value = _get_zval_ptr_var(opline->op1.var, execute_data, &free_op1 TSRMLS_CC);
}
generator->value = copy;
- zval_ptr_dtor(&free_op1.var);
+ zval_ptr_dtor_nogc(&free_op1.var);
} else {
if (IS_VAR == IS_CV) {
Z_ADDREF_P(value);
fast_add_function(&EX_T(opline->result.var).tmp_var,
_get_zval_ptr_var(opline->op1.var, execute_data, &free_op1 TSRMLS_CC),
_get_zval_ptr_tmp(opline->op2.var, execute_data, &free_op2 TSRMLS_CC) TSRMLS_CC);
- zval_ptr_dtor(&free_op1.var);
+ zval_ptr_dtor_nogc(&free_op1.var);
zval_dtor(free_op2.var);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
fast_sub_function(&EX_T(opline->result.var).tmp_var,
_get_zval_ptr_var(opline->op1.var, execute_data, &free_op1 TSRMLS_CC),
_get_zval_ptr_tmp(opline->op2.var, execute_data, &free_op2 TSRMLS_CC) TSRMLS_CC);
- zval_ptr_dtor(&free_op1.var);
+ zval_ptr_dtor_nogc(&free_op1.var);
zval_dtor(free_op2.var);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
fast_mul_function(&EX_T(opline->result.var).tmp_var,
_get_zval_ptr_var(opline->op1.var, execute_data, &free_op1 TSRMLS_CC),
_get_zval_ptr_tmp(opline->op2.var, execute_data, &free_op2 TSRMLS_CC) TSRMLS_CC);
- zval_ptr_dtor(&free_op1.var);
+ zval_ptr_dtor_nogc(&free_op1.var);
zval_dtor(free_op2.var);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
fast_div_function(&EX_T(opline->result.var).tmp_var,
_get_zval_ptr_var(opline->op1.var, execute_data, &free_op1 TSRMLS_CC),
_get_zval_ptr_tmp(opline->op2.var, execute_data, &free_op2 TSRMLS_CC) TSRMLS_CC);
- zval_ptr_dtor(&free_op1.var);
+ zval_ptr_dtor_nogc(&free_op1.var);
zval_dtor(free_op2.var);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
fast_mod_function(&EX_T(opline->result.var).tmp_var,
_get_zval_ptr_var(opline->op1.var, execute_data, &free_op1 TSRMLS_CC),
_get_zval_ptr_tmp(opline->op2.var, execute_data, &free_op2 TSRMLS_CC) TSRMLS_CC);
- zval_ptr_dtor(&free_op1.var);
+ zval_ptr_dtor_nogc(&free_op1.var);
zval_dtor(free_op2.var);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
shift_left_function(&EX_T(opline->result.var).tmp_var,
_get_zval_ptr_var(opline->op1.var, execute_data, &free_op1 TSRMLS_CC),
_get_zval_ptr_tmp(opline->op2.var, execute_data, &free_op2 TSRMLS_CC) TSRMLS_CC);
- zval_ptr_dtor(&free_op1.var);
+ zval_ptr_dtor_nogc(&free_op1.var);
zval_dtor(free_op2.var);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
shift_right_function(&EX_T(opline->result.var).tmp_var,
_get_zval_ptr_var(opline->op1.var, execute_data, &free_op1 TSRMLS_CC),
_get_zval_ptr_tmp(opline->op2.var, execute_data, &free_op2 TSRMLS_CC) TSRMLS_CC);
- zval_ptr_dtor(&free_op1.var);
+ zval_ptr_dtor_nogc(&free_op1.var);
zval_dtor(free_op2.var);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
concat_function(&EX_T(opline->result.var).tmp_var,
_get_zval_ptr_var(opline->op1.var, execute_data, &free_op1 TSRMLS_CC),
_get_zval_ptr_tmp(opline->op2.var, execute_data, &free_op2 TSRMLS_CC) TSRMLS_CC);
- zval_ptr_dtor(&free_op1.var);
+ zval_ptr_dtor_nogc(&free_op1.var);
zval_dtor(free_op2.var);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
is_identical_function(&EX_T(opline->result.var).tmp_var,
_get_zval_ptr_var(opline->op1.var, execute_data, &free_op1 TSRMLS_CC),
_get_zval_ptr_tmp(opline->op2.var, execute_data, &free_op2 TSRMLS_CC) TSRMLS_CC);
- zval_ptr_dtor(&free_op1.var);
+ zval_ptr_dtor_nogc(&free_op1.var);
zval_dtor(free_op2.var);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
_get_zval_ptr_var(opline->op1.var, execute_data, &free_op1 TSRMLS_CC),
_get_zval_ptr_tmp(opline->op2.var, execute_data, &free_op2 TSRMLS_CC) TSRMLS_CC);
Z_LVAL_P(result) = !Z_LVAL_P(result);
- zval_ptr_dtor(&free_op1.var);
+ zval_ptr_dtor_nogc(&free_op1.var);
zval_dtor(free_op2.var);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
ZVAL_BOOL(result, fast_equal_function(result,
_get_zval_ptr_var(opline->op1.var, execute_data, &free_op1 TSRMLS_CC),
_get_zval_ptr_tmp(opline->op2.var, execute_data, &free_op2 TSRMLS_CC) TSRMLS_CC));
- zval_ptr_dtor(&free_op1.var);
+ zval_ptr_dtor_nogc(&free_op1.var);
zval_dtor(free_op2.var);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
ZVAL_BOOL(result, fast_not_equal_function(result,
_get_zval_ptr_var(opline->op1.var, execute_data, &free_op1 TSRMLS_CC),
_get_zval_ptr_tmp(opline->op2.var, execute_data, &free_op2 TSRMLS_CC) TSRMLS_CC));
- zval_ptr_dtor(&free_op1.var);
+ zval_ptr_dtor_nogc(&free_op1.var);
zval_dtor(free_op2.var);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
ZVAL_BOOL(result, fast_is_smaller_function(result,
_get_zval_ptr_var(opline->op1.var, execute_data, &free_op1 TSRMLS_CC),
_get_zval_ptr_tmp(opline->op2.var, execute_data, &free_op2 TSRMLS_CC) TSRMLS_CC));
- zval_ptr_dtor(&free_op1.var);
+ zval_ptr_dtor_nogc(&free_op1.var);
zval_dtor(free_op2.var);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
ZVAL_BOOL(result, fast_is_smaller_or_equal_function(result,
_get_zval_ptr_var(opline->op1.var, execute_data, &free_op1 TSRMLS_CC),
_get_zval_ptr_tmp(opline->op2.var, execute_data, &free_op2 TSRMLS_CC) TSRMLS_CC));
- zval_ptr_dtor(&free_op1.var);
+ zval_ptr_dtor_nogc(&free_op1.var);
zval_dtor(free_op2.var);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
bitwise_or_function(&EX_T(opline->result.var).tmp_var,
_get_zval_ptr_var(opline->op1.var, execute_data, &free_op1 TSRMLS_CC),
_get_zval_ptr_tmp(opline->op2.var, execute_data, &free_op2 TSRMLS_CC) TSRMLS_CC);
- zval_ptr_dtor(&free_op1.var);
+ zval_ptr_dtor_nogc(&free_op1.var);
zval_dtor(free_op2.var);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
bitwise_and_function(&EX_T(opline->result.var).tmp_var,
_get_zval_ptr_var(opline->op1.var, execute_data, &free_op1 TSRMLS_CC),
_get_zval_ptr_tmp(opline->op2.var, execute_data, &free_op2 TSRMLS_CC) TSRMLS_CC);
- zval_ptr_dtor(&free_op1.var);
+ zval_ptr_dtor_nogc(&free_op1.var);
zval_dtor(free_op2.var);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
bitwise_xor_function(&EX_T(opline->result.var).tmp_var,
_get_zval_ptr_var(opline->op1.var, execute_data, &free_op1 TSRMLS_CC),
_get_zval_ptr_tmp(opline->op2.var, execute_data, &free_op2 TSRMLS_CC) TSRMLS_CC);
- zval_ptr_dtor(&free_op1.var);
+ zval_ptr_dtor_nogc(&free_op1.var);
zval_dtor(free_op2.var);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
boolean_xor_function(&EX_T(opline->result.var).tmp_var,
_get_zval_ptr_var(opline->op1.var, execute_data, &free_op1 TSRMLS_CC),
_get_zval_ptr_tmp(opline->op2.var, execute_data, &free_op2 TSRMLS_CC) TSRMLS_CC);
- zval_ptr_dtor(&free_op1.var);
+ zval_ptr_dtor_nogc(&free_op1.var);
zval_dtor(free_op2.var);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
FREE_OP(free_op_data1);
}
- if (free_op1.var) {zval_ptr_dtor(&free_op1.var);};
+ if (free_op1.var) {zval_ptr_dtor_nogc(&free_op1.var);};
/* assign_obj has two opcodes! */
CHECK_EXCEPTION();
ZEND_VM_INC_OPCODE();
AI_SET_PTR(&EX_T(opline->result.var), &EG(uninitialized_zval));
}
zval_dtor(free_op2.var);
- if (free_op1.var) {zval_ptr_dtor(&free_op1.var);};
+ if (free_op1.var) {zval_ptr_dtor_nogc(&free_op1.var);};
CHECK_EXCEPTION();
if (opline->extended_value == ZEND_ASSIGN_DIM) {
ZEND_VM_INC_OPCODE();
if (opline->extended_value == ZEND_ASSIGN_DIM) {
FREE_OP(free_op_data1);
FREE_OP_VAR_PTR(free_op_data2);
- if (free_op1.var) {zval_ptr_dtor(&free_op1.var);};
+ if (free_op1.var) {zval_ptr_dtor_nogc(&free_op1.var);};
CHECK_EXCEPTION();
ZEND_VM_INC_OPCODE();
} else {
- if (free_op1.var) {zval_ptr_dtor(&free_op1.var);};
+ if (free_op1.var) {zval_ptr_dtor_nogc(&free_op1.var);};
CHECK_EXCEPTION();
}
ZEND_VM_NEXT_OPCODE();
PZVAL_LOCK(&EG(uninitialized_zval));
*retval = &EG(uninitialized_zval);
}
- if (free_op1.var) {zval_ptr_dtor(&free_op1.var);};
+ if (free_op1.var) {zval_ptr_dtor_nogc(&free_op1.var);};
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
} else {
zval_dtor(free_op2.var);
}
- if (free_op1.var) {zval_ptr_dtor(&free_op1.var);};
+ if (free_op1.var) {zval_ptr_dtor_nogc(&free_op1.var);};
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
zend_error(E_WARNING, "Attempt to increment/decrement property of non-object");
zval_dtor(free_op2.var);
ZVAL_NULL(retval);
- if (free_op1.var) {zval_ptr_dtor(&free_op1.var);};
+ if (free_op1.var) {zval_ptr_dtor_nogc(&free_op1.var);};
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
} else {
zval_dtor(free_op2.var);
}
- if (free_op1.var) {zval_ptr_dtor(&free_op1.var);};
+ if (free_op1.var) {zval_ptr_dtor_nogc(&free_op1.var);};
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
zval *container = _get_zval_ptr_var(opline->op1.var, execute_data, &free_op1 TSRMLS_CC);
zend_fetch_dimension_address_read(&EX_T(opline->result.var), &container, _get_zval_ptr_tmp(opline->op2.var, execute_data, &free_op2 TSRMLS_CC), IS_TMP_VAR, BP_VAR_R TSRMLS_CC);
zval_dtor(free_op2.var);
- zval_ptr_dtor(&free_op1.var);
+ zval_ptr_dtor_nogc(&free_op1.var);
} else {
container = _get_zval_ptr_ptr_var_fast(opline->op1.var, execute_data, &free_op1 TSRMLS_CC);
zend_fetch_dimension_address_read(&EX_T(opline->result.var), container, _get_zval_ptr_tmp(opline->op2.var, execute_data, &free_op2 TSRMLS_CC), IS_TMP_VAR, BP_VAR_R TSRMLS_CC);
zval_dtor(free_op2.var);
if (IS_VAR == IS_VAR && !(opline->extended_value & ZEND_FETCH_ADD_LOCK)) {
- zval_ptr_dtor(&free_op1.var);
+ zval_ptr_dtor_nogc(&free_op1.var);
}
}
if (IS_VAR == IS_VAR && (free_op1.var != NULL) && READY_TO_DESTROY(free_op1.var)) {
EXTRACT_ZVAL_PTR(&EX_T(opline->result.var));
}
- if (free_op1.var) {zval_ptr_dtor(&free_op1.var);};
+ if (free_op1.var) {zval_ptr_dtor_nogc(&free_op1.var);};
/* We are going to assign the result by reference */
if (UNEXPECTED(opline->extended_value != 0)) {
if (IS_VAR == IS_VAR && (free_op1.var != NULL) && READY_TO_DESTROY(free_op1.var)) {
EXTRACT_ZVAL_PTR(&EX_T(opline->result.var));
}
- if (free_op1.var) {zval_ptr_dtor(&free_op1.var);};
+ if (free_op1.var) {zval_ptr_dtor_nogc(&free_op1.var);};
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
container = _get_zval_ptr_ptr_var_fast(opline->op1.var, execute_data, &free_op1 TSRMLS_CC);
zend_fetch_dimension_address_read(&EX_T(opline->result.var), container, _get_zval_ptr_tmp(opline->op2.var, execute_data, &free_op2 TSRMLS_CC), IS_TMP_VAR, BP_VAR_IS TSRMLS_CC);
zval_dtor(free_op2.var);
- zval_ptr_dtor(&free_op1.var);
+ zval_ptr_dtor_nogc(&free_op1.var);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
EXTRACT_ZVAL_PTR(&EX_T(opline->result.var));
}
zval_dtor(free_op2.var);
- if (free_op1.var) {zval_ptr_dtor(&free_op1.var);};
+ if (free_op1.var) {zval_ptr_dtor_nogc(&free_op1.var);};
} else {
if (IS_TMP_VAR == IS_UNUSED) {
zend_error_noreturn(E_ERROR, "Cannot use [] for reading");
container = _get_zval_ptr_ptr_var_fast(opline->op1.var, execute_data, &free_op1 TSRMLS_CC);
zend_fetch_dimension_address_read(&EX_T(opline->result.var), container, _get_zval_ptr_tmp(opline->op2.var, execute_data, &free_op2 TSRMLS_CC), IS_TMP_VAR, BP_VAR_R TSRMLS_CC);
zval_dtor(free_op2.var);
- zval_ptr_dtor(&free_op1.var);
+ zval_ptr_dtor_nogc(&free_op1.var);
}
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
if (IS_VAR == IS_VAR && (free_op1.var != NULL) && READY_TO_DESTROY(free_op1.var)) {
EXTRACT_ZVAL_PTR(&EX_T(opline->result.var));
}
- if (free_op1.var) {zval_ptr_dtor(&free_op1.var);};
+ if (free_op1.var) {zval_ptr_dtor_nogc(&free_op1.var);};
if (UNEXPECTED(EX_T(opline->result.var).var.ptr_ptr == NULL)) {
zend_error_noreturn(E_ERROR, "Cannot unset string offsets");
ZEND_VM_NEXT_OPCODE();
}
}
- zval_ptr_dtor(&free_op1.var);
+ zval_ptr_dtor_nogc(&free_op1.var);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
if (IS_VAR == IS_VAR && (free_op1.var != NULL) && READY_TO_DESTROY(free_op1.var)) {
EXTRACT_ZVAL_PTR(&EX_T(opline->result.var));
}
- if (free_op1.var) {zval_ptr_dtor(&free_op1.var);};
+ if (free_op1.var) {zval_ptr_dtor_nogc(&free_op1.var);};
/* We are going to assign the result by reference */
if (opline->extended_value & ZEND_FETCH_MAKE_REF) {
if (IS_VAR == IS_VAR && (free_op1.var != NULL) && READY_TO_DESTROY(free_op1.var)) {
EXTRACT_ZVAL_PTR(&EX_T(opline->result.var));
}
- if (free_op1.var) {zval_ptr_dtor(&free_op1.var);};
+ if (free_op1.var) {zval_ptr_dtor_nogc(&free_op1.var);};
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
}
}
- zval_ptr_dtor(&free_op1.var);
+ zval_ptr_dtor_nogc(&free_op1.var);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
if (IS_VAR == IS_VAR && (free_op1.var != NULL) && READY_TO_DESTROY(free_op1.var)) {
EXTRACT_ZVAL_PTR(&EX_T(opline->result.var));
}
- if (free_op1.var) {zval_ptr_dtor(&free_op1.var);};
+ if (free_op1.var) {zval_ptr_dtor_nogc(&free_op1.var);};
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
} else {
if (IS_VAR == IS_VAR && (free_op1.var != NULL) && READY_TO_DESTROY(free_op1.var)) {
EXTRACT_ZVAL_PTR(&EX_T(opline->result.var));
}
- if (free_op1.var) {zval_ptr_dtor(&free_op1.var);};
+ if (free_op1.var) {zval_ptr_dtor_nogc(&free_op1.var);};
PZVAL_UNLOCK(*EX_T(opline->result.var).var.ptr_ptr, &free_res);
if (EX_T(opline->result.var).var.ptr_ptr != &EG(uninitialized_zval_ptr)) {
} else {
zval_dtor(free_op2.var);
}
- if (free_op1.var) {zval_ptr_dtor(&free_op1.var);};
+ if (free_op1.var) {zval_ptr_dtor_nogc(&free_op1.var);};
/* assign_obj has two opcodes! */
CHECK_EXCEPTION();
ZEND_VM_INC_OPCODE();
FREE_OP_VAR_PTR(free_op_data2);
FREE_OP_IF_VAR(free_op_data1);
}
- if (free_op1.var) {zval_ptr_dtor(&free_op1.var);};
+ if (free_op1.var) {zval_ptr_dtor_nogc(&free_op1.var);};
/* assign_dim has two opcodes! */
CHECK_EXCEPTION();
ZEND_VM_INC_OPCODE();
}
}
- if (free_op1.var) {zval_ptr_dtor(&free_op1.var);};
+ if (free_op1.var) {zval_ptr_dtor_nogc(&free_op1.var);};
/* zend_assign_to_variable() always takes care of op2, never free it! */
EX(call) = call;
zval_dtor(free_op2.var);
- zval_ptr_dtor(&free_op1.var);
+ zval_ptr_dtor_nogc(&free_op1.var);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
INIT_PZVAL_COPY(new_expr, expr_ptr);
expr_ptr = new_expr;
zendi_zval_copy_ctor(*expr_ptr);
- zval_ptr_dtor(&free_op1.var);
+ zval_ptr_dtor_nogc(&free_op1.var);
} else if (IS_VAR == IS_CV) {
Z_ADDREF_P(expr_ptr);
}
zend_hash_next_index_insert(Z_ARRVAL(EX_T(opline->result.var).tmp_var), &expr_ptr, sizeof(zval *), NULL);
}
if ((IS_VAR == IS_VAR || IS_VAR == IS_CV) && opline->extended_value) {
- if (free_op1.var) {zval_ptr_dtor(&free_op1.var);};
+ if (free_op1.var) {zval_ptr_dtor_nogc(&free_op1.var);};
}
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
} else {
zval_dtor(free_op2.var);
}
- if (free_op1.var) {zval_ptr_dtor(&free_op1.var);};
+ if (free_op1.var) {zval_ptr_dtor_nogc(&free_op1.var);};
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
} else {
zval_dtor(free_op2.var);
}
- if (free_op1.var) {zval_ptr_dtor(&free_op1.var);};
+ if (free_op1.var) {zval_ptr_dtor_nogc(&free_op1.var);};
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
Z_LVAL(EX_T(opline->result.var).tmp_var) = !result;
}
- zval_ptr_dtor(&free_op1.var);
+ zval_ptr_dtor_nogc(&free_op1.var);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
generator->value = *value_ptr;
}
- if (free_op1.var) {zval_ptr_dtor(&free_op1.var);};
+ if (free_op1.var) {zval_ptr_dtor_nogc(&free_op1.var);};
}
} else {
zval *value = _get_zval_ptr_var(opline->op1.var, execute_data, &free_op1 TSRMLS_CC);
}
generator->value = copy;
- zval_ptr_dtor(&free_op1.var);
+ zval_ptr_dtor_nogc(&free_op1.var);
} else {
if (IS_VAR == IS_CV) {
Z_ADDREF_P(value);
fast_add_function(&EX_T(opline->result.var).tmp_var,
_get_zval_ptr_var(opline->op1.var, execute_data, &free_op1 TSRMLS_CC),
_get_zval_ptr_var(opline->op2.var, execute_data, &free_op2 TSRMLS_CC) TSRMLS_CC);
- zval_ptr_dtor(&free_op1.var);
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op1.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
fast_sub_function(&EX_T(opline->result.var).tmp_var,
_get_zval_ptr_var(opline->op1.var, execute_data, &free_op1 TSRMLS_CC),
_get_zval_ptr_var(opline->op2.var, execute_data, &free_op2 TSRMLS_CC) TSRMLS_CC);
- zval_ptr_dtor(&free_op1.var);
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op1.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
fast_mul_function(&EX_T(opline->result.var).tmp_var,
_get_zval_ptr_var(opline->op1.var, execute_data, &free_op1 TSRMLS_CC),
_get_zval_ptr_var(opline->op2.var, execute_data, &free_op2 TSRMLS_CC) TSRMLS_CC);
- zval_ptr_dtor(&free_op1.var);
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op1.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
fast_div_function(&EX_T(opline->result.var).tmp_var,
_get_zval_ptr_var(opline->op1.var, execute_data, &free_op1 TSRMLS_CC),
_get_zval_ptr_var(opline->op2.var, execute_data, &free_op2 TSRMLS_CC) TSRMLS_CC);
- zval_ptr_dtor(&free_op1.var);
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op1.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
fast_mod_function(&EX_T(opline->result.var).tmp_var,
_get_zval_ptr_var(opline->op1.var, execute_data, &free_op1 TSRMLS_CC),
_get_zval_ptr_var(opline->op2.var, execute_data, &free_op2 TSRMLS_CC) TSRMLS_CC);
- zval_ptr_dtor(&free_op1.var);
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op1.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
shift_left_function(&EX_T(opline->result.var).tmp_var,
_get_zval_ptr_var(opline->op1.var, execute_data, &free_op1 TSRMLS_CC),
_get_zval_ptr_var(opline->op2.var, execute_data, &free_op2 TSRMLS_CC) TSRMLS_CC);
- zval_ptr_dtor(&free_op1.var);
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op1.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
shift_right_function(&EX_T(opline->result.var).tmp_var,
_get_zval_ptr_var(opline->op1.var, execute_data, &free_op1 TSRMLS_CC),
_get_zval_ptr_var(opline->op2.var, execute_data, &free_op2 TSRMLS_CC) TSRMLS_CC);
- zval_ptr_dtor(&free_op1.var);
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op1.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
concat_function(&EX_T(opline->result.var).tmp_var,
_get_zval_ptr_var(opline->op1.var, execute_data, &free_op1 TSRMLS_CC),
_get_zval_ptr_var(opline->op2.var, execute_data, &free_op2 TSRMLS_CC) TSRMLS_CC);
- zval_ptr_dtor(&free_op1.var);
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op1.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
is_identical_function(&EX_T(opline->result.var).tmp_var,
_get_zval_ptr_var(opline->op1.var, execute_data, &free_op1 TSRMLS_CC),
_get_zval_ptr_var(opline->op2.var, execute_data, &free_op2 TSRMLS_CC) TSRMLS_CC);
- zval_ptr_dtor(&free_op1.var);
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op1.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
_get_zval_ptr_var(opline->op1.var, execute_data, &free_op1 TSRMLS_CC),
_get_zval_ptr_var(opline->op2.var, execute_data, &free_op2 TSRMLS_CC) TSRMLS_CC);
Z_LVAL_P(result) = !Z_LVAL_P(result);
- zval_ptr_dtor(&free_op1.var);
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op1.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
ZVAL_BOOL(result, fast_equal_function(result,
_get_zval_ptr_var(opline->op1.var, execute_data, &free_op1 TSRMLS_CC),
_get_zval_ptr_var(opline->op2.var, execute_data, &free_op2 TSRMLS_CC) TSRMLS_CC));
- zval_ptr_dtor(&free_op1.var);
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op1.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
ZVAL_BOOL(result, fast_not_equal_function(result,
_get_zval_ptr_var(opline->op1.var, execute_data, &free_op1 TSRMLS_CC),
_get_zval_ptr_var(opline->op2.var, execute_data, &free_op2 TSRMLS_CC) TSRMLS_CC));
- zval_ptr_dtor(&free_op1.var);
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op1.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
ZVAL_BOOL(result, fast_is_smaller_function(result,
_get_zval_ptr_var(opline->op1.var, execute_data, &free_op1 TSRMLS_CC),
_get_zval_ptr_var(opline->op2.var, execute_data, &free_op2 TSRMLS_CC) TSRMLS_CC));
- zval_ptr_dtor(&free_op1.var);
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op1.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
ZVAL_BOOL(result, fast_is_smaller_or_equal_function(result,
_get_zval_ptr_var(opline->op1.var, execute_data, &free_op1 TSRMLS_CC),
_get_zval_ptr_var(opline->op2.var, execute_data, &free_op2 TSRMLS_CC) TSRMLS_CC));
- zval_ptr_dtor(&free_op1.var);
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op1.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
bitwise_or_function(&EX_T(opline->result.var).tmp_var,
_get_zval_ptr_var(opline->op1.var, execute_data, &free_op1 TSRMLS_CC),
_get_zval_ptr_var(opline->op2.var, execute_data, &free_op2 TSRMLS_CC) TSRMLS_CC);
- zval_ptr_dtor(&free_op1.var);
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op1.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
bitwise_and_function(&EX_T(opline->result.var).tmp_var,
_get_zval_ptr_var(opline->op1.var, execute_data, &free_op1 TSRMLS_CC),
_get_zval_ptr_var(opline->op2.var, execute_data, &free_op2 TSRMLS_CC) TSRMLS_CC);
- zval_ptr_dtor(&free_op1.var);
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op1.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
bitwise_xor_function(&EX_T(opline->result.var).tmp_var,
_get_zval_ptr_var(opline->op1.var, execute_data, &free_op1 TSRMLS_CC),
_get_zval_ptr_var(opline->op2.var, execute_data, &free_op2 TSRMLS_CC) TSRMLS_CC);
- zval_ptr_dtor(&free_op1.var);
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op1.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
boolean_xor_function(&EX_T(opline->result.var).tmp_var,
_get_zval_ptr_var(opline->op1.var, execute_data, &free_op1 TSRMLS_CC),
_get_zval_ptr_var(opline->op2.var, execute_data, &free_op2 TSRMLS_CC) TSRMLS_CC);
- zval_ptr_dtor(&free_op1.var);
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op1.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
if (UNEXPECTED(Z_TYPE_P(object) != IS_OBJECT)) {
zend_error(E_WARNING, "Attempt to assign property of non-object");
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
FREE_OP(free_op_data1);
if (RETURN_VALUE_USED(opline)) {
if (0) {
zval_ptr_dtor(&property);
} else {
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
}
FREE_OP(free_op_data1);
}
- if (free_op1.var) {zval_ptr_dtor(&free_op1.var);};
+ if (free_op1.var) {zval_ptr_dtor_nogc(&free_op1.var);};
/* assign_obj has two opcodes! */
CHECK_EXCEPTION();
ZEND_VM_INC_OPCODE();
PZVAL_LOCK(&EG(uninitialized_zval));
AI_SET_PTR(&EX_T(opline->result.var), &EG(uninitialized_zval));
}
- zval_ptr_dtor(&free_op2.var);
- if (free_op1.var) {zval_ptr_dtor(&free_op1.var);};
+ zval_ptr_dtor_nogc(&free_op2.var);
+ if (free_op1.var) {zval_ptr_dtor_nogc(&free_op1.var);};
CHECK_EXCEPTION();
if (opline->extended_value == ZEND_ASSIGN_DIM) {
ZEND_VM_INC_OPCODE();
PZVAL_LOCK(*var_ptr);
AI_SET_PTR(&EX_T(opline->result.var), *var_ptr);
}
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
if (opline->extended_value == ZEND_ASSIGN_DIM) {
FREE_OP(free_op_data1);
FREE_OP_VAR_PTR(free_op_data2);
- if (free_op1.var) {zval_ptr_dtor(&free_op1.var);};
+ if (free_op1.var) {zval_ptr_dtor_nogc(&free_op1.var);};
CHECK_EXCEPTION();
ZEND_VM_INC_OPCODE();
} else {
- if (free_op1.var) {zval_ptr_dtor(&free_op1.var);};
+ if (free_op1.var) {zval_ptr_dtor_nogc(&free_op1.var);};
CHECK_EXCEPTION();
}
ZEND_VM_NEXT_OPCODE();
if (UNEXPECTED(Z_TYPE_P(object) != IS_OBJECT)) {
zend_error(E_WARNING, "Attempt to increment/decrement property of non-object");
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
if (RETURN_VALUE_USED(opline)) {
PZVAL_LOCK(&EG(uninitialized_zval));
*retval = &EG(uninitialized_zval);
}
- if (free_op1.var) {zval_ptr_dtor(&free_op1.var);};
+ if (free_op1.var) {zval_ptr_dtor_nogc(&free_op1.var);};
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
if (0) {
zval_ptr_dtor(&property);
} else {
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
}
- if (free_op1.var) {zval_ptr_dtor(&free_op1.var);};
+ if (free_op1.var) {zval_ptr_dtor_nogc(&free_op1.var);};
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
if (UNEXPECTED(Z_TYPE_P(object) != IS_OBJECT)) {
zend_error(E_WARNING, "Attempt to increment/decrement property of non-object");
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
ZVAL_NULL(retval);
- if (free_op1.var) {zval_ptr_dtor(&free_op1.var);};
+ if (free_op1.var) {zval_ptr_dtor_nogc(&free_op1.var);};
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
if (0) {
zval_ptr_dtor(&property);
} else {
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
}
- if (free_op1.var) {zval_ptr_dtor(&free_op1.var);};
+ if (free_op1.var) {zval_ptr_dtor_nogc(&free_op1.var);};
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
if (IS_VAR != IS_CONST && varname == &tmp_varname) {
zval_dtor(&tmp_varname);
}
- zval_ptr_dtor(&free_op1.var);
+ zval_ptr_dtor_nogc(&free_op1.var);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
ce = EX_T(opline->op2.var).class_entry;
}
retval = zend_std_get_static_property(ce, Z_STRVAL_P(varname), Z_STRLEN_P(varname), 0, ((IS_VAR == IS_CONST) ? opline->op1.literal : NULL) TSRMLS_CC);
- zval_ptr_dtor(&free_op1.var);
+ zval_ptr_dtor_nogc(&free_op1.var);
} else {
target_symbol_table = zend_get_target_symbol_table(opline->extended_value & ZEND_FETCH_TYPE_MASK TSRMLS_CC);
/*
switch (opline->extended_value & ZEND_FETCH_TYPE_MASK) {
case ZEND_FETCH_GLOBAL:
if (IS_VAR != IS_TMP_VAR) {
- zval_ptr_dtor(&free_op1.var);
+ zval_ptr_dtor_nogc(&free_op1.var);
}
break;
case ZEND_FETCH_LOCAL:
- zval_ptr_dtor(&free_op1.var);
+ zval_ptr_dtor_nogc(&free_op1.var);
break;
case ZEND_FETCH_STATIC:
zval_update_constant(retval, (void*) 1 TSRMLS_CC);
if (IS_VAR == IS_TMP_VAR || IS_VAR == IS_CONST) {
zval *container = _get_zval_ptr_var(opline->op1.var, execute_data, &free_op1 TSRMLS_CC);
zend_fetch_dimension_address_read(&EX_T(opline->result.var), &container, _get_zval_ptr_var(opline->op2.var, execute_data, &free_op2 TSRMLS_CC), IS_VAR, BP_VAR_R TSRMLS_CC);
- zval_ptr_dtor(&free_op2.var);
- zval_ptr_dtor(&free_op1.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op1.var);
} else {
container = _get_zval_ptr_ptr_var_fast(opline->op1.var, execute_data, &free_op1 TSRMLS_CC);
zend_fetch_dimension_address_read(&EX_T(opline->result.var), container, _get_zval_ptr_var(opline->op2.var, execute_data, &free_op2 TSRMLS_CC), IS_VAR, BP_VAR_R TSRMLS_CC);
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
if (IS_VAR == IS_VAR && !(opline->extended_value & ZEND_FETCH_ADD_LOCK)) {
- zval_ptr_dtor(&free_op1.var);
+ zval_ptr_dtor_nogc(&free_op1.var);
}
}
zend_error_noreturn(E_ERROR, "Cannot use string offset as an array");
}
zend_fetch_dimension_address(&EX_T(opline->result.var), container, _get_zval_ptr_var(opline->op2.var, execute_data, &free_op2 TSRMLS_CC), IS_VAR, BP_VAR_W TSRMLS_CC);
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
if (IS_VAR == IS_VAR && (free_op1.var != NULL) && READY_TO_DESTROY(free_op1.var)) {
EXTRACT_ZVAL_PTR(&EX_T(opline->result.var));
}
- if (free_op1.var) {zval_ptr_dtor(&free_op1.var);};
+ if (free_op1.var) {zval_ptr_dtor_nogc(&free_op1.var);};
/* We are going to assign the result by reference */
if (UNEXPECTED(opline->extended_value != 0)) {
zend_error_noreturn(E_ERROR, "Cannot use string offset as an array");
}
zend_fetch_dimension_address(&EX_T(opline->result.var), container, _get_zval_ptr_var(opline->op2.var, execute_data, &free_op2 TSRMLS_CC), IS_VAR, BP_VAR_RW TSRMLS_CC);
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
if (IS_VAR == IS_VAR && (free_op1.var != NULL) && READY_TO_DESTROY(free_op1.var)) {
EXTRACT_ZVAL_PTR(&EX_T(opline->result.var));
}
- if (free_op1.var) {zval_ptr_dtor(&free_op1.var);};
+ if (free_op1.var) {zval_ptr_dtor_nogc(&free_op1.var);};
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
SAVE_OPLINE();
container = _get_zval_ptr_ptr_var_fast(opline->op1.var, execute_data, &free_op1 TSRMLS_CC);
zend_fetch_dimension_address_read(&EX_T(opline->result.var), container, _get_zval_ptr_var(opline->op2.var, execute_data, &free_op2 TSRMLS_CC), IS_VAR, BP_VAR_IS TSRMLS_CC);
- zval_ptr_dtor(&free_op2.var);
- zval_ptr_dtor(&free_op1.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op1.var);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
if (IS_VAR == IS_VAR && (free_op1.var != NULL) && READY_TO_DESTROY(free_op1.var)) {
EXTRACT_ZVAL_PTR(&EX_T(opline->result.var));
}
- zval_ptr_dtor(&free_op2.var);
- if (free_op1.var) {zval_ptr_dtor(&free_op1.var);};
+ zval_ptr_dtor_nogc(&free_op2.var);
+ if (free_op1.var) {zval_ptr_dtor_nogc(&free_op1.var);};
} else {
if (IS_VAR == IS_UNUSED) {
zend_error_noreturn(E_ERROR, "Cannot use [] for reading");
}
container = _get_zval_ptr_ptr_var_fast(opline->op1.var, execute_data, &free_op1 TSRMLS_CC);
zend_fetch_dimension_address_read(&EX_T(opline->result.var), container, _get_zval_ptr_var(opline->op2.var, execute_data, &free_op2 TSRMLS_CC), IS_VAR, BP_VAR_R TSRMLS_CC);
- zval_ptr_dtor(&free_op2.var);
- zval_ptr_dtor(&free_op1.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op1.var);
}
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
zend_error_noreturn(E_ERROR, "Cannot use string offset as an array");
}
zend_fetch_dimension_address(&EX_T(opline->result.var), container, _get_zval_ptr_var(opline->op2.var, execute_data, &free_op2 TSRMLS_CC), IS_VAR, BP_VAR_UNSET TSRMLS_CC);
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
if (IS_VAR == IS_VAR && (free_op1.var != NULL) && READY_TO_DESTROY(free_op1.var)) {
EXTRACT_ZVAL_PTR(&EX_T(opline->result.var));
}
- if (free_op1.var) {zval_ptr_dtor(&free_op1.var);};
+ if (free_op1.var) {zval_ptr_dtor_nogc(&free_op1.var);};
if (UNEXPECTED(EX_T(opline->result.var).var.ptr_ptr == NULL)) {
zend_error_noreturn(E_ERROR, "Cannot unset string offsets");
ZEND_VM_NEXT_OPCODE();
zend_error(E_NOTICE, "Trying to get property of non-object");
PZVAL_LOCK(&EG(uninitialized_zval));
AI_SET_PTR(&EX_T(opline->result.var), &EG(uninitialized_zval));
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
} else {
zval *retval;
if (0) {
zval_ptr_dtor(&offset);
} else {
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
}
}
- zval_ptr_dtor(&free_op1.var);
+ zval_ptr_dtor_nogc(&free_op1.var);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
if (0) {
zval_ptr_dtor(&property);
} else {
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
}
if (IS_VAR == IS_VAR && (free_op1.var != NULL) && READY_TO_DESTROY(free_op1.var)) {
EXTRACT_ZVAL_PTR(&EX_T(opline->result.var));
}
- if (free_op1.var) {zval_ptr_dtor(&free_op1.var);};
+ if (free_op1.var) {zval_ptr_dtor_nogc(&free_op1.var);};
/* We are going to assign the result by reference */
if (opline->extended_value & ZEND_FETCH_MAKE_REF) {
if (0) {
zval_ptr_dtor(&property);
} else {
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
}
if (IS_VAR == IS_VAR && (free_op1.var != NULL) && READY_TO_DESTROY(free_op1.var)) {
EXTRACT_ZVAL_PTR(&EX_T(opline->result.var));
}
- if (free_op1.var) {zval_ptr_dtor(&free_op1.var);};
+ if (free_op1.var) {zval_ptr_dtor_nogc(&free_op1.var);};
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
UNEXPECTED(Z_OBJ_HT_P(container)->read_property == NULL)) {
PZVAL_LOCK(&EG(uninitialized_zval));
AI_SET_PTR(&EX_T(opline->result.var), &EG(uninitialized_zval));
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
} else {
zval *retval;
if (0) {
zval_ptr_dtor(&offset);
} else {
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
}
}
- zval_ptr_dtor(&free_op1.var);
+ zval_ptr_dtor_nogc(&free_op1.var);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
if (0) {
zval_ptr_dtor(&property);
} else {
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
}
if (IS_VAR == IS_VAR && (free_op1.var != NULL) && READY_TO_DESTROY(free_op1.var)) {
EXTRACT_ZVAL_PTR(&EX_T(opline->result.var));
}
- if (free_op1.var) {zval_ptr_dtor(&free_op1.var);};
+ if (free_op1.var) {zval_ptr_dtor_nogc(&free_op1.var);};
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
} else {
if (0) {
zval_ptr_dtor(&property);
} else {
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
}
if (IS_VAR == IS_VAR && (free_op1.var != NULL) && READY_TO_DESTROY(free_op1.var)) {
EXTRACT_ZVAL_PTR(&EX_T(opline->result.var));
}
- if (free_op1.var) {zval_ptr_dtor(&free_op1.var);};
+ if (free_op1.var) {zval_ptr_dtor_nogc(&free_op1.var);};
PZVAL_UNLOCK(*EX_T(opline->result.var).var.ptr_ptr, &free_res);
if (EX_T(opline->result.var).var.ptr_ptr != &EG(uninitialized_zval_ptr)) {
if (0) {
zval_ptr_dtor(&property_name);
} else {
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
}
- if (free_op1.var) {zval_ptr_dtor(&free_op1.var);};
+ if (free_op1.var) {zval_ptr_dtor_nogc(&free_op1.var);};
/* assign_obj has two opcodes! */
CHECK_EXCEPTION();
ZEND_VM_INC_OPCODE();
if (0) {
zval_ptr_dtor(&property_name);
} else {
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
}
} else {
zend_free_op free_op2, free_op_data1, free_op_data2;
zval **variable_ptr_ptr;
zend_fetch_dimension_address(&EX_T((opline+1)->op2.var), object_ptr, dim, IS_VAR, BP_VAR_W TSRMLS_CC);
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
value = get_zval_ptr((opline+1)->op1_type, &(opline+1)->op1, execute_data, &free_op_data1, BP_VAR_R);
variable_ptr_ptr = _get_zval_ptr_ptr_var((opline+1)->op2.var, execute_data, &free_op_data2 TSRMLS_CC);
FREE_OP_VAR_PTR(free_op_data2);
FREE_OP_IF_VAR(free_op_data1);
}
- if (free_op1.var) {zval_ptr_dtor(&free_op1.var);};
+ if (free_op1.var) {zval_ptr_dtor_nogc(&free_op1.var);};
/* assign_dim has two opcodes! */
CHECK_EXCEPTION();
ZEND_VM_INC_OPCODE();
}
}
- if (free_op1.var) {zval_ptr_dtor(&free_op1.var);};
+ if (free_op1.var) {zval_ptr_dtor_nogc(&free_op1.var);};
/* zend_assign_to_variable() always takes care of op2, never free it! */
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
zend_error(E_STRICT, "Only variables should be assigned by reference");
if (UNEXPECTED(EG(exception) != NULL)) {
- if (free_op2.var) {zval_ptr_dtor(&free_op2.var);};
+ if (free_op2.var) {zval_ptr_dtor_nogc(&free_op2.var);};
HANDLE_EXCEPTION();
}
return ZEND_ASSIGN_SPEC_VAR_VAR_HANDLER(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
AI_SET_PTR(&EX_T(opline->result.var), *variable_ptr_ptr);
}
- if (free_op1.var) {zval_ptr_dtor(&free_op1.var);};
- if (free_op2.var) {zval_ptr_dtor(&free_op2.var);};
+ if (free_op1.var) {zval_ptr_dtor_nogc(&free_op1.var);};
+ if (free_op2.var) {zval_ptr_dtor_nogc(&free_op2.var);};
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
} else {
if (UNEXPECTED(EG(exception) != NULL)) {
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
HANDLE_EXCEPTION();
}
zend_error_noreturn(E_ERROR, "Call to a member function %s() on a non-object", function_name_strval);
call->is_ctor_call = 0;
EX(call) = call;
- zval_ptr_dtor(&free_op2.var);
- zval_ptr_dtor(&free_op1.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op1.var);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
}
if (IS_VAR != IS_CONST) {
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
}
} else {
if (UNEXPECTED(ce->constructor == NULL)) {
_get_zval_ptr_var(opline->op1.var, execute_data, &free_op1 TSRMLS_CC),
_get_zval_ptr_var(opline->op2.var, execute_data, &free_op2 TSRMLS_CC) TSRMLS_CC);
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
INIT_PZVAL_COPY(new_expr, expr_ptr);
expr_ptr = new_expr;
zendi_zval_copy_ctor(*expr_ptr);
- zval_ptr_dtor(&free_op1.var);
+ zval_ptr_dtor_nogc(&free_op1.var);
} else if (IS_VAR == IS_CV) {
Z_ADDREF_P(expr_ptr);
}
/* do nothing */
break;
}
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
} else {
zend_hash_next_index_insert(Z_ARRVAL(EX_T(opline->result.var).tmp_var), &expr_ptr, sizeof(zval *), NULL);
}
if ((IS_VAR == IS_VAR || IS_VAR == IS_CV) && opline->extended_value) {
- if (free_op1.var) {zval_ptr_dtor(&free_op1.var);};
+ if (free_op1.var) {zval_ptr_dtor_nogc(&free_op1.var);};
}
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
} else if (IS_VAR == IS_VAR || IS_VAR == IS_CV) {
zval_ptr_dtor(&varname);
}
- zval_ptr_dtor(&free_op1.var);
+ zval_ptr_dtor_nogc(&free_op1.var);
HANDLE_EXCEPTION();
}
if (UNEXPECTED(ce == NULL)) {
} else if (IS_VAR == IS_VAR || IS_VAR == IS_CV) {
zval_ptr_dtor(&varname);
}
- zval_ptr_dtor(&free_op1.var);
+ zval_ptr_dtor_nogc(&free_op1.var);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
zend_error(E_WARNING, "Illegal offset type in unset");
break;
}
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
break;
}
case IS_OBJECT:
if (0) {
zval_ptr_dtor(&offset);
} else {
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
}
break;
case IS_STRING:
zend_error_noreturn(E_ERROR, "Cannot unset string offsets");
ZEND_VM_CONTINUE(); /* bailed out before */
default:
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
break;
}
} else {
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
}
- if (free_op1.var) {zval_ptr_dtor(&free_op1.var);};
+ if (free_op1.var) {zval_ptr_dtor_nogc(&free_op1.var);};
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
if (0) {
zval_ptr_dtor(&offset);
} else {
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
}
} else {
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
}
} else {
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
}
- if (free_op1.var) {zval_ptr_dtor(&free_op1.var);};
+ if (free_op1.var) {zval_ptr_dtor_nogc(&free_op1.var);};
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
if (IS_VAR != IS_CONST && varname == &tmp) {
zval_dtor(&tmp);
}
- zval_ptr_dtor(&free_op1.var);
+ zval_ptr_dtor_nogc(&free_op1.var);
}
if (opline->extended_value & ZEND_ISSET) {
result = 1;
}
}
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
} else if (Z_TYPE_P(container) == IS_OBJECT) {
if (0) {
MAKE_REAL_ZVAL_PTR(offset);
if (0) {
zval_ptr_dtor(&offset);
} else {
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
}
} else if (Z_TYPE_P(container) == IS_STRING && !prop_dim) { /* string offsets */
zval tmp;
}
}
}
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
} else {
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
}
Z_TYPE(EX_T(opline->result.var).tmp_var) = IS_BOOL;
Z_LVAL(EX_T(opline->result.var).tmp_var) = !result;
}
- zval_ptr_dtor(&free_op1.var);
+ zval_ptr_dtor_nogc(&free_op1.var);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
generator->value = *value_ptr;
}
- if (free_op1.var) {zval_ptr_dtor(&free_op1.var);};
+ if (free_op1.var) {zval_ptr_dtor_nogc(&free_op1.var);};
}
} else {
zval *value = _get_zval_ptr_var(opline->op1.var, execute_data, &free_op1 TSRMLS_CC);
}
generator->value = copy;
- zval_ptr_dtor(&free_op1.var);
+ zval_ptr_dtor_nogc(&free_op1.var);
} else {
if (IS_VAR == IS_CV) {
Z_ADDREF_P(value);
generator->largest_used_integer_key = Z_LVAL_P(generator->key);
}
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
} else {
/* If no key was specified we use auto-increment keys */
generator->largest_used_integer_key++;
FREE_OP(free_op_data1);
}
- if (free_op1.var) {zval_ptr_dtor(&free_op1.var);};
+ if (free_op1.var) {zval_ptr_dtor_nogc(&free_op1.var);};
/* assign_obj has two opcodes! */
CHECK_EXCEPTION();
ZEND_VM_INC_OPCODE();
AI_SET_PTR(&EX_T(opline->result.var), &EG(uninitialized_zval));
}
- if (free_op1.var) {zval_ptr_dtor(&free_op1.var);};
+ if (free_op1.var) {zval_ptr_dtor_nogc(&free_op1.var);};
CHECK_EXCEPTION();
if (opline->extended_value == ZEND_ASSIGN_DIM) {
ZEND_VM_INC_OPCODE();
if (opline->extended_value == ZEND_ASSIGN_DIM) {
FREE_OP(free_op_data1);
FREE_OP_VAR_PTR(free_op_data2);
- if (free_op1.var) {zval_ptr_dtor(&free_op1.var);};
+ if (free_op1.var) {zval_ptr_dtor_nogc(&free_op1.var);};
CHECK_EXCEPTION();
ZEND_VM_INC_OPCODE();
} else {
- if (free_op1.var) {zval_ptr_dtor(&free_op1.var);};
+ if (free_op1.var) {zval_ptr_dtor_nogc(&free_op1.var);};
CHECK_EXCEPTION();
}
ZEND_VM_NEXT_OPCODE();
if (IS_VAR != IS_CONST && varname == &tmp_varname) {
zval_dtor(&tmp_varname);
}
- zval_ptr_dtor(&free_op1.var);
+ zval_ptr_dtor_nogc(&free_op1.var);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
ce = EX_T(opline->op2.var).class_entry;
}
retval = zend_std_get_static_property(ce, Z_STRVAL_P(varname), Z_STRLEN_P(varname), 0, ((IS_VAR == IS_CONST) ? opline->op1.literal : NULL) TSRMLS_CC);
- zval_ptr_dtor(&free_op1.var);
+ zval_ptr_dtor_nogc(&free_op1.var);
} else {
target_symbol_table = zend_get_target_symbol_table(opline->extended_value & ZEND_FETCH_TYPE_MASK TSRMLS_CC);
/*
switch (opline->extended_value & ZEND_FETCH_TYPE_MASK) {
case ZEND_FETCH_GLOBAL:
if (IS_VAR != IS_TMP_VAR) {
- zval_ptr_dtor(&free_op1.var);
+ zval_ptr_dtor_nogc(&free_op1.var);
}
break;
case ZEND_FETCH_LOCAL:
- zval_ptr_dtor(&free_op1.var);
+ zval_ptr_dtor_nogc(&free_op1.var);
break;
case ZEND_FETCH_STATIC:
zval_update_constant(retval, (void*) 1 TSRMLS_CC);
if (IS_VAR == IS_VAR && (free_op1.var != NULL) && READY_TO_DESTROY(free_op1.var)) {
EXTRACT_ZVAL_PTR(&EX_T(opline->result.var));
}
- if (free_op1.var) {zval_ptr_dtor(&free_op1.var);};
+ if (free_op1.var) {zval_ptr_dtor_nogc(&free_op1.var);};
/* We are going to assign the result by reference */
if (UNEXPECTED(opline->extended_value != 0)) {
if (IS_VAR == IS_VAR && (free_op1.var != NULL) && READY_TO_DESTROY(free_op1.var)) {
EXTRACT_ZVAL_PTR(&EX_T(opline->result.var));
}
- if (free_op1.var) {zval_ptr_dtor(&free_op1.var);};
+ if (free_op1.var) {zval_ptr_dtor_nogc(&free_op1.var);};
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
EXTRACT_ZVAL_PTR(&EX_T(opline->result.var));
}
- if (free_op1.var) {zval_ptr_dtor(&free_op1.var);};
+ if (free_op1.var) {zval_ptr_dtor_nogc(&free_op1.var);};
} else {
if (IS_UNUSED == IS_UNUSED) {
zend_error_noreturn(E_ERROR, "Cannot use [] for reading");
container = _get_zval_ptr_ptr_var_fast(opline->op1.var, execute_data, &free_op1 TSRMLS_CC);
zend_fetch_dimension_address_read(&EX_T(opline->result.var), container, NULL, IS_UNUSED, BP_VAR_R TSRMLS_CC);
- zval_ptr_dtor(&free_op1.var);
+ zval_ptr_dtor_nogc(&free_op1.var);
}
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
FREE_OP_VAR_PTR(free_op_data2);
FREE_OP_IF_VAR(free_op_data1);
}
- if (free_op1.var) {zval_ptr_dtor(&free_op1.var);};
+ if (free_op1.var) {zval_ptr_dtor_nogc(&free_op1.var);};
/* assign_dim has two opcodes! */
CHECK_EXCEPTION();
ZEND_VM_INC_OPCODE();
INIT_PZVAL_COPY(new_expr, expr_ptr);
expr_ptr = new_expr;
zendi_zval_copy_ctor(*expr_ptr);
- zval_ptr_dtor(&free_op1.var);
+ zval_ptr_dtor_nogc(&free_op1.var);
} else if (IS_VAR == IS_CV) {
Z_ADDREF_P(expr_ptr);
}
zend_hash_next_index_insert(Z_ARRVAL(EX_T(opline->result.var).tmp_var), &expr_ptr, sizeof(zval *), NULL);
}
if ((IS_VAR == IS_VAR || IS_VAR == IS_CV) && opline->extended_value) {
- if (free_op1.var) {zval_ptr_dtor(&free_op1.var);};
+ if (free_op1.var) {zval_ptr_dtor_nogc(&free_op1.var);};
}
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
} else if (IS_VAR == IS_VAR || IS_VAR == IS_CV) {
zval_ptr_dtor(&varname);
}
- zval_ptr_dtor(&free_op1.var);
+ zval_ptr_dtor_nogc(&free_op1.var);
HANDLE_EXCEPTION();
}
if (UNEXPECTED(ce == NULL)) {
} else if (IS_VAR == IS_VAR || IS_VAR == IS_CV) {
zval_ptr_dtor(&varname);
}
- zval_ptr_dtor(&free_op1.var);
+ zval_ptr_dtor_nogc(&free_op1.var);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
if (IS_VAR != IS_CONST && varname == &tmp) {
zval_dtor(&tmp);
}
- zval_ptr_dtor(&free_op1.var);
+ zval_ptr_dtor_nogc(&free_op1.var);
}
if (opline->extended_value & ZEND_ISSET) {
generator->value = *value_ptr;
}
- if (free_op1.var) {zval_ptr_dtor(&free_op1.var);};
+ if (free_op1.var) {zval_ptr_dtor_nogc(&free_op1.var);};
}
} else {
zval *value = _get_zval_ptr_var(opline->op1.var, execute_data, &free_op1 TSRMLS_CC);
}
generator->value = copy;
- zval_ptr_dtor(&free_op1.var);
+ zval_ptr_dtor_nogc(&free_op1.var);
} else {
if (IS_VAR == IS_CV) {
Z_ADDREF_P(value);
fast_add_function(&EX_T(opline->result.var).tmp_var,
_get_zval_ptr_var(opline->op1.var, execute_data, &free_op1 TSRMLS_CC),
_get_zval_ptr_cv_BP_VAR_R(execute_data, opline->op2.var TSRMLS_CC) TSRMLS_CC);
- zval_ptr_dtor(&free_op1.var);
+ zval_ptr_dtor_nogc(&free_op1.var);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
fast_sub_function(&EX_T(opline->result.var).tmp_var,
_get_zval_ptr_var(opline->op1.var, execute_data, &free_op1 TSRMLS_CC),
_get_zval_ptr_cv_BP_VAR_R(execute_data, opline->op2.var TSRMLS_CC) TSRMLS_CC);
- zval_ptr_dtor(&free_op1.var);
+ zval_ptr_dtor_nogc(&free_op1.var);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
fast_mul_function(&EX_T(opline->result.var).tmp_var,
_get_zval_ptr_var(opline->op1.var, execute_data, &free_op1 TSRMLS_CC),
_get_zval_ptr_cv_BP_VAR_R(execute_data, opline->op2.var TSRMLS_CC) TSRMLS_CC);
- zval_ptr_dtor(&free_op1.var);
+ zval_ptr_dtor_nogc(&free_op1.var);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
fast_div_function(&EX_T(opline->result.var).tmp_var,
_get_zval_ptr_var(opline->op1.var, execute_data, &free_op1 TSRMLS_CC),
_get_zval_ptr_cv_BP_VAR_R(execute_data, opline->op2.var TSRMLS_CC) TSRMLS_CC);
- zval_ptr_dtor(&free_op1.var);
+ zval_ptr_dtor_nogc(&free_op1.var);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
fast_mod_function(&EX_T(opline->result.var).tmp_var,
_get_zval_ptr_var(opline->op1.var, execute_data, &free_op1 TSRMLS_CC),
_get_zval_ptr_cv_BP_VAR_R(execute_data, opline->op2.var TSRMLS_CC) TSRMLS_CC);
- zval_ptr_dtor(&free_op1.var);
+ zval_ptr_dtor_nogc(&free_op1.var);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
shift_left_function(&EX_T(opline->result.var).tmp_var,
_get_zval_ptr_var(opline->op1.var, execute_data, &free_op1 TSRMLS_CC),
_get_zval_ptr_cv_BP_VAR_R(execute_data, opline->op2.var TSRMLS_CC) TSRMLS_CC);
- zval_ptr_dtor(&free_op1.var);
+ zval_ptr_dtor_nogc(&free_op1.var);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
shift_right_function(&EX_T(opline->result.var).tmp_var,
_get_zval_ptr_var(opline->op1.var, execute_data, &free_op1 TSRMLS_CC),
_get_zval_ptr_cv_BP_VAR_R(execute_data, opline->op2.var TSRMLS_CC) TSRMLS_CC);
- zval_ptr_dtor(&free_op1.var);
+ zval_ptr_dtor_nogc(&free_op1.var);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
concat_function(&EX_T(opline->result.var).tmp_var,
_get_zval_ptr_var(opline->op1.var, execute_data, &free_op1 TSRMLS_CC),
_get_zval_ptr_cv_BP_VAR_R(execute_data, opline->op2.var TSRMLS_CC) TSRMLS_CC);
- zval_ptr_dtor(&free_op1.var);
+ zval_ptr_dtor_nogc(&free_op1.var);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
is_identical_function(&EX_T(opline->result.var).tmp_var,
_get_zval_ptr_var(opline->op1.var, execute_data, &free_op1 TSRMLS_CC),
_get_zval_ptr_cv_BP_VAR_R(execute_data, opline->op2.var TSRMLS_CC) TSRMLS_CC);
- zval_ptr_dtor(&free_op1.var);
+ zval_ptr_dtor_nogc(&free_op1.var);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
_get_zval_ptr_var(opline->op1.var, execute_data, &free_op1 TSRMLS_CC),
_get_zval_ptr_cv_BP_VAR_R(execute_data, opline->op2.var TSRMLS_CC) TSRMLS_CC);
Z_LVAL_P(result) = !Z_LVAL_P(result);
- zval_ptr_dtor(&free_op1.var);
+ zval_ptr_dtor_nogc(&free_op1.var);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
ZVAL_BOOL(result, fast_equal_function(result,
_get_zval_ptr_var(opline->op1.var, execute_data, &free_op1 TSRMLS_CC),
_get_zval_ptr_cv_BP_VAR_R(execute_data, opline->op2.var TSRMLS_CC) TSRMLS_CC));
- zval_ptr_dtor(&free_op1.var);
+ zval_ptr_dtor_nogc(&free_op1.var);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
ZVAL_BOOL(result, fast_not_equal_function(result,
_get_zval_ptr_var(opline->op1.var, execute_data, &free_op1 TSRMLS_CC),
_get_zval_ptr_cv_BP_VAR_R(execute_data, opline->op2.var TSRMLS_CC) TSRMLS_CC));
- zval_ptr_dtor(&free_op1.var);
+ zval_ptr_dtor_nogc(&free_op1.var);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
ZVAL_BOOL(result, fast_is_smaller_function(result,
_get_zval_ptr_var(opline->op1.var, execute_data, &free_op1 TSRMLS_CC),
_get_zval_ptr_cv_BP_VAR_R(execute_data, opline->op2.var TSRMLS_CC) TSRMLS_CC));
- zval_ptr_dtor(&free_op1.var);
+ zval_ptr_dtor_nogc(&free_op1.var);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
ZVAL_BOOL(result, fast_is_smaller_or_equal_function(result,
_get_zval_ptr_var(opline->op1.var, execute_data, &free_op1 TSRMLS_CC),
_get_zval_ptr_cv_BP_VAR_R(execute_data, opline->op2.var TSRMLS_CC) TSRMLS_CC));
- zval_ptr_dtor(&free_op1.var);
+ zval_ptr_dtor_nogc(&free_op1.var);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
bitwise_or_function(&EX_T(opline->result.var).tmp_var,
_get_zval_ptr_var(opline->op1.var, execute_data, &free_op1 TSRMLS_CC),
_get_zval_ptr_cv_BP_VAR_R(execute_data, opline->op2.var TSRMLS_CC) TSRMLS_CC);
- zval_ptr_dtor(&free_op1.var);
+ zval_ptr_dtor_nogc(&free_op1.var);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
bitwise_and_function(&EX_T(opline->result.var).tmp_var,
_get_zval_ptr_var(opline->op1.var, execute_data, &free_op1 TSRMLS_CC),
_get_zval_ptr_cv_BP_VAR_R(execute_data, opline->op2.var TSRMLS_CC) TSRMLS_CC);
- zval_ptr_dtor(&free_op1.var);
+ zval_ptr_dtor_nogc(&free_op1.var);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
bitwise_xor_function(&EX_T(opline->result.var).tmp_var,
_get_zval_ptr_var(opline->op1.var, execute_data, &free_op1 TSRMLS_CC),
_get_zval_ptr_cv_BP_VAR_R(execute_data, opline->op2.var TSRMLS_CC) TSRMLS_CC);
- zval_ptr_dtor(&free_op1.var);
+ zval_ptr_dtor_nogc(&free_op1.var);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
boolean_xor_function(&EX_T(opline->result.var).tmp_var,
_get_zval_ptr_var(opline->op1.var, execute_data, &free_op1 TSRMLS_CC),
_get_zval_ptr_cv_BP_VAR_R(execute_data, opline->op2.var TSRMLS_CC) TSRMLS_CC);
- zval_ptr_dtor(&free_op1.var);
+ zval_ptr_dtor_nogc(&free_op1.var);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
FREE_OP(free_op_data1);
}
- if (free_op1.var) {zval_ptr_dtor(&free_op1.var);};
+ if (free_op1.var) {zval_ptr_dtor_nogc(&free_op1.var);};
/* assign_obj has two opcodes! */
CHECK_EXCEPTION();
ZEND_VM_INC_OPCODE();
AI_SET_PTR(&EX_T(opline->result.var), &EG(uninitialized_zval));
}
- if (free_op1.var) {zval_ptr_dtor(&free_op1.var);};
+ if (free_op1.var) {zval_ptr_dtor_nogc(&free_op1.var);};
CHECK_EXCEPTION();
if (opline->extended_value == ZEND_ASSIGN_DIM) {
ZEND_VM_INC_OPCODE();
if (opline->extended_value == ZEND_ASSIGN_DIM) {
FREE_OP(free_op_data1);
FREE_OP_VAR_PTR(free_op_data2);
- if (free_op1.var) {zval_ptr_dtor(&free_op1.var);};
+ if (free_op1.var) {zval_ptr_dtor_nogc(&free_op1.var);};
CHECK_EXCEPTION();
ZEND_VM_INC_OPCODE();
} else {
- if (free_op1.var) {zval_ptr_dtor(&free_op1.var);};
+ if (free_op1.var) {zval_ptr_dtor_nogc(&free_op1.var);};
CHECK_EXCEPTION();
}
ZEND_VM_NEXT_OPCODE();
PZVAL_LOCK(&EG(uninitialized_zval));
*retval = &EG(uninitialized_zval);
}
- if (free_op1.var) {zval_ptr_dtor(&free_op1.var);};
+ if (free_op1.var) {zval_ptr_dtor_nogc(&free_op1.var);};
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
} else {
}
- if (free_op1.var) {zval_ptr_dtor(&free_op1.var);};
+ if (free_op1.var) {zval_ptr_dtor_nogc(&free_op1.var);};
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
zend_error(E_WARNING, "Attempt to increment/decrement property of non-object");
ZVAL_NULL(retval);
- if (free_op1.var) {zval_ptr_dtor(&free_op1.var);};
+ if (free_op1.var) {zval_ptr_dtor_nogc(&free_op1.var);};
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
} else {
}
- if (free_op1.var) {zval_ptr_dtor(&free_op1.var);};
+ if (free_op1.var) {zval_ptr_dtor_nogc(&free_op1.var);};
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
zval *container = _get_zval_ptr_var(opline->op1.var, execute_data, &free_op1 TSRMLS_CC);
zend_fetch_dimension_address_read(&EX_T(opline->result.var), &container, _get_zval_ptr_cv_BP_VAR_R(execute_data, opline->op2.var TSRMLS_CC), IS_CV, BP_VAR_R TSRMLS_CC);
- zval_ptr_dtor(&free_op1.var);
+ zval_ptr_dtor_nogc(&free_op1.var);
} else {
container = _get_zval_ptr_ptr_var_fast(opline->op1.var, execute_data, &free_op1 TSRMLS_CC);
zend_fetch_dimension_address_read(&EX_T(opline->result.var), container, _get_zval_ptr_cv_BP_VAR_R(execute_data, opline->op2.var TSRMLS_CC), IS_CV, BP_VAR_R TSRMLS_CC);
if (IS_VAR == IS_VAR && !(opline->extended_value & ZEND_FETCH_ADD_LOCK)) {
- zval_ptr_dtor(&free_op1.var);
+ zval_ptr_dtor_nogc(&free_op1.var);
}
}
if (IS_VAR == IS_VAR && (free_op1.var != NULL) && READY_TO_DESTROY(free_op1.var)) {
EXTRACT_ZVAL_PTR(&EX_T(opline->result.var));
}
- if (free_op1.var) {zval_ptr_dtor(&free_op1.var);};
+ if (free_op1.var) {zval_ptr_dtor_nogc(&free_op1.var);};
/* We are going to assign the result by reference */
if (UNEXPECTED(opline->extended_value != 0)) {
if (IS_VAR == IS_VAR && (free_op1.var != NULL) && READY_TO_DESTROY(free_op1.var)) {
EXTRACT_ZVAL_PTR(&EX_T(opline->result.var));
}
- if (free_op1.var) {zval_ptr_dtor(&free_op1.var);};
+ if (free_op1.var) {zval_ptr_dtor_nogc(&free_op1.var);};
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
container = _get_zval_ptr_ptr_var_fast(opline->op1.var, execute_data, &free_op1 TSRMLS_CC);
zend_fetch_dimension_address_read(&EX_T(opline->result.var), container, _get_zval_ptr_cv_BP_VAR_R(execute_data, opline->op2.var TSRMLS_CC), IS_CV, BP_VAR_IS TSRMLS_CC);
- zval_ptr_dtor(&free_op1.var);
+ zval_ptr_dtor_nogc(&free_op1.var);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
EXTRACT_ZVAL_PTR(&EX_T(opline->result.var));
}
- if (free_op1.var) {zval_ptr_dtor(&free_op1.var);};
+ if (free_op1.var) {zval_ptr_dtor_nogc(&free_op1.var);};
} else {
if (IS_CV == IS_UNUSED) {
zend_error_noreturn(E_ERROR, "Cannot use [] for reading");
container = _get_zval_ptr_ptr_var_fast(opline->op1.var, execute_data, &free_op1 TSRMLS_CC);
zend_fetch_dimension_address_read(&EX_T(opline->result.var), container, _get_zval_ptr_cv_BP_VAR_R(execute_data, opline->op2.var TSRMLS_CC), IS_CV, BP_VAR_R TSRMLS_CC);
- zval_ptr_dtor(&free_op1.var);
+ zval_ptr_dtor_nogc(&free_op1.var);
}
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
if (IS_VAR == IS_VAR && (free_op1.var != NULL) && READY_TO_DESTROY(free_op1.var)) {
EXTRACT_ZVAL_PTR(&EX_T(opline->result.var));
}
- if (free_op1.var) {zval_ptr_dtor(&free_op1.var);};
+ if (free_op1.var) {zval_ptr_dtor_nogc(&free_op1.var);};
if (UNEXPECTED(EX_T(opline->result.var).var.ptr_ptr == NULL)) {
zend_error_noreturn(E_ERROR, "Cannot unset string offsets");
ZEND_VM_NEXT_OPCODE();
}
}
- zval_ptr_dtor(&free_op1.var);
+ zval_ptr_dtor_nogc(&free_op1.var);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
if (IS_VAR == IS_VAR && (free_op1.var != NULL) && READY_TO_DESTROY(free_op1.var)) {
EXTRACT_ZVAL_PTR(&EX_T(opline->result.var));
}
- if (free_op1.var) {zval_ptr_dtor(&free_op1.var);};
+ if (free_op1.var) {zval_ptr_dtor_nogc(&free_op1.var);};
/* We are going to assign the result by reference */
if (opline->extended_value & ZEND_FETCH_MAKE_REF) {
if (IS_VAR == IS_VAR && (free_op1.var != NULL) && READY_TO_DESTROY(free_op1.var)) {
EXTRACT_ZVAL_PTR(&EX_T(opline->result.var));
}
- if (free_op1.var) {zval_ptr_dtor(&free_op1.var);};
+ if (free_op1.var) {zval_ptr_dtor_nogc(&free_op1.var);};
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
}
}
- zval_ptr_dtor(&free_op1.var);
+ zval_ptr_dtor_nogc(&free_op1.var);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
if (IS_VAR == IS_VAR && (free_op1.var != NULL) && READY_TO_DESTROY(free_op1.var)) {
EXTRACT_ZVAL_PTR(&EX_T(opline->result.var));
}
- if (free_op1.var) {zval_ptr_dtor(&free_op1.var);};
+ if (free_op1.var) {zval_ptr_dtor_nogc(&free_op1.var);};
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
} else {
if (IS_VAR == IS_VAR && (free_op1.var != NULL) && READY_TO_DESTROY(free_op1.var)) {
EXTRACT_ZVAL_PTR(&EX_T(opline->result.var));
}
- if (free_op1.var) {zval_ptr_dtor(&free_op1.var);};
+ if (free_op1.var) {zval_ptr_dtor_nogc(&free_op1.var);};
PZVAL_UNLOCK(*EX_T(opline->result.var).var.ptr_ptr, &free_res);
if (EX_T(opline->result.var).var.ptr_ptr != &EG(uninitialized_zval_ptr)) {
} else {
}
- if (free_op1.var) {zval_ptr_dtor(&free_op1.var);};
+ if (free_op1.var) {zval_ptr_dtor_nogc(&free_op1.var);};
/* assign_obj has two opcodes! */
CHECK_EXCEPTION();
ZEND_VM_INC_OPCODE();
FREE_OP_VAR_PTR(free_op_data2);
FREE_OP_IF_VAR(free_op_data1);
}
- if (free_op1.var) {zval_ptr_dtor(&free_op1.var);};
+ if (free_op1.var) {zval_ptr_dtor_nogc(&free_op1.var);};
/* assign_dim has two opcodes! */
CHECK_EXCEPTION();
ZEND_VM_INC_OPCODE();
}
}
- if (free_op1.var) {zval_ptr_dtor(&free_op1.var);};
+ if (free_op1.var) {zval_ptr_dtor_nogc(&free_op1.var);};
/* zend_assign_to_variable() always takes care of op2, never free it! */
AI_SET_PTR(&EX_T(opline->result.var), *variable_ptr_ptr);
}
- if (free_op1.var) {zval_ptr_dtor(&free_op1.var);};
+ if (free_op1.var) {zval_ptr_dtor_nogc(&free_op1.var);};
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
call->is_ctor_call = 0;
EX(call) = call;
- zval_ptr_dtor(&free_op1.var);
+ zval_ptr_dtor_nogc(&free_op1.var);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
INIT_PZVAL_COPY(new_expr, expr_ptr);
expr_ptr = new_expr;
zendi_zval_copy_ctor(*expr_ptr);
- zval_ptr_dtor(&free_op1.var);
+ zval_ptr_dtor_nogc(&free_op1.var);
} else if (IS_VAR == IS_CV) {
Z_ADDREF_P(expr_ptr);
}
zend_hash_next_index_insert(Z_ARRVAL(EX_T(opline->result.var).tmp_var), &expr_ptr, sizeof(zval *), NULL);
}
if ((IS_VAR == IS_VAR || IS_VAR == IS_CV) && opline->extended_value) {
- if (free_op1.var) {zval_ptr_dtor(&free_op1.var);};
+ if (free_op1.var) {zval_ptr_dtor_nogc(&free_op1.var);};
}
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
} else {
}
- if (free_op1.var) {zval_ptr_dtor(&free_op1.var);};
+ if (free_op1.var) {zval_ptr_dtor_nogc(&free_op1.var);};
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
} else {
}
- if (free_op1.var) {zval_ptr_dtor(&free_op1.var);};
+ if (free_op1.var) {zval_ptr_dtor_nogc(&free_op1.var);};
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
Z_LVAL(EX_T(opline->result.var).tmp_var) = !result;
}
- zval_ptr_dtor(&free_op1.var);
+ zval_ptr_dtor_nogc(&free_op1.var);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
generator->value = *value_ptr;
}
- if (free_op1.var) {zval_ptr_dtor(&free_op1.var);};
+ if (free_op1.var) {zval_ptr_dtor_nogc(&free_op1.var);};
}
} else {
zval *value = _get_zval_ptr_var(opline->op1.var, execute_data, &free_op1 TSRMLS_CC);
}
generator->value = copy;
- zval_ptr_dtor(&free_op1.var);
+ zval_ptr_dtor_nogc(&free_op1.var);
} else {
if (IS_VAR == IS_CV) {
Z_ADDREF_P(value);
if (UNEXPECTED(Z_TYPE_P(object) != IS_OBJECT)) {
zend_error(E_WARNING, "Attempt to assign property of non-object");
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
FREE_OP(free_op_data1);
if (RETURN_VALUE_USED(opline)) {
if (0) {
zval_ptr_dtor(&property);
} else {
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
}
FREE_OP(free_op_data1);
}
PZVAL_LOCK(&EG(uninitialized_zval));
AI_SET_PTR(&EX_T(opline->result.var), &EG(uninitialized_zval));
}
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
CHECK_EXCEPTION();
if (opline->extended_value == ZEND_ASSIGN_DIM) {
PZVAL_LOCK(*var_ptr);
AI_SET_PTR(&EX_T(opline->result.var), *var_ptr);
}
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
if (opline->extended_value == ZEND_ASSIGN_DIM) {
FREE_OP(free_op_data1);
if (UNEXPECTED(Z_TYPE_P(object) != IS_OBJECT)) {
zend_error(E_WARNING, "Attempt to increment/decrement property of non-object");
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
if (RETURN_VALUE_USED(opline)) {
PZVAL_LOCK(&EG(uninitialized_zval));
*retval = &EG(uninitialized_zval);
if (0) {
zval_ptr_dtor(&property);
} else {
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
}
CHECK_EXCEPTION();
if (UNEXPECTED(Z_TYPE_P(object) != IS_OBJECT)) {
zend_error(E_WARNING, "Attempt to increment/decrement property of non-object");
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
ZVAL_NULL(retval);
CHECK_EXCEPTION();
if (0) {
zval_ptr_dtor(&property);
} else {
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
}
CHECK_EXCEPTION();
zend_error(E_NOTICE, "Trying to get property of non-object");
PZVAL_LOCK(&EG(uninitialized_zval));
AI_SET_PTR(&EX_T(opline->result.var), &EG(uninitialized_zval));
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
} else {
zval *retval;
if (0) {
zval_ptr_dtor(&offset);
} else {
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
}
}
if (0) {
zval_ptr_dtor(&property);
} else {
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
}
if (IS_UNUSED == IS_VAR && 0 && READY_TO_DESTROY(free_op1.var)) {
EXTRACT_ZVAL_PTR(&EX_T(opline->result.var));
if (0) {
zval_ptr_dtor(&property);
} else {
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
}
if (IS_UNUSED == IS_VAR && 0 && READY_TO_DESTROY(free_op1.var)) {
EXTRACT_ZVAL_PTR(&EX_T(opline->result.var));
UNEXPECTED(Z_OBJ_HT_P(container)->read_property == NULL)) {
PZVAL_LOCK(&EG(uninitialized_zval));
AI_SET_PTR(&EX_T(opline->result.var), &EG(uninitialized_zval));
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
} else {
zval *retval;
if (0) {
zval_ptr_dtor(&offset);
} else {
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
}
}
if (0) {
zval_ptr_dtor(&property);
} else {
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
}
if (IS_UNUSED == IS_VAR && 0 && READY_TO_DESTROY(free_op1.var)) {
EXTRACT_ZVAL_PTR(&EX_T(opline->result.var));
if (0) {
zval_ptr_dtor(&property);
} else {
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
}
if (IS_UNUSED == IS_VAR && 0 && READY_TO_DESTROY(free_op1.var)) {
EXTRACT_ZVAL_PTR(&EX_T(opline->result.var));
if (0) {
zval_ptr_dtor(&property_name);
} else {
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
}
/* assign_obj has two opcodes! */
* which aren't affected by FREE_OP(Ts, )'s anyway, unless they're
* string offsets or overloaded objects
*/
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
} else {
if (UNEXPECTED(EG(exception) != NULL)) {
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
HANDLE_EXCEPTION();
}
zend_error_noreturn(E_ERROR, "Call to a member function %s() on a non-object", function_name_strval);
call->is_ctor_call = 0;
EX(call) = call;
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
zend_error(E_WARNING, "Illegal offset type in unset");
break;
}
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
break;
}
case IS_OBJECT:
if (0) {
zval_ptr_dtor(&offset);
} else {
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
}
break;
case IS_STRING:
zend_error_noreturn(E_ERROR, "Cannot unset string offsets");
ZEND_VM_CONTINUE(); /* bailed out before */
default:
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
break;
}
} else {
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
}
CHECK_EXCEPTION();
if (0) {
zval_ptr_dtor(&offset);
} else {
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
}
} else {
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
}
} else {
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
}
CHECK_EXCEPTION();
result = 1;
}
}
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
} else if (Z_TYPE_P(container) == IS_OBJECT) {
if (0) {
MAKE_REAL_ZVAL_PTR(offset);
if (0) {
zval_ptr_dtor(&offset);
} else {
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
}
} else if (Z_TYPE_P(container) == IS_STRING && !prop_dim) { /* string offsets */
zval tmp;
}
}
}
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
} else {
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
}
Z_TYPE(EX_T(opline->result.var).tmp_var) = IS_BOOL;
generator->largest_used_integer_key = Z_LVAL_P(generator->key);
}
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
} else {
/* If no key was specified we use auto-increment keys */
generator->largest_used_integer_key++;
_get_zval_ptr_cv_BP_VAR_R(execute_data, opline->op1.var TSRMLS_CC),
_get_zval_ptr_var(opline->op2.var, execute_data, &free_op2 TSRMLS_CC) TSRMLS_CC);
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
_get_zval_ptr_cv_BP_VAR_R(execute_data, opline->op1.var TSRMLS_CC),
_get_zval_ptr_var(opline->op2.var, execute_data, &free_op2 TSRMLS_CC) TSRMLS_CC);
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
_get_zval_ptr_cv_BP_VAR_R(execute_data, opline->op1.var TSRMLS_CC),
_get_zval_ptr_var(opline->op2.var, execute_data, &free_op2 TSRMLS_CC) TSRMLS_CC);
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
_get_zval_ptr_cv_BP_VAR_R(execute_data, opline->op1.var TSRMLS_CC),
_get_zval_ptr_var(opline->op2.var, execute_data, &free_op2 TSRMLS_CC) TSRMLS_CC);
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
_get_zval_ptr_cv_BP_VAR_R(execute_data, opline->op1.var TSRMLS_CC),
_get_zval_ptr_var(opline->op2.var, execute_data, &free_op2 TSRMLS_CC) TSRMLS_CC);
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
_get_zval_ptr_cv_BP_VAR_R(execute_data, opline->op1.var TSRMLS_CC),
_get_zval_ptr_var(opline->op2.var, execute_data, &free_op2 TSRMLS_CC) TSRMLS_CC);
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
_get_zval_ptr_cv_BP_VAR_R(execute_data, opline->op1.var TSRMLS_CC),
_get_zval_ptr_var(opline->op2.var, execute_data, &free_op2 TSRMLS_CC) TSRMLS_CC);
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
_get_zval_ptr_cv_BP_VAR_R(execute_data, opline->op1.var TSRMLS_CC),
_get_zval_ptr_var(opline->op2.var, execute_data, &free_op2 TSRMLS_CC) TSRMLS_CC);
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
_get_zval_ptr_cv_BP_VAR_R(execute_data, opline->op1.var TSRMLS_CC),
_get_zval_ptr_var(opline->op2.var, execute_data, &free_op2 TSRMLS_CC) TSRMLS_CC);
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
_get_zval_ptr_var(opline->op2.var, execute_data, &free_op2 TSRMLS_CC) TSRMLS_CC);
Z_LVAL_P(result) = !Z_LVAL_P(result);
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
_get_zval_ptr_cv_BP_VAR_R(execute_data, opline->op1.var TSRMLS_CC),
_get_zval_ptr_var(opline->op2.var, execute_data, &free_op2 TSRMLS_CC) TSRMLS_CC));
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
_get_zval_ptr_cv_BP_VAR_R(execute_data, opline->op1.var TSRMLS_CC),
_get_zval_ptr_var(opline->op2.var, execute_data, &free_op2 TSRMLS_CC) TSRMLS_CC));
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
_get_zval_ptr_cv_BP_VAR_R(execute_data, opline->op1.var TSRMLS_CC),
_get_zval_ptr_var(opline->op2.var, execute_data, &free_op2 TSRMLS_CC) TSRMLS_CC));
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
_get_zval_ptr_cv_BP_VAR_R(execute_data, opline->op1.var TSRMLS_CC),
_get_zval_ptr_var(opline->op2.var, execute_data, &free_op2 TSRMLS_CC) TSRMLS_CC));
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
_get_zval_ptr_cv_BP_VAR_R(execute_data, opline->op1.var TSRMLS_CC),
_get_zval_ptr_var(opline->op2.var, execute_data, &free_op2 TSRMLS_CC) TSRMLS_CC);
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
_get_zval_ptr_cv_BP_VAR_R(execute_data, opline->op1.var TSRMLS_CC),
_get_zval_ptr_var(opline->op2.var, execute_data, &free_op2 TSRMLS_CC) TSRMLS_CC);
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
_get_zval_ptr_cv_BP_VAR_R(execute_data, opline->op1.var TSRMLS_CC),
_get_zval_ptr_var(opline->op2.var, execute_data, &free_op2 TSRMLS_CC) TSRMLS_CC);
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
_get_zval_ptr_cv_BP_VAR_R(execute_data, opline->op1.var TSRMLS_CC),
_get_zval_ptr_var(opline->op2.var, execute_data, &free_op2 TSRMLS_CC) TSRMLS_CC);
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
if (UNEXPECTED(Z_TYPE_P(object) != IS_OBJECT)) {
zend_error(E_WARNING, "Attempt to assign property of non-object");
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
FREE_OP(free_op_data1);
if (RETURN_VALUE_USED(opline)) {
if (0) {
zval_ptr_dtor(&property);
} else {
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
}
FREE_OP(free_op_data1);
}
PZVAL_LOCK(&EG(uninitialized_zval));
AI_SET_PTR(&EX_T(opline->result.var), &EG(uninitialized_zval));
}
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
CHECK_EXCEPTION();
if (opline->extended_value == ZEND_ASSIGN_DIM) {
PZVAL_LOCK(*var_ptr);
AI_SET_PTR(&EX_T(opline->result.var), *var_ptr);
}
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
if (opline->extended_value == ZEND_ASSIGN_DIM) {
FREE_OP(free_op_data1);
if (UNEXPECTED(Z_TYPE_P(object) != IS_OBJECT)) {
zend_error(E_WARNING, "Attempt to increment/decrement property of non-object");
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
if (RETURN_VALUE_USED(opline)) {
PZVAL_LOCK(&EG(uninitialized_zval));
*retval = &EG(uninitialized_zval);
if (0) {
zval_ptr_dtor(&property);
} else {
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
}
CHECK_EXCEPTION();
if (UNEXPECTED(Z_TYPE_P(object) != IS_OBJECT)) {
zend_error(E_WARNING, "Attempt to increment/decrement property of non-object");
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
ZVAL_NULL(retval);
CHECK_EXCEPTION();
if (0) {
zval_ptr_dtor(&property);
} else {
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
}
CHECK_EXCEPTION();
if (IS_CV == IS_TMP_VAR || IS_CV == IS_CONST) {
zval *container = _get_zval_ptr_cv_BP_VAR_R(execute_data, opline->op1.var TSRMLS_CC);
zend_fetch_dimension_address_read(&EX_T(opline->result.var), &container, _get_zval_ptr_var(opline->op2.var, execute_data, &free_op2 TSRMLS_CC), IS_VAR, BP_VAR_R TSRMLS_CC);
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
} else {
container = _get_zval_ptr_ptr_cv_BP_VAR_R(execute_data, opline->op1.var TSRMLS_CC);
zend_fetch_dimension_address_read(&EX_T(opline->result.var), container, _get_zval_ptr_var(opline->op2.var, execute_data, &free_op2 TSRMLS_CC), IS_VAR, BP_VAR_R TSRMLS_CC);
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
if (IS_CV == IS_VAR && !(opline->extended_value & ZEND_FETCH_ADD_LOCK)) {
}
zend_error_noreturn(E_ERROR, "Cannot use string offset as an array");
}
zend_fetch_dimension_address(&EX_T(opline->result.var), container, _get_zval_ptr_var(opline->op2.var, execute_data, &free_op2 TSRMLS_CC), IS_VAR, BP_VAR_W TSRMLS_CC);
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
if (IS_CV == IS_VAR && 0 && READY_TO_DESTROY(free_op1.var)) {
EXTRACT_ZVAL_PTR(&EX_T(opline->result.var));
}
zend_error_noreturn(E_ERROR, "Cannot use string offset as an array");
}
zend_fetch_dimension_address(&EX_T(opline->result.var), container, _get_zval_ptr_var(opline->op2.var, execute_data, &free_op2 TSRMLS_CC), IS_VAR, BP_VAR_RW TSRMLS_CC);
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
if (IS_CV == IS_VAR && 0 && READY_TO_DESTROY(free_op1.var)) {
EXTRACT_ZVAL_PTR(&EX_T(opline->result.var));
}
SAVE_OPLINE();
container = _get_zval_ptr_ptr_cv_BP_VAR_IS(execute_data, opline->op1.var TSRMLS_CC);
zend_fetch_dimension_address_read(&EX_T(opline->result.var), container, _get_zval_ptr_var(opline->op2.var, execute_data, &free_op2 TSRMLS_CC), IS_VAR, BP_VAR_IS TSRMLS_CC);
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
if (IS_CV == IS_VAR && 0 && READY_TO_DESTROY(free_op1.var)) {
EXTRACT_ZVAL_PTR(&EX_T(opline->result.var));
}
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
} else {
if (IS_VAR == IS_UNUSED) {
}
container = _get_zval_ptr_ptr_cv_BP_VAR_R(execute_data, opline->op1.var TSRMLS_CC);
zend_fetch_dimension_address_read(&EX_T(opline->result.var), container, _get_zval_ptr_var(opline->op2.var, execute_data, &free_op2 TSRMLS_CC), IS_VAR, BP_VAR_R TSRMLS_CC);
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
}
CHECK_EXCEPTION();
zend_error_noreturn(E_ERROR, "Cannot use string offset as an array");
}
zend_fetch_dimension_address(&EX_T(opline->result.var), container, _get_zval_ptr_var(opline->op2.var, execute_data, &free_op2 TSRMLS_CC), IS_VAR, BP_VAR_UNSET TSRMLS_CC);
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
if (IS_CV == IS_VAR && 0 && READY_TO_DESTROY(free_op1.var)) {
EXTRACT_ZVAL_PTR(&EX_T(opline->result.var));
}
zend_error(E_NOTICE, "Trying to get property of non-object");
PZVAL_LOCK(&EG(uninitialized_zval));
AI_SET_PTR(&EX_T(opline->result.var), &EG(uninitialized_zval));
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
} else {
zval *retval;
if (0) {
zval_ptr_dtor(&offset);
} else {
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
}
}
if (0) {
zval_ptr_dtor(&property);
} else {
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
}
if (IS_CV == IS_VAR && 0 && READY_TO_DESTROY(free_op1.var)) {
EXTRACT_ZVAL_PTR(&EX_T(opline->result.var));
if (0) {
zval_ptr_dtor(&property);
} else {
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
}
if (IS_CV == IS_VAR && 0 && READY_TO_DESTROY(free_op1.var)) {
EXTRACT_ZVAL_PTR(&EX_T(opline->result.var));
UNEXPECTED(Z_OBJ_HT_P(container)->read_property == NULL)) {
PZVAL_LOCK(&EG(uninitialized_zval));
AI_SET_PTR(&EX_T(opline->result.var), &EG(uninitialized_zval));
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
} else {
zval *retval;
if (0) {
zval_ptr_dtor(&offset);
} else {
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
}
}
if (0) {
zval_ptr_dtor(&property);
} else {
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
}
if (IS_CV == IS_VAR && 0 && READY_TO_DESTROY(free_op1.var)) {
EXTRACT_ZVAL_PTR(&EX_T(opline->result.var));
if (0) {
zval_ptr_dtor(&property);
} else {
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
}
if (IS_CV == IS_VAR && 0 && READY_TO_DESTROY(free_op1.var)) {
EXTRACT_ZVAL_PTR(&EX_T(opline->result.var));
if (0) {
zval_ptr_dtor(&property_name);
} else {
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
}
/* assign_obj has two opcodes! */
if (0) {
zval_ptr_dtor(&property_name);
} else {
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
}
} else {
zend_free_op free_op2, free_op_data1, free_op_data2;
zval **variable_ptr_ptr;
zend_fetch_dimension_address(&EX_T((opline+1)->op2.var), object_ptr, dim, IS_VAR, BP_VAR_W TSRMLS_CC);
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
value = get_zval_ptr((opline+1)->op1_type, &(opline+1)->op1, execute_data, &free_op_data1, BP_VAR_R);
variable_ptr_ptr = _get_zval_ptr_ptr_var((opline+1)->op2.var, execute_data, &free_op_data2 TSRMLS_CC);
}
/* zend_assign_to_variable() always takes care of op2, never free it! */
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
zend_error(E_STRICT, "Only variables should be assigned by reference");
if (UNEXPECTED(EG(exception) != NULL)) {
- if (free_op2.var) {zval_ptr_dtor(&free_op2.var);};
+ if (free_op2.var) {zval_ptr_dtor_nogc(&free_op2.var);};
HANDLE_EXCEPTION();
}
return ZEND_ASSIGN_SPEC_CV_VAR_HANDLER(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
AI_SET_PTR(&EX_T(opline->result.var), *variable_ptr_ptr);
}
- if (free_op2.var) {zval_ptr_dtor(&free_op2.var);};
+ if (free_op2.var) {zval_ptr_dtor_nogc(&free_op2.var);};
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
} else {
if (UNEXPECTED(EG(exception) != NULL)) {
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
HANDLE_EXCEPTION();
}
zend_error_noreturn(E_ERROR, "Call to a member function %s() on a non-object", function_name_strval);
call->is_ctor_call = 0;
EX(call) = call;
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
_get_zval_ptr_cv_BP_VAR_R(execute_data, opline->op1.var TSRMLS_CC),
_get_zval_ptr_var(opline->op2.var, execute_data, &free_op2 TSRMLS_CC) TSRMLS_CC);
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
/* do nothing */
break;
}
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
} else {
zend_hash_next_index_insert(Z_ARRVAL(EX_T(opline->result.var).tmp_var), &expr_ptr, sizeof(zval *), NULL);
}
zend_error(E_WARNING, "Illegal offset type in unset");
break;
}
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
break;
}
case IS_OBJECT:
if (0) {
zval_ptr_dtor(&offset);
} else {
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
}
break;
case IS_STRING:
zend_error_noreturn(E_ERROR, "Cannot unset string offsets");
ZEND_VM_CONTINUE(); /* bailed out before */
default:
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
break;
}
} else {
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
}
CHECK_EXCEPTION();
if (0) {
zval_ptr_dtor(&offset);
} else {
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
}
} else {
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
}
} else {
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
}
CHECK_EXCEPTION();
result = 1;
}
}
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
} else if (Z_TYPE_P(container) == IS_OBJECT) {
if (0) {
MAKE_REAL_ZVAL_PTR(offset);
if (0) {
zval_ptr_dtor(&offset);
} else {
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
}
} else if (Z_TYPE_P(container) == IS_STRING && !prop_dim) { /* string offsets */
zval tmp;
}
}
}
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
} else {
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
}
Z_TYPE(EX_T(opline->result.var).tmp_var) = IS_BOOL;
generator->largest_used_integer_key = Z_LVAL_P(generator->key);
}
- zval_ptr_dtor(&free_op2.var);
+ zval_ptr_dtor_nogc(&free_op2.var);
} else {
/* If no key was specified we use auto-increment keys */
generator->largest_used_integer_key++;