op_array->vars[i]->len == name->len &&
memcmp(op_array->vars[i]->val, name->val, name->len) == 0)) {
STR_RELEASE(name);
- return i;
+ return (int)EX_VAR_NUM_2(NULL, i);
}
i++;
}
}
op_array->vars[i] = zend_new_interned_string(name TSRMLS_CC);
- return i;
+ return (int)EX_VAR_NUM_2(NULL, i);
}
/* }}} */
CG(active_op_array)->opcodes[CG(active_op_array)->last-1].opcode != ZEND_BEGIN_SILENCE)) {
result->op_type = IS_CV;
result->u.op.var = lookup_cv(CG(active_op_array), Z_STR(varname->u.constant) TSRMLS_CC);
- Z_STR(varname->u.constant) = CG(active_op_array)->vars[result->u.op.var];
+ Z_STR(varname->u.constant) = CG(active_op_array)->vars[EX_VAR_TO_NUM(result->u.op.var)];
result->EA = 0;
return;
}
opline.result_type = IS_VAR;
opline.result.var = get_temporary_variable(CG(active_op_array));
opline.op1_type = IS_CONST;
- LITERAL_STR(opline.op1, STR_COPY(CG(active_op_array)->vars[result->u.op.var]));
+ LITERAL_STR(opline.op1, STR_COPY(CG(active_op_array)->vars[EX_VAR_TO_NUM(result->u.op.var)]));
GET_POLYMORPHIC_CACHE_SLOT(opline.op1.constant);
if (class_node.op_type == IS_CONST) {
opline.op2_type = IS_CONST;
opline.result_type = IS_VAR;
opline.result.var = get_temporary_variable(CG(active_op_array));
opline.op1_type = IS_CONST;
- LITERAL_STR(opline.op1, STR_COPY(CG(active_op_array)->vars[opline_ptr->op1.var]));
+ LITERAL_STR(opline.op1, STR_COPY(CG(active_op_array)->vars[EX_VAR_TO_NUM(opline_ptr->op1.var)]));
GET_POLYMORPHIC_CACHE_SLOT(opline.op1.constant);
if (class_node.op_type == IS_CONST) {
opline.op2_type = IS_CONST;
opline->result.var = get_temporary_variable(CG(active_op_array));
opline->op1_type = IS_CONST;
LITERAL_STR(opline->op1,
- STR_COPY(CG(active_op_array)->vars[value->u.op.var]));
+ STR_COPY(CG(active_op_array)->vars[EX_VAR_TO_NUM(value->u.op.var)]));
SET_UNUSED(opline->op2);
opline->extended_value = ZEND_FETCH_LOCAL;
GET_NODE(value, opline->result);
} else {
var.op_type = IS_CV;
var.u.op.var = lookup_cv(CG(active_op_array), Z_STR(varname->u.constant) TSRMLS_CC);
- Z_STR(varname->u.constant) = CG(active_op_array)->vars[var.u.op.var];
+ Z_STR(varname->u.constant) = CG(active_op_array)->vars[EX_VAR_TO_NUM(var.u.op.var)];
var.EA = 0;
if (Z_STRHASH(varname->u.constant) == THIS_HASHVAL &&
Z_STRLEN(varname->u.constant) == sizeof("this")-1 &&
opline->op1.constant = zend_add_class_name_literal(CG(active_op_array), &catch_class.u.constant TSRMLS_CC);
opline->op2_type = IS_CV;
opline->op2.var = lookup_cv(CG(active_op_array), Z_STR(catch_var->u.constant) TSRMLS_CC);
- Z_STR(catch_var->u.constant) = CG(active_op_array)->vars[opline->op2.var];
+ Z_STR(catch_var->u.constant) = CG(active_op_array)->vars[EX_VAR_TO_NUM(opline->op2.var)];
opline->result.num = 0; /* 1 means it's the last catch in the block */
catch_token->u.op.opline_num = catch_op_number;
ZEND_API zend_string *zend_get_compiled_variable_name(const zend_op_array *op_array, zend_uint var) /* {{{ */
{
- return op_array->vars[var];
+ return op_array->vars[EX_VAR_TO_NUM(var)];
}
/* }}} */
#define EX_VAR(n) EX_VAR_2(execute_data, n)
#define EX_VAR_NUM(n) EX_VAR_NUM_2(execute_data, n)
+#define EX_VAR_TO_NUM(n) (EX_VAR_2(NULL, n) - EX_VAR_NUM_2(NULL, 0))
+
#define IS_CONST (1<<0)
#define IS_TMP_VAR (1<<1)
#define IS_VAR (1<<2)
ZEND_API zval* zend_get_compiled_variable_value(const zend_execute_data *execute_data, zend_uint var)
{
- return EX_VAR_NUM(var);
+ return EX_VAR(var);
}
static zend_always_inline zval *_get_zval_ptr_tmp(zend_uint var, const zend_execute_data *execute_data, zend_free_op *should_free TSRMLS_DC)
switch (type) {
case BP_VAR_R:
case BP_VAR_UNSET:
- cv = CV_DEF_OF(var);
+ cv = CV_DEF_OF(EX_VAR_TO_NUM(var));
zend_error(E_NOTICE, "Undefined variable: %s", cv->val);
/* break missing intentionally */
case BP_VAR_IS:
ptr = &EG(uninitialized_zval);
break;
case BP_VAR_RW:
- cv = CV_DEF_OF(var);
+ cv = CV_DEF_OF(EX_VAR_TO_NUM(var));
zend_error(E_NOTICE, "Undefined variable: %s", cv->val);
/* break missing intentionally */
case BP_VAR_W:
static zend_always_inline zval *_get_zval_cv_lookup_BP_VAR_R(zval *ptr, zend_uint var TSRMLS_DC)
{
- zend_string *cv = CV_DEF_OF(var);
+ zend_string *cv = CV_DEF_OF(EX_VAR_TO_NUM(var));
zend_error(E_NOTICE, "Undefined variable: %s", cv->val);
return &EG(uninitialized_zval);
static zend_always_inline zval *_get_zval_cv_lookup_BP_VAR_UNSET(zval *ptr, zend_uint var TSRMLS_DC)
{
- zend_string *cv = CV_DEF_OF(var);
+ zend_string *cv = CV_DEF_OF(EX_VAR_TO_NUM(var));
zend_error(E_NOTICE, "Undefined variable: %s", cv->val);
return &EG(uninitialized_zval);
static zend_always_inline zval *_get_zval_cv_lookup_BP_VAR_RW(zval *ptr, zend_uint var TSRMLS_DC)
{
- zend_string *cv = CV_DEF_OF(var);
+ zend_string *cv = CV_DEF_OF(EX_VAR_TO_NUM(var));
ZVAL_NULL(ptr);
zend_error(E_NOTICE, "Undefined variable: %s", cv->val);
return ptr;
}
-static zend_always_inline zval *_get_zval_ptr_cv(zend_uint var, int type TSRMLS_DC)
+static zend_always_inline zval *_get_zval_ptr_cv(const zend_execute_data *execute_data, zend_uint var, int type TSRMLS_DC)
{
- zval *ret = EX_VAR_NUM_2(EG(current_execute_data), var);
+ zval *ret = EX_VAR(var);
if (UNEXPECTED(Z_TYPE_P(ret) == IS_UNDEF)) {
return _get_zval_cv_lookup(ret, var, type TSRMLS_CC);
return ret;
}
-static zend_always_inline zval *_get_zval_ptr_cv_deref(zend_uint var, int type TSRMLS_DC)
+static zend_always_inline zval *_get_zval_ptr_cv_deref(const zend_execute_data *execute_data, zend_uint var, int type TSRMLS_DC)
{
- zval *ret = EX_VAR_NUM_2(EG(current_execute_data), var);
+ zval *ret = EX_VAR(var);
if (UNEXPECTED(Z_TYPE_P(ret) == IS_UNDEF)) {
return _get_zval_cv_lookup(ret, var, type TSRMLS_CC);
static zend_always_inline zval *_get_zval_ptr_cv_BP_VAR_R(const zend_execute_data *execute_data, zend_uint var TSRMLS_DC)
{
- zval *ret = EX_VAR_NUM(var);
+ zval *ret = EX_VAR(var);
if (UNEXPECTED(Z_TYPE_P(ret) == IS_UNDEF)) {
return _get_zval_cv_lookup_BP_VAR_R(ret, var TSRMLS_CC);
static zend_always_inline zval *_get_zval_ptr_cv_deref_BP_VAR_R(const zend_execute_data *execute_data, zend_uint var TSRMLS_DC)
{
- zval *ret = EX_VAR_NUM(var);
+ zval *ret = EX_VAR(var);
if (UNEXPECTED(Z_TYPE_P(ret) == IS_UNDEF)) {
return _get_zval_cv_lookup_BP_VAR_R(ret, var TSRMLS_CC);
static zend_always_inline zval *_get_zval_ptr_cv_BP_VAR_UNSET(const zend_execute_data *execute_data, zend_uint var TSRMLS_DC)
{
- zval *ret = EX_VAR_NUM(var);
+ zval *ret = EX_VAR(var);
if (UNEXPECTED(Z_TYPE_P(ret) == IS_UNDEF)) {
return _get_zval_cv_lookup_BP_VAR_UNSET(ret, var TSRMLS_CC);
static zend_always_inline zval *_get_zval_ptr_cv_deref_BP_VAR_UNSET(const zend_execute_data *execute_data, zend_uint var TSRMLS_DC)
{
- zval *ret = EX_VAR_NUM(var);
+ zval *ret = EX_VAR(var);
if (UNEXPECTED(Z_TYPE_P(ret) == IS_UNDEF)) {
return _get_zval_cv_lookup_BP_VAR_UNSET(ret, var TSRMLS_CC);
static zend_always_inline zval *_get_zval_ptr_cv_BP_VAR_IS(const zend_execute_data *execute_data, zend_uint var TSRMLS_DC)
{
- zval *ret = EX_VAR_NUM(var);
+ zval *ret = EX_VAR(var);
if (Z_TYPE_P(ret) == IS_UNDEF) {
return _get_zval_cv_lookup_BP_VAR_IS(ret, var TSRMLS_CC);
static zend_always_inline zval *_get_zval_ptr_cv_deref_BP_VAR_IS(const zend_execute_data *execute_data, zend_uint var TSRMLS_DC)
{
- zval *ret = EX_VAR_NUM(var);
+ zval *ret = EX_VAR(var);
if (Z_TYPE_P(ret) == IS_UNDEF) {
return _get_zval_cv_lookup_BP_VAR_IS(ret, var TSRMLS_CC);
static zend_always_inline zval *_get_zval_ptr_cv_BP_VAR_RW(const zend_execute_data *execute_data, zend_uint var TSRMLS_DC)
{
- zval *ret = EX_VAR_NUM(var);
+ zval *ret = EX_VAR(var);
if (UNEXPECTED(Z_TYPE_P(ret) == IS_UNDEF)) {
return _get_zval_cv_lookup_BP_VAR_RW(ret, var TSRMLS_CC);
static zend_always_inline zval *_get_zval_ptr_cv_deref_BP_VAR_RW(const zend_execute_data *execute_data, zend_uint var TSRMLS_DC)
{
- zval *ret = EX_VAR_NUM(var);
+ zval *ret = EX_VAR(var);
if (UNEXPECTED(Z_TYPE_P(ret) == IS_UNDEF)) {
return _get_zval_cv_lookup_BP_VAR_RW(ret, var TSRMLS_CC);
static zend_always_inline zval *_get_zval_ptr_cv_BP_VAR_W(const zend_execute_data *execute_data, zend_uint var TSRMLS_DC)
{
- zval *ret = EX_VAR_NUM(var);
+ zval *ret = EX_VAR(var);
if (Z_TYPE_P(ret) == IS_UNDEF) {
return _get_zval_cv_lookup_BP_VAR_W(ret, var TSRMLS_CC);
static zend_always_inline zval *_get_zval_ptr_cv_deref_BP_VAR_W(const zend_execute_data *execute_data, zend_uint var TSRMLS_DC)
{
- zval *ret = EX_VAR_NUM(var);
+ zval *ret = EX_VAR(var);
if (Z_TYPE_P(ret) == IS_UNDEF) {
return _get_zval_cv_lookup_BP_VAR_W(ret, var TSRMLS_CC);
break;
case IS_CV:
should_free->var = NULL;
- return _get_zval_ptr_cv(node->var, type TSRMLS_CC);
+ return _get_zval_ptr_cv(execute_data, node->var, type TSRMLS_CC);
break;
EMPTY_SWITCH_DEFAULT_CASE()
}
break;
case IS_CV:
should_free->var = NULL;
- return _get_zval_ptr_cv_deref(node->var, type TSRMLS_CC);
+ return _get_zval_ptr_cv_deref(execute_data, node->var, type TSRMLS_CC);
break;
EMPTY_SWITCH_DEFAULT_CASE()
}
static zend_always_inline void i_free_compiled_variables(zend_execute_data *execute_data TSRMLS_DC) /* {{{ */
{
- zval *cv = EX_VAR_NUM_2(execute_data, 0);
+ zval *cv = EX_VAR_NUM(0);
zval *end = cv + EX(op_array)->last_var;
while (cv != end) {
zval_ptr_dtor(cv);
EX(prev_execute_data) = EG(current_execute_data);
}
- memset(EX_VAR_NUM_2(execute_data, 0), 0, sizeof(zval) * op_array->last_var);
+ memset(EX_VAR_NUM(0), 0, sizeof(zval) * op_array->last_var);
EX(call_slots) = (call_slot*)((char *)execute_data + execute_data_size + vars_size);
}
if (op_array->this_var != -1 && Z_TYPE(EG(This)) != IS_UNDEF) {
- ZVAL_COPY(EX_VAR_NUM(op_array->this_var), &EG(This));
+ ZVAL_COPY(EX_VAR(op_array->this_var), &EG(This));
}
EX(opline) = UNEXPECTED((op_array->fn_flags & ZEND_ACC_INTERACTIVE) != 0) && EG(start_op) ? EG(start_op) : op_array->opcodes;
ex->symbol_table = EG(active_symbol_table);
if (ex->op_array->this_var != -1 &&
- Z_TYPE_P(EX_VAR_NUM_2(ex, ex->op_array->this_var)) == IS_UNDEF &&
+ Z_TYPE_P(EX_VAR_2(ex, ex->op_array->this_var)) == IS_UNDEF &&
Z_TYPE(EG(This)) != IS_UNDEF) {
- ZVAL_COPY_VALUE(EX_VAR_NUM_2(ex, ex->op_array->this_var), &EG(This));
+ ZVAL_COPY_VALUE(EX_VAR_2(ex, ex->op_array->this_var), &EG(This));
}
for (i = 0; i < ex->op_array->last_var; i++) {
zval zv;
op_array->literals = (zend_literal*)erealloc(op_array->literals, sizeof(zend_literal) * op_array->last_literal);
CG(context).literals_size = op_array->last_literal;
}
-
opline = op_array->opcodes;
end = opline + op_array->last;
while (opline < end) {
}
exception = EG(exception);
- if (Z_REFCOUNTED_P(EX_VAR_NUM(opline->op2.var))) {
- zval_ptr_dtor(EX_VAR_NUM(opline->op2.var));
+ if (Z_REFCOUNTED_P(EX_VAR(opline->op2.var))) {
+ zval_ptr_dtor(EX_VAR(opline->op2.var));
}
- ZVAL_OBJ(EX_VAR_NUM(opline->op2.var), EG(exception));
+ ZVAL_OBJ(EX_VAR(opline->op2.var), EG(exception));
if (UNEXPECTED(EG(exception) != exception)) {
EG(exception)->gc.refcount++;
HANDLE_EXCEPTION();
if (OP1_TYPE == IS_CV &&
OP2_TYPE == IS_UNUSED &&
(opline->extended_value & ZEND_QUICK_SET)) {
- zval_ptr_dtor(EX_VAR_NUM(opline->op1.var));
- ZVAL_UNDEF(EX_VAR_NUM(opline->op1.var));
+ zval_ptr_dtor(EX_VAR(opline->op1.var));
+ ZVAL_UNDEF(EX_VAR(opline->op1.var));
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
if (OP1_TYPE == IS_CV &&
OP2_TYPE == IS_UNUSED &&
(opline->extended_value & ZEND_QUICK_SET)) {
- if (Z_TYPE_P(EX_VAR_NUM(opline->op1.var)) != IS_UNDEF) {
- value = EX_VAR_NUM(opline->op1.var);
+ if (Z_TYPE_P(EX_VAR(opline->op1.var)) != IS_UNDEF) {
+ value = EX_VAR(opline->op1.var);
ZVAL_DEREF(value);
} else {
isset = 0;
if (IS_CONST == IS_CV &&
IS_CONST == IS_UNUSED &&
(opline->extended_value & ZEND_QUICK_SET)) {
- zval_ptr_dtor(EX_VAR_NUM(opline->op1.var));
- ZVAL_UNDEF(EX_VAR_NUM(opline->op1.var));
+ zval_ptr_dtor(EX_VAR(opline->op1.var));
+ ZVAL_UNDEF(EX_VAR(opline->op1.var));
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
if (IS_CONST == IS_CV &&
IS_CONST == IS_UNUSED &&
(opline->extended_value & ZEND_QUICK_SET)) {
- if (Z_TYPE_P(EX_VAR_NUM(opline->op1.var)) != IS_UNDEF) {
- value = EX_VAR_NUM(opline->op1.var);
+ if (Z_TYPE_P(EX_VAR(opline->op1.var)) != IS_UNDEF) {
+ value = EX_VAR(opline->op1.var);
ZVAL_DEREF(value);
} else {
isset = 0;
if (IS_CONST == IS_CV &&
IS_VAR == IS_UNUSED &&
(opline->extended_value & ZEND_QUICK_SET)) {
- zval_ptr_dtor(EX_VAR_NUM(opline->op1.var));
- ZVAL_UNDEF(EX_VAR_NUM(opline->op1.var));
+ zval_ptr_dtor(EX_VAR(opline->op1.var));
+ ZVAL_UNDEF(EX_VAR(opline->op1.var));
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
if (IS_CONST == IS_CV &&
IS_VAR == IS_UNUSED &&
(opline->extended_value & ZEND_QUICK_SET)) {
- if (Z_TYPE_P(EX_VAR_NUM(opline->op1.var)) != IS_UNDEF) {
- value = EX_VAR_NUM(opline->op1.var);
+ if (Z_TYPE_P(EX_VAR(opline->op1.var)) != IS_UNDEF) {
+ value = EX_VAR(opline->op1.var);
ZVAL_DEREF(value);
} else {
isset = 0;
if (IS_CONST == IS_CV &&
IS_UNUSED == IS_UNUSED &&
(opline->extended_value & ZEND_QUICK_SET)) {
- zval_ptr_dtor(EX_VAR_NUM(opline->op1.var));
- ZVAL_UNDEF(EX_VAR_NUM(opline->op1.var));
+ zval_ptr_dtor(EX_VAR(opline->op1.var));
+ ZVAL_UNDEF(EX_VAR(opline->op1.var));
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
if (IS_CONST == IS_CV &&
IS_UNUSED == IS_UNUSED &&
(opline->extended_value & ZEND_QUICK_SET)) {
- if (Z_TYPE_P(EX_VAR_NUM(opline->op1.var)) != IS_UNDEF) {
- value = EX_VAR_NUM(opline->op1.var);
+ if (Z_TYPE_P(EX_VAR(opline->op1.var)) != IS_UNDEF) {
+ value = EX_VAR(opline->op1.var);
ZVAL_DEREF(value);
} else {
isset = 0;
}
exception = EG(exception);
- if (Z_REFCOUNTED_P(EX_VAR_NUM(opline->op2.var))) {
- zval_ptr_dtor(EX_VAR_NUM(opline->op2.var));
+ if (Z_REFCOUNTED_P(EX_VAR(opline->op2.var))) {
+ zval_ptr_dtor(EX_VAR(opline->op2.var));
}
- ZVAL_OBJ(EX_VAR_NUM(opline->op2.var), EG(exception));
+ ZVAL_OBJ(EX_VAR(opline->op2.var), EG(exception));
if (UNEXPECTED(EG(exception) != exception)) {
EG(exception)->gc.refcount++;
HANDLE_EXCEPTION();
if (IS_TMP_VAR == IS_CV &&
IS_CONST == IS_UNUSED &&
(opline->extended_value & ZEND_QUICK_SET)) {
- zval_ptr_dtor(EX_VAR_NUM(opline->op1.var));
- ZVAL_UNDEF(EX_VAR_NUM(opline->op1.var));
+ zval_ptr_dtor(EX_VAR(opline->op1.var));
+ ZVAL_UNDEF(EX_VAR(opline->op1.var));
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
if (IS_TMP_VAR == IS_CV &&
IS_CONST == IS_UNUSED &&
(opline->extended_value & ZEND_QUICK_SET)) {
- if (Z_TYPE_P(EX_VAR_NUM(opline->op1.var)) != IS_UNDEF) {
- value = EX_VAR_NUM(opline->op1.var);
+ if (Z_TYPE_P(EX_VAR(opline->op1.var)) != IS_UNDEF) {
+ value = EX_VAR(opline->op1.var);
ZVAL_DEREF(value);
} else {
isset = 0;
if (IS_TMP_VAR == IS_CV &&
IS_VAR == IS_UNUSED &&
(opline->extended_value & ZEND_QUICK_SET)) {
- zval_ptr_dtor(EX_VAR_NUM(opline->op1.var));
- ZVAL_UNDEF(EX_VAR_NUM(opline->op1.var));
+ zval_ptr_dtor(EX_VAR(opline->op1.var));
+ ZVAL_UNDEF(EX_VAR(opline->op1.var));
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
if (IS_TMP_VAR == IS_CV &&
IS_VAR == IS_UNUSED &&
(opline->extended_value & ZEND_QUICK_SET)) {
- if (Z_TYPE_P(EX_VAR_NUM(opline->op1.var)) != IS_UNDEF) {
- value = EX_VAR_NUM(opline->op1.var);
+ if (Z_TYPE_P(EX_VAR(opline->op1.var)) != IS_UNDEF) {
+ value = EX_VAR(opline->op1.var);
ZVAL_DEREF(value);
} else {
isset = 0;
if (IS_TMP_VAR == IS_CV &&
IS_UNUSED == IS_UNUSED &&
(opline->extended_value & ZEND_QUICK_SET)) {
- zval_ptr_dtor(EX_VAR_NUM(opline->op1.var));
- ZVAL_UNDEF(EX_VAR_NUM(opline->op1.var));
+ zval_ptr_dtor(EX_VAR(opline->op1.var));
+ ZVAL_UNDEF(EX_VAR(opline->op1.var));
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
if (IS_TMP_VAR == IS_CV &&
IS_UNUSED == IS_UNUSED &&
(opline->extended_value & ZEND_QUICK_SET)) {
- if (Z_TYPE_P(EX_VAR_NUM(opline->op1.var)) != IS_UNDEF) {
- value = EX_VAR_NUM(opline->op1.var);
+ if (Z_TYPE_P(EX_VAR(opline->op1.var)) != IS_UNDEF) {
+ value = EX_VAR(opline->op1.var);
ZVAL_DEREF(value);
} else {
isset = 0;
if (IS_VAR == IS_CV &&
IS_CONST == IS_UNUSED &&
(opline->extended_value & ZEND_QUICK_SET)) {
- zval_ptr_dtor(EX_VAR_NUM(opline->op1.var));
- ZVAL_UNDEF(EX_VAR_NUM(opline->op1.var));
+ zval_ptr_dtor(EX_VAR(opline->op1.var));
+ ZVAL_UNDEF(EX_VAR(opline->op1.var));
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
if (IS_VAR == IS_CV &&
IS_CONST == IS_UNUSED &&
(opline->extended_value & ZEND_QUICK_SET)) {
- if (Z_TYPE_P(EX_VAR_NUM(opline->op1.var)) != IS_UNDEF) {
- value = EX_VAR_NUM(opline->op1.var);
+ if (Z_TYPE_P(EX_VAR(opline->op1.var)) != IS_UNDEF) {
+ value = EX_VAR(opline->op1.var);
ZVAL_DEREF(value);
} else {
isset = 0;
if (IS_VAR == IS_CV &&
IS_VAR == IS_UNUSED &&
(opline->extended_value & ZEND_QUICK_SET)) {
- zval_ptr_dtor(EX_VAR_NUM(opline->op1.var));
- ZVAL_UNDEF(EX_VAR_NUM(opline->op1.var));
+ zval_ptr_dtor(EX_VAR(opline->op1.var));
+ ZVAL_UNDEF(EX_VAR(opline->op1.var));
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
if (IS_VAR == IS_CV &&
IS_VAR == IS_UNUSED &&
(opline->extended_value & ZEND_QUICK_SET)) {
- if (Z_TYPE_P(EX_VAR_NUM(opline->op1.var)) != IS_UNDEF) {
- value = EX_VAR_NUM(opline->op1.var);
+ if (Z_TYPE_P(EX_VAR(opline->op1.var)) != IS_UNDEF) {
+ value = EX_VAR(opline->op1.var);
ZVAL_DEREF(value);
} else {
isset = 0;
if (IS_VAR == IS_CV &&
IS_UNUSED == IS_UNUSED &&
(opline->extended_value & ZEND_QUICK_SET)) {
- zval_ptr_dtor(EX_VAR_NUM(opline->op1.var));
- ZVAL_UNDEF(EX_VAR_NUM(opline->op1.var));
+ zval_ptr_dtor(EX_VAR(opline->op1.var));
+ ZVAL_UNDEF(EX_VAR(opline->op1.var));
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
if (IS_VAR == IS_CV &&
IS_UNUSED == IS_UNUSED &&
(opline->extended_value & ZEND_QUICK_SET)) {
- if (Z_TYPE_P(EX_VAR_NUM(opline->op1.var)) != IS_UNDEF) {
- value = EX_VAR_NUM(opline->op1.var);
+ if (Z_TYPE_P(EX_VAR(opline->op1.var)) != IS_UNDEF) {
+ value = EX_VAR(opline->op1.var);
ZVAL_DEREF(value);
} else {
isset = 0;
if (IS_CV == IS_CV &&
IS_CONST == IS_UNUSED &&
(opline->extended_value & ZEND_QUICK_SET)) {
- zval_ptr_dtor(EX_VAR_NUM(opline->op1.var));
- ZVAL_UNDEF(EX_VAR_NUM(opline->op1.var));
+ zval_ptr_dtor(EX_VAR(opline->op1.var));
+ ZVAL_UNDEF(EX_VAR(opline->op1.var));
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
if (IS_CV == IS_CV &&
IS_CONST == IS_UNUSED &&
(opline->extended_value & ZEND_QUICK_SET)) {
- if (Z_TYPE_P(EX_VAR_NUM(opline->op1.var)) != IS_UNDEF) {
- value = EX_VAR_NUM(opline->op1.var);
+ if (Z_TYPE_P(EX_VAR(opline->op1.var)) != IS_UNDEF) {
+ value = EX_VAR(opline->op1.var);
ZVAL_DEREF(value);
} else {
isset = 0;
if (IS_CV == IS_CV &&
IS_VAR == IS_UNUSED &&
(opline->extended_value & ZEND_QUICK_SET)) {
- zval_ptr_dtor(EX_VAR_NUM(opline->op1.var));
- ZVAL_UNDEF(EX_VAR_NUM(opline->op1.var));
+ zval_ptr_dtor(EX_VAR(opline->op1.var));
+ ZVAL_UNDEF(EX_VAR(opline->op1.var));
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
if (IS_CV == IS_CV &&
IS_VAR == IS_UNUSED &&
(opline->extended_value & ZEND_QUICK_SET)) {
- if (Z_TYPE_P(EX_VAR_NUM(opline->op1.var)) != IS_UNDEF) {
- value = EX_VAR_NUM(opline->op1.var);
+ if (Z_TYPE_P(EX_VAR(opline->op1.var)) != IS_UNDEF) {
+ value = EX_VAR(opline->op1.var);
ZVAL_DEREF(value);
} else {
isset = 0;
if (IS_CV == IS_CV &&
IS_UNUSED == IS_UNUSED &&
(opline->extended_value & ZEND_QUICK_SET)) {
- zval_ptr_dtor(EX_VAR_NUM(opline->op1.var));
- ZVAL_UNDEF(EX_VAR_NUM(opline->op1.var));
+ zval_ptr_dtor(EX_VAR(opline->op1.var));
+ ZVAL_UNDEF(EX_VAR(opline->op1.var));
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
if (IS_CV == IS_CV &&
IS_UNUSED == IS_UNUSED &&
(opline->extended_value & ZEND_QUICK_SET)) {
- if (Z_TYPE_P(EX_VAR_NUM(opline->op1.var)) != IS_UNDEF) {
- value = EX_VAR_NUM(opline->op1.var);
+ if (Z_TYPE_P(EX_VAR(opline->op1.var)) != IS_UNDEF) {
+ value = EX_VAR(opline->op1.var);
ZVAL_DEREF(value);
} else {
isset = 0;