SAVE_OPLINE();
do {
- if (IS_CONST == IS_CONST || IS_CONST == IS_TMP_VAR) {
+ if (IS_CONST == IS_CONST || IS_CONST == IS_TMP_VAR ||
+ (IS_CONST == IS_VAR && opline->extended_value == ZEND_RETURNS_VALUE)) {
/* Not supposed to happen, but we'll allow it */
zend_error(E_NOTICE, "Only variable references should be returned by reference");
if (!RETURN_VALUE_USED(opline) || UNEXPECTED(EG(exception) != NULL)) {
zval_ptr_dtor(&retval);
} else {
- AI_SET_PTR(&EX_T(opline->result.var), retval);
+ EX_T(opline->result.var).var.ptr = retval;
}
}
EX(original_return_value) = EG(return_value_ptr_ptr);
EG(active_op_array) = new_op_array;
if (RETURN_VALUE_USED(opline)) {
- EX_T(opline->result.var).var.ptr = NULL;
EX_T(opline->result.var).var.ptr_ptr = &EX_T(opline->result.var).var.ptr;
EG(return_value_ptr_ptr) = EX_T(opline->result.var).var.ptr_ptr;
} else {
ALLOC_ZVAL(retval);
ZVAL_BOOL(retval, failure_retval);
INIT_PZVAL(retval);
- AI_SET_PTR(&EX_T(opline->result.var), retval);
+ EX_T(opline->result.var).var.ptr = retval;
}
ZEND_VM_NEXT_OPCODE();
}
switch (type) {
case BP_VAR_R:
case BP_VAR_IS:
- AI_SET_PTR(&EX_T(opline->result.var), *retval);
+ EX_T(opline->result.var).var.ptr = *retval;
break;
case BP_VAR_UNSET: {
zend_free_op free_res;
if (UNEXPECTED(Z_TYPE_P(container) != IS_ARRAY)) {
PZVAL_LOCK(&EG(uninitialized_zval));
- AI_SET_PTR(&EX_T(opline->result.var), &EG(uninitialized_zval));
+ EX_T(opline->result.var).var.ptr = &EG(uninitialized_zval);
} else {
zval *value = *zend_fetch_dimension_address_inner(Z_ARRVAL_P(container), opline->op2.zv, IS_CONST, BP_VAR_R TSRMLS_CC);
PZVAL_LOCK(value);
- AI_SET_PTR(&EX_T(opline->result.var), value);
+ EX_T(opline->result.var).var.ptr = value;
}
CHECK_EXCEPTION();
switch (type) {
case BP_VAR_R:
case BP_VAR_IS:
- AI_SET_PTR(&EX_T(opline->result.var), *retval);
+ EX_T(opline->result.var).var.ptr = *retval;
break;
case BP_VAR_UNSET: {
zend_free_op free_res;
switch (type) {
case BP_VAR_R:
case BP_VAR_IS:
- AI_SET_PTR(&EX_T(opline->result.var), *retval);
+ EX_T(opline->result.var).var.ptr = *retval;
break;
case BP_VAR_UNSET: {
zend_free_op free_res;
SAVE_OPLINE();
do {
- if (IS_TMP_VAR == IS_CONST || IS_TMP_VAR == IS_TMP_VAR) {
+ if (IS_TMP_VAR == IS_CONST || IS_TMP_VAR == IS_TMP_VAR ||
+ (IS_TMP_VAR == IS_VAR && opline->extended_value == ZEND_RETURNS_VALUE)) {
/* Not supposed to happen, but we'll allow it */
zend_error(E_NOTICE, "Only variable references should be returned by reference");
if (!RETURN_VALUE_USED(opline) || UNEXPECTED(EG(exception) != NULL)) {
zval_ptr_dtor(&retval);
} else {
- AI_SET_PTR(&EX_T(opline->result.var), retval);
+ EX_T(opline->result.var).var.ptr = retval;
}
}
EX(original_return_value) = EG(return_value_ptr_ptr);
EG(active_op_array) = new_op_array;
if (RETURN_VALUE_USED(opline)) {
- EX_T(opline->result.var).var.ptr = NULL;
EX_T(opline->result.var).var.ptr_ptr = &EX_T(opline->result.var).var.ptr;
EG(return_value_ptr_ptr) = EX_T(opline->result.var).var.ptr_ptr;
} else {
ALLOC_ZVAL(retval);
ZVAL_BOOL(retval, failure_retval);
INIT_PZVAL(retval);
- AI_SET_PTR(&EX_T(opline->result.var), retval);
+ EX_T(opline->result.var).var.ptr = retval;
}
ZEND_VM_NEXT_OPCODE();
}
switch (type) {
case BP_VAR_R:
case BP_VAR_IS:
- AI_SET_PTR(&EX_T(opline->result.var), *retval);
+ EX_T(opline->result.var).var.ptr = *retval;
break;
case BP_VAR_UNSET: {
zend_free_op free_res;
if (UNEXPECTED(Z_TYPE_P(container) != IS_ARRAY)) {
PZVAL_LOCK(&EG(uninitialized_zval));
- AI_SET_PTR(&EX_T(opline->result.var), &EG(uninitialized_zval));
+ EX_T(opline->result.var).var.ptr = &EG(uninitialized_zval);
} else {
zval *value = *zend_fetch_dimension_address_inner(Z_ARRVAL_P(container), opline->op2.zv, IS_CONST, BP_VAR_R TSRMLS_CC);
PZVAL_LOCK(value);
- AI_SET_PTR(&EX_T(opline->result.var), value);
+ EX_T(opline->result.var).var.ptr = value;
}
CHECK_EXCEPTION();
switch (type) {
case BP_VAR_R:
case BP_VAR_IS:
- AI_SET_PTR(&EX_T(opline->result.var), *retval);
+ EX_T(opline->result.var).var.ptr = *retval;
break;
case BP_VAR_UNSET: {
zend_free_op free_res;
switch (type) {
case BP_VAR_R:
case BP_VAR_IS:
- AI_SET_PTR(&EX_T(opline->result.var), *retval);
+ EX_T(opline->result.var).var.ptr = *retval;
break;
case BP_VAR_UNSET: {
zend_free_op free_res;
if (IS_VAR == IS_VAR && UNEXPECTED(*var_ptr == &EG(error_zval))) {
if (RETURN_VALUE_USED(opline)) {
PZVAL_LOCK(&EG(uninitialized_zval));
- AI_SET_PTR(&EX_T(opline->result.var), &EG(uninitialized_zval));
+ EX_T(opline->result.var).var.ptr = &EG(uninitialized_zval);
}
if (free_op1.var) {zval_ptr_dtor_nogc(&free_op1.var);};
CHECK_EXCEPTION();
if (RETURN_VALUE_USED(opline)) {
PZVAL_LOCK(*var_ptr);
- AI_SET_PTR(&EX_T(opline->result.var), *var_ptr);
+ EX_T(opline->result.var).var.ptr = *var_ptr;
}
if (free_op1.var) {zval_ptr_dtor_nogc(&free_op1.var);};
if (IS_VAR == IS_VAR && UNEXPECTED(*var_ptr == &EG(error_zval))) {
if (RETURN_VALUE_USED(opline)) {
PZVAL_LOCK(&EG(uninitialized_zval));
- AI_SET_PTR(&EX_T(opline->result.var), &EG(uninitialized_zval));
+ EX_T(opline->result.var).var.ptr = &EG(uninitialized_zval);
}
if (free_op1.var) {zval_ptr_dtor_nogc(&free_op1.var);};
CHECK_EXCEPTION();
if (RETURN_VALUE_USED(opline)) {
PZVAL_LOCK(*var_ptr);
- AI_SET_PTR(&EX_T(opline->result.var), *var_ptr);
+ EX_T(opline->result.var).var.ptr = *var_ptr;
}
if (free_op1.var) {zval_ptr_dtor_nogc(&free_op1.var);};
SAVE_OPLINE();
do {
- if (IS_VAR == IS_CONST || IS_VAR == IS_TMP_VAR) {
+ if (IS_VAR == IS_CONST || IS_VAR == IS_TMP_VAR ||
+ (IS_VAR == IS_VAR && opline->extended_value == ZEND_RETURNS_VALUE)) {
/* Not supposed to happen, but we'll allow it */
zend_error(E_NOTICE, "Only variable references should be returned by reference");
if (!RETURN_VALUE_USED(opline) || UNEXPECTED(EG(exception) != NULL)) {
zval_ptr_dtor(&retval);
} else {
- AI_SET_PTR(&EX_T(opline->result.var), retval);
+ EX_T(opline->result.var).var.ptr = retval;
}
}
zval_ptr_dtor_nogc(&free_op1.var);
EX(original_return_value) = EG(return_value_ptr_ptr);
EG(active_op_array) = new_op_array;
if (RETURN_VALUE_USED(opline)) {
- EX_T(opline->result.var).var.ptr = NULL;
EX_T(opline->result.var).var.ptr_ptr = &EX_T(opline->result.var).var.ptr;
EG(return_value_ptr_ptr) = EX_T(opline->result.var).var.ptr_ptr;
} else {
ALLOC_ZVAL(retval);
ZVAL_BOOL(retval, failure_retval);
INIT_PZVAL(retval);
- AI_SET_PTR(&EX_T(opline->result.var), retval);
+ EX_T(opline->result.var).var.ptr = retval;
}
ZEND_VM_NEXT_OPCODE();
}
Z_ADDREF_PP(value);
} else {
PZVAL_LOCK(*value);
- AI_SET_PTR(&EX_T(opline->result.var), *value);
+ EX_T(opline->result.var).var.ptr = *value;
}
CHECK_EXCEPTION();
if (RETURN_VALUE_USED(opline)) {
PZVAL_LOCK(&EG(uninitialized_zval));
EX_T(opline->result.var).var.ptr = &EG(uninitialized_zval);
- EX_T(opline->result.var).var.ptr_ptr = NULL;
}
} else {
/* here we are sure we are dealing with an object */
if (RETURN_VALUE_USED(opline)) {
PZVAL_LOCK(*zptr);
EX_T(opline->result.var).var.ptr = *zptr;
- EX_T(opline->result.var).var.ptr_ptr = NULL;
}
}
}
if (RETURN_VALUE_USED(opline)) {
PZVAL_LOCK(z);
EX_T(opline->result.var).var.ptr = z;
- EX_T(opline->result.var).var.ptr_ptr = NULL;
}
zval_ptr_dtor(&z);
} else {
if (RETURN_VALUE_USED(opline)) {
PZVAL_LOCK(&EG(uninitialized_zval));
EX_T(opline->result.var).var.ptr = &EG(uninitialized_zval);
- EX_T(opline->result.var).var.ptr_ptr = NULL;
}
}
}
if (UNEXPECTED(*var_ptr == &EG(error_zval))) {
if (RETURN_VALUE_USED(opline)) {
PZVAL_LOCK(&EG(uninitialized_zval));
- AI_SET_PTR(&EX_T(opline->result.var), &EG(uninitialized_zval));
+ EX_T(opline->result.var).var.ptr = &EG(uninitialized_zval);
}
if (free_op1.var) {zval_ptr_dtor_nogc(&free_op1.var);};
if (RETURN_VALUE_USED(opline)) {
PZVAL_LOCK(*var_ptr);
- AI_SET_PTR(&EX_T(opline->result.var), *var_ptr);
+ EX_T(opline->result.var).var.ptr = *var_ptr;
}
if (opline->extended_value == ZEND_ASSIGN_DIM) {
switch (type) {
case BP_VAR_R:
case BP_VAR_IS:
- AI_SET_PTR(&EX_T(opline->result.var), *retval);
+ EX_T(opline->result.var).var.ptr = *retval;
break;
case BP_VAR_UNSET: {
zend_free_op free_res;
UNEXPECTED(Z_OBJ_HT_P(container)->read_property == NULL)) {
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));
+ EX_T(opline->result.var).var.ptr = &EG(uninitialized_zval);
} else {
zval *retval;
retval = Z_OBJ_HT_P(container)->read_property(container, offset, BP_VAR_R, ((IS_CONST == IS_CONST) ? opline->op2.literal : NULL) TSRMLS_CC);
PZVAL_LOCK(retval);
- AI_SET_PTR(&EX_T(opline->result.var), retval);
+ EX_T(opline->result.var).var.ptr = retval;
if (0) {
zval_ptr_dtor(&offset);
if (UNEXPECTED(Z_TYPE_P(container) != IS_OBJECT) ||
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));
+ EX_T(opline->result.var).var.ptr = &EG(uninitialized_zval);
} else {
zval *retval;
retval = Z_OBJ_HT_P(container)->read_property(container, offset, BP_VAR_IS, ((IS_CONST == IS_CONST) ? opline->op2.literal : NULL) TSRMLS_CC);
PZVAL_LOCK(retval);
- AI_SET_PTR(&EX_T(opline->result.var), retval);
+ EX_T(opline->result.var).var.ptr = retval;
if (0) {
zval_ptr_dtor(&offset);
ALLOC_ZVAL(retval);
ZVAL_STRINGL(retval, Z_STRVAL_P(EX_T((opline+1)->op2.var).str_offset.str)+EX_T((opline+1)->op2.var).str_offset.offset, 1, 1);
INIT_PZVAL(retval);
- AI_SET_PTR(&EX_T(opline->result.var), retval);
+ EX_T(opline->result.var).var.ptr = retval;
}
} else if (RETURN_VALUE_USED(opline)) {
PZVAL_LOCK(&EG(uninitialized_zval));
- AI_SET_PTR(&EX_T(opline->result.var), &EG(uninitialized_zval));
+ EX_T(opline->result.var).var.ptr = &EG(uninitialized_zval);
}
} else if (UNEXPECTED(*variable_ptr_ptr == &EG(error_zval))) {
if (IS_TMP_FREE(free_op_data1)) {
}
if (RETURN_VALUE_USED(opline)) {
PZVAL_LOCK(&EG(uninitialized_zval));
- AI_SET_PTR(&EX_T(opline->result.var), &EG(uninitialized_zval));
+ EX_T(opline->result.var).var.ptr = &EG(uninitialized_zval);
}
} else {
if ((opline+1)->op1_type == IS_TMP_VAR) {
}
if (RETURN_VALUE_USED(opline)) {
PZVAL_LOCK(value);
- AI_SET_PTR(&EX_T(opline->result.var), value);
+ EX_T(opline->result.var).var.ptr = value;
}
}
FREE_OP_VAR_PTR(free_op_data2);
ALLOC_ZVAL(retval);
ZVAL_STRINGL(retval, Z_STRVAL_P(EX_T(opline->op1.var).str_offset.str)+EX_T(opline->op1.var).str_offset.offset, 1, 1);
INIT_PZVAL(retval);
- AI_SET_PTR(&EX_T(opline->result.var), retval);
+ EX_T(opline->result.var).var.ptr = retval;
}
} else if (RETURN_VALUE_USED(opline)) {
PZVAL_LOCK(&EG(uninitialized_zval));
- AI_SET_PTR(&EX_T(opline->result.var), &EG(uninitialized_zval));
+ EX_T(opline->result.var).var.ptr = &EG(uninitialized_zval);
}
} else if (IS_VAR == IS_VAR && UNEXPECTED(*variable_ptr_ptr == &EG(error_zval))) {
if (0) {
}
if (RETURN_VALUE_USED(opline)) {
PZVAL_LOCK(&EG(uninitialized_zval));
- AI_SET_PTR(&EX_T(opline->result.var), &EG(uninitialized_zval));
+ EX_T(opline->result.var).var.ptr = &EG(uninitialized_zval);
}
} else {
if (IS_CONST == IS_TMP_VAR) {
}
if (RETURN_VALUE_USED(opline)) {
PZVAL_LOCK(value);
- AI_SET_PTR(&EX_T(opline->result.var), value);
+ EX_T(opline->result.var).var.ptr = value;
}
}
if (RETURN_VALUE_USED(opline)) {
PZVAL_LOCK(&EG(uninitialized_zval));
EX_T(opline->result.var).var.ptr = &EG(uninitialized_zval);
- EX_T(opline->result.var).var.ptr_ptr = NULL;
}
} else {
/* here we are sure we are dealing with an object */
if (RETURN_VALUE_USED(opline)) {
PZVAL_LOCK(*zptr);
EX_T(opline->result.var).var.ptr = *zptr;
- EX_T(opline->result.var).var.ptr_ptr = NULL;
}
}
}
if (RETURN_VALUE_USED(opline)) {
PZVAL_LOCK(z);
EX_T(opline->result.var).var.ptr = z;
- EX_T(opline->result.var).var.ptr_ptr = NULL;
}
zval_ptr_dtor(&z);
} else {
if (RETURN_VALUE_USED(opline)) {
PZVAL_LOCK(&EG(uninitialized_zval));
EX_T(opline->result.var).var.ptr = &EG(uninitialized_zval);
- EX_T(opline->result.var).var.ptr_ptr = NULL;
}
}
}
if (UNEXPECTED(*var_ptr == &EG(error_zval))) {
if (RETURN_VALUE_USED(opline)) {
PZVAL_LOCK(&EG(uninitialized_zval));
- AI_SET_PTR(&EX_T(opline->result.var), &EG(uninitialized_zval));
+ EX_T(opline->result.var).var.ptr = &EG(uninitialized_zval);
}
zval_dtor(free_op2.var);
if (free_op1.var) {zval_ptr_dtor_nogc(&free_op1.var);};
if (RETURN_VALUE_USED(opline)) {
PZVAL_LOCK(*var_ptr);
- AI_SET_PTR(&EX_T(opline->result.var), *var_ptr);
+ EX_T(opline->result.var).var.ptr = *var_ptr;
}
zval_dtor(free_op2.var);
UNEXPECTED(Z_OBJ_HT_P(container)->read_property == NULL)) {
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));
+ EX_T(opline->result.var).var.ptr = &EG(uninitialized_zval);
zval_dtor(free_op2.var);
} else {
zval *retval;
retval = Z_OBJ_HT_P(container)->read_property(container, offset, BP_VAR_R, ((IS_TMP_VAR == IS_CONST) ? opline->op2.literal : NULL) TSRMLS_CC);
PZVAL_LOCK(retval);
- AI_SET_PTR(&EX_T(opline->result.var), retval);
+ EX_T(opline->result.var).var.ptr = retval;
if (1) {
zval_ptr_dtor(&offset);
if (UNEXPECTED(Z_TYPE_P(container) != IS_OBJECT) ||
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));
+ EX_T(opline->result.var).var.ptr = &EG(uninitialized_zval);
zval_dtor(free_op2.var);
} else {
zval *retval;
retval = Z_OBJ_HT_P(container)->read_property(container, offset, BP_VAR_IS, ((IS_TMP_VAR == IS_CONST) ? opline->op2.literal : NULL) TSRMLS_CC);
PZVAL_LOCK(retval);
- AI_SET_PTR(&EX_T(opline->result.var), retval);
+ EX_T(opline->result.var).var.ptr = retval;
if (1) {
zval_ptr_dtor(&offset);
ALLOC_ZVAL(retval);
ZVAL_STRINGL(retval, Z_STRVAL_P(EX_T((opline+1)->op2.var).str_offset.str)+EX_T((opline+1)->op2.var).str_offset.offset, 1, 1);
INIT_PZVAL(retval);
- AI_SET_PTR(&EX_T(opline->result.var), retval);
+ EX_T(opline->result.var).var.ptr = retval;
}
} else if (RETURN_VALUE_USED(opline)) {
PZVAL_LOCK(&EG(uninitialized_zval));
- AI_SET_PTR(&EX_T(opline->result.var), &EG(uninitialized_zval));
+ EX_T(opline->result.var).var.ptr = &EG(uninitialized_zval);
}
} else if (UNEXPECTED(*variable_ptr_ptr == &EG(error_zval))) {
if (IS_TMP_FREE(free_op_data1)) {
}
if (RETURN_VALUE_USED(opline)) {
PZVAL_LOCK(&EG(uninitialized_zval));
- AI_SET_PTR(&EX_T(opline->result.var), &EG(uninitialized_zval));
+ EX_T(opline->result.var).var.ptr = &EG(uninitialized_zval);
}
} else {
if ((opline+1)->op1_type == IS_TMP_VAR) {
}
if (RETURN_VALUE_USED(opline)) {
PZVAL_LOCK(value);
- AI_SET_PTR(&EX_T(opline->result.var), value);
+ EX_T(opline->result.var).var.ptr = value;
}
}
FREE_OP_VAR_PTR(free_op_data2);
ALLOC_ZVAL(retval);
ZVAL_STRINGL(retval, Z_STRVAL_P(EX_T(opline->op1.var).str_offset.str)+EX_T(opline->op1.var).str_offset.offset, 1, 1);
INIT_PZVAL(retval);
- AI_SET_PTR(&EX_T(opline->result.var), retval);
+ EX_T(opline->result.var).var.ptr = retval;
}
} else if (RETURN_VALUE_USED(opline)) {
PZVAL_LOCK(&EG(uninitialized_zval));
- AI_SET_PTR(&EX_T(opline->result.var), &EG(uninitialized_zval));
+ EX_T(opline->result.var).var.ptr = &EG(uninitialized_zval);
}
} else if (IS_VAR == IS_VAR && UNEXPECTED(*variable_ptr_ptr == &EG(error_zval))) {
if (1) {
}
if (RETURN_VALUE_USED(opline)) {
PZVAL_LOCK(&EG(uninitialized_zval));
- AI_SET_PTR(&EX_T(opline->result.var), &EG(uninitialized_zval));
+ EX_T(opline->result.var).var.ptr = &EG(uninitialized_zval);
}
} else {
if (IS_TMP_VAR == IS_TMP_VAR) {
}
if (RETURN_VALUE_USED(opline)) {
PZVAL_LOCK(value);
- AI_SET_PTR(&EX_T(opline->result.var), value);
+ EX_T(opline->result.var).var.ptr = value;
}
}
if (RETURN_VALUE_USED(opline)) {
PZVAL_LOCK(&EG(uninitialized_zval));
EX_T(opline->result.var).var.ptr = &EG(uninitialized_zval);
- EX_T(opline->result.var).var.ptr_ptr = NULL;
}
} else {
/* here we are sure we are dealing with an object */
if (RETURN_VALUE_USED(opline)) {
PZVAL_LOCK(*zptr);
EX_T(opline->result.var).var.ptr = *zptr;
- EX_T(opline->result.var).var.ptr_ptr = NULL;
}
}
}
if (RETURN_VALUE_USED(opline)) {
PZVAL_LOCK(z);
EX_T(opline->result.var).var.ptr = z;
- EX_T(opline->result.var).var.ptr_ptr = NULL;
}
zval_ptr_dtor(&z);
} else {
if (RETURN_VALUE_USED(opline)) {
PZVAL_LOCK(&EG(uninitialized_zval));
EX_T(opline->result.var).var.ptr = &EG(uninitialized_zval);
- EX_T(opline->result.var).var.ptr_ptr = NULL;
}
}
}
if (UNEXPECTED(*var_ptr == &EG(error_zval))) {
if (RETURN_VALUE_USED(opline)) {
PZVAL_LOCK(&EG(uninitialized_zval));
- AI_SET_PTR(&EX_T(opline->result.var), &EG(uninitialized_zval));
+ EX_T(opline->result.var).var.ptr = &EG(uninitialized_zval);
}
zval_ptr_dtor_nogc(&free_op2.var);
if (free_op1.var) {zval_ptr_dtor_nogc(&free_op1.var);};
if (RETURN_VALUE_USED(opline)) {
PZVAL_LOCK(*var_ptr);
- AI_SET_PTR(&EX_T(opline->result.var), *var_ptr);
+ EX_T(opline->result.var).var.ptr = *var_ptr;
}
zval_ptr_dtor_nogc(&free_op2.var);
switch (type) {
case BP_VAR_R:
case BP_VAR_IS:
- AI_SET_PTR(&EX_T(opline->result.var), *retval);
+ EX_T(opline->result.var).var.ptr = *retval;
break;
case BP_VAR_UNSET: {
zend_free_op free_res;
UNEXPECTED(Z_OBJ_HT_P(container)->read_property == NULL)) {
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));
+ EX_T(opline->result.var).var.ptr = &EG(uninitialized_zval);
zval_ptr_dtor_nogc(&free_op2.var);
} else {
zval *retval;
retval = Z_OBJ_HT_P(container)->read_property(container, offset, BP_VAR_R, ((IS_VAR == IS_CONST) ? opline->op2.literal : NULL) TSRMLS_CC);
PZVAL_LOCK(retval);
- AI_SET_PTR(&EX_T(opline->result.var), retval);
+ EX_T(opline->result.var).var.ptr = retval;
if (0) {
zval_ptr_dtor(&offset);
if (UNEXPECTED(Z_TYPE_P(container) != IS_OBJECT) ||
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));
+ EX_T(opline->result.var).var.ptr = &EG(uninitialized_zval);
zval_ptr_dtor_nogc(&free_op2.var);
} else {
zval *retval;
retval = Z_OBJ_HT_P(container)->read_property(container, offset, BP_VAR_IS, ((IS_VAR == IS_CONST) ? opline->op2.literal : NULL) TSRMLS_CC);
PZVAL_LOCK(retval);
- AI_SET_PTR(&EX_T(opline->result.var), retval);
+ EX_T(opline->result.var).var.ptr = retval;
if (0) {
zval_ptr_dtor(&offset);
ALLOC_ZVAL(retval);
ZVAL_STRINGL(retval, Z_STRVAL_P(EX_T((opline+1)->op2.var).str_offset.str)+EX_T((opline+1)->op2.var).str_offset.offset, 1, 1);
INIT_PZVAL(retval);
- AI_SET_PTR(&EX_T(opline->result.var), retval);
+ EX_T(opline->result.var).var.ptr = retval;
}
} else if (RETURN_VALUE_USED(opline)) {
PZVAL_LOCK(&EG(uninitialized_zval));
- AI_SET_PTR(&EX_T(opline->result.var), &EG(uninitialized_zval));
+ EX_T(opline->result.var).var.ptr = &EG(uninitialized_zval);
}
} else if (UNEXPECTED(*variable_ptr_ptr == &EG(error_zval))) {
if (IS_TMP_FREE(free_op_data1)) {
}
if (RETURN_VALUE_USED(opline)) {
PZVAL_LOCK(&EG(uninitialized_zval));
- AI_SET_PTR(&EX_T(opline->result.var), &EG(uninitialized_zval));
+ EX_T(opline->result.var).var.ptr = &EG(uninitialized_zval);
}
} else {
if ((opline+1)->op1_type == IS_TMP_VAR) {
}
if (RETURN_VALUE_USED(opline)) {
PZVAL_LOCK(value);
- AI_SET_PTR(&EX_T(opline->result.var), value);
+ EX_T(opline->result.var).var.ptr = value;
}
}
FREE_OP_VAR_PTR(free_op_data2);
ALLOC_ZVAL(retval);
ZVAL_STRINGL(retval, Z_STRVAL_P(EX_T(opline->op1.var).str_offset.str)+EX_T(opline->op1.var).str_offset.offset, 1, 1);
INIT_PZVAL(retval);
- AI_SET_PTR(&EX_T(opline->result.var), retval);
+ EX_T(opline->result.var).var.ptr = retval;
}
} else if (RETURN_VALUE_USED(opline)) {
PZVAL_LOCK(&EG(uninitialized_zval));
- AI_SET_PTR(&EX_T(opline->result.var), &EG(uninitialized_zval));
+ EX_T(opline->result.var).var.ptr = &EG(uninitialized_zval);
}
} else if (IS_VAR == IS_VAR && UNEXPECTED(*variable_ptr_ptr == &EG(error_zval))) {
if (0) {
}
if (RETURN_VALUE_USED(opline)) {
PZVAL_LOCK(&EG(uninitialized_zval));
- AI_SET_PTR(&EX_T(opline->result.var), &EG(uninitialized_zval));
+ EX_T(opline->result.var).var.ptr = &EG(uninitialized_zval);
}
} else {
if (IS_VAR == IS_TMP_VAR) {
}
if (RETURN_VALUE_USED(opline)) {
PZVAL_LOCK(value);
- AI_SET_PTR(&EX_T(opline->result.var), value);
+ EX_T(opline->result.var).var.ptr = value;
}
}
if (RETURN_VALUE_USED(opline)) {
PZVAL_LOCK(*variable_ptr_ptr);
- AI_SET_PTR(&EX_T(opline->result.var), *variable_ptr_ptr);
+ EX_T(opline->result.var).var.ptr = *variable_ptr_ptr;
}
if (free_op1.var) {zval_ptr_dtor_nogc(&free_op1.var);};
if (RETURN_VALUE_USED(opline)) {
PZVAL_LOCK(&EG(uninitialized_zval));
EX_T(opline->result.var).var.ptr = &EG(uninitialized_zval);
- EX_T(opline->result.var).var.ptr_ptr = NULL;
}
} else {
/* here we are sure we are dealing with an object */
if (RETURN_VALUE_USED(opline)) {
PZVAL_LOCK(*zptr);
EX_T(opline->result.var).var.ptr = *zptr;
- EX_T(opline->result.var).var.ptr_ptr = NULL;
}
}
}
if (RETURN_VALUE_USED(opline)) {
PZVAL_LOCK(z);
EX_T(opline->result.var).var.ptr = z;
- EX_T(opline->result.var).var.ptr_ptr = NULL;
}
zval_ptr_dtor(&z);
} else {
if (RETURN_VALUE_USED(opline)) {
PZVAL_LOCK(&EG(uninitialized_zval));
EX_T(opline->result.var).var.ptr = &EG(uninitialized_zval);
- EX_T(opline->result.var).var.ptr_ptr = NULL;
}
}
}
if (UNEXPECTED(*var_ptr == &EG(error_zval))) {
if (RETURN_VALUE_USED(opline)) {
PZVAL_LOCK(&EG(uninitialized_zval));
- AI_SET_PTR(&EX_T(opline->result.var), &EG(uninitialized_zval));
+ EX_T(opline->result.var).var.ptr = &EG(uninitialized_zval);
}
if (free_op1.var) {zval_ptr_dtor_nogc(&free_op1.var);};
if (RETURN_VALUE_USED(opline)) {
PZVAL_LOCK(*var_ptr);
- AI_SET_PTR(&EX_T(opline->result.var), *var_ptr);
+ EX_T(opline->result.var).var.ptr = *var_ptr;
}
if (opline->extended_value == ZEND_ASSIGN_DIM) {
switch (type) {
case BP_VAR_R:
case BP_VAR_IS:
- AI_SET_PTR(&EX_T(opline->result.var), *retval);
+ EX_T(opline->result.var).var.ptr = *retval;
break;
case BP_VAR_UNSET: {
zend_free_op free_res;
ALLOC_ZVAL(retval);
ZVAL_STRINGL(retval, Z_STRVAL_P(EX_T((opline+1)->op2.var).str_offset.str)+EX_T((opline+1)->op2.var).str_offset.offset, 1, 1);
INIT_PZVAL(retval);
- AI_SET_PTR(&EX_T(opline->result.var), retval);
+ EX_T(opline->result.var).var.ptr = retval;
}
} else if (RETURN_VALUE_USED(opline)) {
PZVAL_LOCK(&EG(uninitialized_zval));
- AI_SET_PTR(&EX_T(opline->result.var), &EG(uninitialized_zval));
+ EX_T(opline->result.var).var.ptr = &EG(uninitialized_zval);
}
} else if (UNEXPECTED(*variable_ptr_ptr == &EG(error_zval))) {
if (IS_TMP_FREE(free_op_data1)) {
}
if (RETURN_VALUE_USED(opline)) {
PZVAL_LOCK(&EG(uninitialized_zval));
- AI_SET_PTR(&EX_T(opline->result.var), &EG(uninitialized_zval));
+ EX_T(opline->result.var).var.ptr = &EG(uninitialized_zval);
}
} else {
if ((opline+1)->op1_type == IS_TMP_VAR) {
}
if (RETURN_VALUE_USED(opline)) {
PZVAL_LOCK(value);
- AI_SET_PTR(&EX_T(opline->result.var), value);
+ EX_T(opline->result.var).var.ptr = value;
}
}
FREE_OP_VAR_PTR(free_op_data2);
if (RETURN_VALUE_USED(opline)) {
PZVAL_LOCK(&EG(uninitialized_zval));
EX_T(opline->result.var).var.ptr = &EG(uninitialized_zval);
- EX_T(opline->result.var).var.ptr_ptr = NULL;
}
} else {
/* here we are sure we are dealing with an object */
if (RETURN_VALUE_USED(opline)) {
PZVAL_LOCK(*zptr);
EX_T(opline->result.var).var.ptr = *zptr;
- EX_T(opline->result.var).var.ptr_ptr = NULL;
}
}
}
if (RETURN_VALUE_USED(opline)) {
PZVAL_LOCK(z);
EX_T(opline->result.var).var.ptr = z;
- EX_T(opline->result.var).var.ptr_ptr = NULL;
}
zval_ptr_dtor(&z);
} else {
if (RETURN_VALUE_USED(opline)) {
PZVAL_LOCK(&EG(uninitialized_zval));
EX_T(opline->result.var).var.ptr = &EG(uninitialized_zval);
- EX_T(opline->result.var).var.ptr_ptr = NULL;
}
}
}
if (UNEXPECTED(*var_ptr == &EG(error_zval))) {
if (RETURN_VALUE_USED(opline)) {
PZVAL_LOCK(&EG(uninitialized_zval));
- AI_SET_PTR(&EX_T(opline->result.var), &EG(uninitialized_zval));
+ EX_T(opline->result.var).var.ptr = &EG(uninitialized_zval);
}
if (free_op1.var) {zval_ptr_dtor_nogc(&free_op1.var);};
if (RETURN_VALUE_USED(opline)) {
PZVAL_LOCK(*var_ptr);
- AI_SET_PTR(&EX_T(opline->result.var), *var_ptr);
+ EX_T(opline->result.var).var.ptr = *var_ptr;
}
if (opline->extended_value == ZEND_ASSIGN_DIM) {
UNEXPECTED(Z_OBJ_HT_P(container)->read_property == NULL)) {
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));
+ EX_T(opline->result.var).var.ptr = &EG(uninitialized_zval);
} else {
zval *retval;
retval = Z_OBJ_HT_P(container)->read_property(container, offset, BP_VAR_R, ((IS_CV == IS_CONST) ? opline->op2.literal : NULL) TSRMLS_CC);
PZVAL_LOCK(retval);
- AI_SET_PTR(&EX_T(opline->result.var), retval);
+ EX_T(opline->result.var).var.ptr = retval;
if (0) {
zval_ptr_dtor(&offset);
if (UNEXPECTED(Z_TYPE_P(container) != IS_OBJECT) ||
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));
+ EX_T(opline->result.var).var.ptr = &EG(uninitialized_zval);
} else {
zval *retval;
retval = Z_OBJ_HT_P(container)->read_property(container, offset, BP_VAR_IS, ((IS_CV == IS_CONST) ? opline->op2.literal : NULL) TSRMLS_CC);
PZVAL_LOCK(retval);
- AI_SET_PTR(&EX_T(opline->result.var), retval);
+ EX_T(opline->result.var).var.ptr = retval;
if (0) {
zval_ptr_dtor(&offset);
ALLOC_ZVAL(retval);
ZVAL_STRINGL(retval, Z_STRVAL_P(EX_T((opline+1)->op2.var).str_offset.str)+EX_T((opline+1)->op2.var).str_offset.offset, 1, 1);
INIT_PZVAL(retval);
- AI_SET_PTR(&EX_T(opline->result.var), retval);
+ EX_T(opline->result.var).var.ptr = retval;
}
} else if (RETURN_VALUE_USED(opline)) {
PZVAL_LOCK(&EG(uninitialized_zval));
- AI_SET_PTR(&EX_T(opline->result.var), &EG(uninitialized_zval));
+ EX_T(opline->result.var).var.ptr = &EG(uninitialized_zval);
}
} else if (UNEXPECTED(*variable_ptr_ptr == &EG(error_zval))) {
if (IS_TMP_FREE(free_op_data1)) {
}
if (RETURN_VALUE_USED(opline)) {
PZVAL_LOCK(&EG(uninitialized_zval));
- AI_SET_PTR(&EX_T(opline->result.var), &EG(uninitialized_zval));
+ EX_T(opline->result.var).var.ptr = &EG(uninitialized_zval);
}
} else {
if ((opline+1)->op1_type == IS_TMP_VAR) {
}
if (RETURN_VALUE_USED(opline)) {
PZVAL_LOCK(value);
- AI_SET_PTR(&EX_T(opline->result.var), value);
+ EX_T(opline->result.var).var.ptr = value;
}
}
FREE_OP_VAR_PTR(free_op_data2);
ALLOC_ZVAL(retval);
ZVAL_STRINGL(retval, Z_STRVAL_P(EX_T(opline->op1.var).str_offset.str)+EX_T(opline->op1.var).str_offset.offset, 1, 1);
INIT_PZVAL(retval);
- AI_SET_PTR(&EX_T(opline->result.var), retval);
+ EX_T(opline->result.var).var.ptr = retval;
}
} else if (RETURN_VALUE_USED(opline)) {
PZVAL_LOCK(&EG(uninitialized_zval));
- AI_SET_PTR(&EX_T(opline->result.var), &EG(uninitialized_zval));
+ EX_T(opline->result.var).var.ptr = &EG(uninitialized_zval);
}
} else if (IS_VAR == IS_VAR && UNEXPECTED(*variable_ptr_ptr == &EG(error_zval))) {
if (0) {
}
if (RETURN_VALUE_USED(opline)) {
PZVAL_LOCK(&EG(uninitialized_zval));
- AI_SET_PTR(&EX_T(opline->result.var), &EG(uninitialized_zval));
+ EX_T(opline->result.var).var.ptr = &EG(uninitialized_zval);
}
} else {
if (IS_CV == IS_TMP_VAR) {
}
if (RETURN_VALUE_USED(opline)) {
PZVAL_LOCK(value);
- AI_SET_PTR(&EX_T(opline->result.var), value);
+ EX_T(opline->result.var).var.ptr = value;
}
}
if (RETURN_VALUE_USED(opline)) {
PZVAL_LOCK(*variable_ptr_ptr);
- AI_SET_PTR(&EX_T(opline->result.var), *variable_ptr_ptr);
+ EX_T(opline->result.var).var.ptr = *variable_ptr_ptr;
}
if (free_op1.var) {zval_ptr_dtor_nogc(&free_op1.var);};
if (!RETURN_VALUE_USED(opline) || UNEXPECTED(EG(exception) != NULL)) {
zval_ptr_dtor(&retval);
} else {
- AI_SET_PTR(&EX_T(opline->result.var), retval);
+ EX_T(opline->result.var).var.ptr = retval;
}
}
if (RETURN_VALUE_USED(opline)) {
PZVAL_LOCK(&EG(uninitialized_zval));
EX_T(opline->result.var).var.ptr = &EG(uninitialized_zval);
- EX_T(opline->result.var).var.ptr_ptr = NULL;
}
} else {
/* here we are sure we are dealing with an object */
if (RETURN_VALUE_USED(opline)) {
PZVAL_LOCK(*zptr);
EX_T(opline->result.var).var.ptr = *zptr;
- EX_T(opline->result.var).var.ptr_ptr = NULL;
}
}
}
if (RETURN_VALUE_USED(opline)) {
PZVAL_LOCK(z);
EX_T(opline->result.var).var.ptr = z;
- EX_T(opline->result.var).var.ptr_ptr = NULL;
}
zval_ptr_dtor(&z);
} else {
if (RETURN_VALUE_USED(opline)) {
PZVAL_LOCK(&EG(uninitialized_zval));
EX_T(opline->result.var).var.ptr = &EG(uninitialized_zval);
- EX_T(opline->result.var).var.ptr_ptr = NULL;
}
}
}
if (UNEXPECTED(*var_ptr == &EG(error_zval))) {
if (RETURN_VALUE_USED(opline)) {
PZVAL_LOCK(&EG(uninitialized_zval));
- AI_SET_PTR(&EX_T(opline->result.var), &EG(uninitialized_zval));
+ EX_T(opline->result.var).var.ptr = &EG(uninitialized_zval);
}
if (RETURN_VALUE_USED(opline)) {
PZVAL_LOCK(*var_ptr);
- AI_SET_PTR(&EX_T(opline->result.var), *var_ptr);
+ EX_T(opline->result.var).var.ptr = *var_ptr;
}
if (opline->extended_value == ZEND_ASSIGN_DIM) {
UNEXPECTED(Z_OBJ_HT_P(container)->read_property == NULL)) {
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));
+ EX_T(opline->result.var).var.ptr = &EG(uninitialized_zval);
} else {
zval *retval;
retval = Z_OBJ_HT_P(container)->read_property(container, offset, BP_VAR_R, ((IS_CONST == IS_CONST) ? opline->op2.literal : NULL) TSRMLS_CC);
PZVAL_LOCK(retval);
- AI_SET_PTR(&EX_T(opline->result.var), retval);
+ EX_T(opline->result.var).var.ptr = retval;
if (0) {
zval_ptr_dtor(&offset);
if (UNEXPECTED(Z_TYPE_P(container) != IS_OBJECT) ||
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));
+ EX_T(opline->result.var).var.ptr = &EG(uninitialized_zval);
} else {
zval *retval;
retval = Z_OBJ_HT_P(container)->read_property(container, offset, BP_VAR_IS, ((IS_CONST == IS_CONST) ? opline->op2.literal : NULL) TSRMLS_CC);
PZVAL_LOCK(retval);
- AI_SET_PTR(&EX_T(opline->result.var), retval);
+ EX_T(opline->result.var).var.ptr = retval;
if (0) {
zval_ptr_dtor(&offset);
if (RETURN_VALUE_USED(opline)) {
PZVAL_LOCK(&EG(uninitialized_zval));
EX_T(opline->result.var).var.ptr = &EG(uninitialized_zval);
- EX_T(opline->result.var).var.ptr_ptr = NULL;
}
} else {
/* here we are sure we are dealing with an object */
if (RETURN_VALUE_USED(opline)) {
PZVAL_LOCK(*zptr);
EX_T(opline->result.var).var.ptr = *zptr;
- EX_T(opline->result.var).var.ptr_ptr = NULL;
}
}
}
if (RETURN_VALUE_USED(opline)) {
PZVAL_LOCK(z);
EX_T(opline->result.var).var.ptr = z;
- EX_T(opline->result.var).var.ptr_ptr = NULL;
}
zval_ptr_dtor(&z);
} else {
if (RETURN_VALUE_USED(opline)) {
PZVAL_LOCK(&EG(uninitialized_zval));
EX_T(opline->result.var).var.ptr = &EG(uninitialized_zval);
- EX_T(opline->result.var).var.ptr_ptr = NULL;
}
}
}
if (UNEXPECTED(*var_ptr == &EG(error_zval))) {
if (RETURN_VALUE_USED(opline)) {
PZVAL_LOCK(&EG(uninitialized_zval));
- AI_SET_PTR(&EX_T(opline->result.var), &EG(uninitialized_zval));
+ EX_T(opline->result.var).var.ptr = &EG(uninitialized_zval);
}
zval_dtor(free_op2.var);
if (RETURN_VALUE_USED(opline)) {
PZVAL_LOCK(*var_ptr);
- AI_SET_PTR(&EX_T(opline->result.var), *var_ptr);
+ EX_T(opline->result.var).var.ptr = *var_ptr;
}
zval_dtor(free_op2.var);
UNEXPECTED(Z_OBJ_HT_P(container)->read_property == NULL)) {
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));
+ EX_T(opline->result.var).var.ptr = &EG(uninitialized_zval);
zval_dtor(free_op2.var);
} else {
zval *retval;
retval = Z_OBJ_HT_P(container)->read_property(container, offset, BP_VAR_R, ((IS_TMP_VAR == IS_CONST) ? opline->op2.literal : NULL) TSRMLS_CC);
PZVAL_LOCK(retval);
- AI_SET_PTR(&EX_T(opline->result.var), retval);
+ EX_T(opline->result.var).var.ptr = retval;
if (1) {
zval_ptr_dtor(&offset);
if (UNEXPECTED(Z_TYPE_P(container) != IS_OBJECT) ||
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));
+ EX_T(opline->result.var).var.ptr = &EG(uninitialized_zval);
zval_dtor(free_op2.var);
} else {
zval *retval;
retval = Z_OBJ_HT_P(container)->read_property(container, offset, BP_VAR_IS, ((IS_TMP_VAR == IS_CONST) ? opline->op2.literal : NULL) TSRMLS_CC);
PZVAL_LOCK(retval);
- AI_SET_PTR(&EX_T(opline->result.var), retval);
+ EX_T(opline->result.var).var.ptr = retval;
if (1) {
zval_ptr_dtor(&offset);
if (RETURN_VALUE_USED(opline)) {
PZVAL_LOCK(&EG(uninitialized_zval));
EX_T(opline->result.var).var.ptr = &EG(uninitialized_zval);
- EX_T(opline->result.var).var.ptr_ptr = NULL;
}
} else {
/* here we are sure we are dealing with an object */
if (RETURN_VALUE_USED(opline)) {
PZVAL_LOCK(*zptr);
EX_T(opline->result.var).var.ptr = *zptr;
- EX_T(opline->result.var).var.ptr_ptr = NULL;
}
}
}
if (RETURN_VALUE_USED(opline)) {
PZVAL_LOCK(z);
EX_T(opline->result.var).var.ptr = z;
- EX_T(opline->result.var).var.ptr_ptr = NULL;
}
zval_ptr_dtor(&z);
} else {
if (RETURN_VALUE_USED(opline)) {
PZVAL_LOCK(&EG(uninitialized_zval));
EX_T(opline->result.var).var.ptr = &EG(uninitialized_zval);
- EX_T(opline->result.var).var.ptr_ptr = NULL;
}
}
}
if (UNEXPECTED(*var_ptr == &EG(error_zval))) {
if (RETURN_VALUE_USED(opline)) {
PZVAL_LOCK(&EG(uninitialized_zval));
- AI_SET_PTR(&EX_T(opline->result.var), &EG(uninitialized_zval));
+ EX_T(opline->result.var).var.ptr = &EG(uninitialized_zval);
}
zval_ptr_dtor_nogc(&free_op2.var);
if (RETURN_VALUE_USED(opline)) {
PZVAL_LOCK(*var_ptr);
- AI_SET_PTR(&EX_T(opline->result.var), *var_ptr);
+ EX_T(opline->result.var).var.ptr = *var_ptr;
}
zval_ptr_dtor_nogc(&free_op2.var);
UNEXPECTED(Z_OBJ_HT_P(container)->read_property == NULL)) {
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));
+ EX_T(opline->result.var).var.ptr = &EG(uninitialized_zval);
zval_ptr_dtor_nogc(&free_op2.var);
} else {
zval *retval;
retval = Z_OBJ_HT_P(container)->read_property(container, offset, BP_VAR_R, ((IS_VAR == IS_CONST) ? opline->op2.literal : NULL) TSRMLS_CC);
PZVAL_LOCK(retval);
- AI_SET_PTR(&EX_T(opline->result.var), retval);
+ EX_T(opline->result.var).var.ptr = retval;
if (0) {
zval_ptr_dtor(&offset);
if (UNEXPECTED(Z_TYPE_P(container) != IS_OBJECT) ||
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));
+ EX_T(opline->result.var).var.ptr = &EG(uninitialized_zval);
zval_ptr_dtor_nogc(&free_op2.var);
} else {
zval *retval;
retval = Z_OBJ_HT_P(container)->read_property(container, offset, BP_VAR_IS, ((IS_VAR == IS_CONST) ? opline->op2.literal : NULL) TSRMLS_CC);
PZVAL_LOCK(retval);
- AI_SET_PTR(&EX_T(opline->result.var), retval);
+ EX_T(opline->result.var).var.ptr = retval;
if (0) {
zval_ptr_dtor(&offset);
if (RETURN_VALUE_USED(opline)) {
PZVAL_LOCK(&EG(uninitialized_zval));
EX_T(opline->result.var).var.ptr = &EG(uninitialized_zval);
- EX_T(opline->result.var).var.ptr_ptr = NULL;
}
} else {
/* here we are sure we are dealing with an object */
if (RETURN_VALUE_USED(opline)) {
PZVAL_LOCK(*zptr);
EX_T(opline->result.var).var.ptr = *zptr;
- EX_T(opline->result.var).var.ptr_ptr = NULL;
}
}
}
if (RETURN_VALUE_USED(opline)) {
PZVAL_LOCK(z);
EX_T(opline->result.var).var.ptr = z;
- EX_T(opline->result.var).var.ptr_ptr = NULL;
}
zval_ptr_dtor(&z);
} else {
if (RETURN_VALUE_USED(opline)) {
PZVAL_LOCK(&EG(uninitialized_zval));
EX_T(opline->result.var).var.ptr = &EG(uninitialized_zval);
- EX_T(opline->result.var).var.ptr_ptr = NULL;
}
}
}
if (UNEXPECTED(*var_ptr == &EG(error_zval))) {
if (RETURN_VALUE_USED(opline)) {
PZVAL_LOCK(&EG(uninitialized_zval));
- AI_SET_PTR(&EX_T(opline->result.var), &EG(uninitialized_zval));
+ EX_T(opline->result.var).var.ptr = &EG(uninitialized_zval);
}
if (RETURN_VALUE_USED(opline)) {
PZVAL_LOCK(*var_ptr);
- AI_SET_PTR(&EX_T(opline->result.var), *var_ptr);
+ EX_T(opline->result.var).var.ptr = *var_ptr;
}
if (opline->extended_value == ZEND_ASSIGN_DIM) {
if (RETURN_VALUE_USED(opline)) {
PZVAL_LOCK(&EG(uninitialized_zval));
EX_T(opline->result.var).var.ptr = &EG(uninitialized_zval);
- EX_T(opline->result.var).var.ptr_ptr = NULL;
}
} else {
/* here we are sure we are dealing with an object */
if (RETURN_VALUE_USED(opline)) {
PZVAL_LOCK(*zptr);
EX_T(opline->result.var).var.ptr = *zptr;
- EX_T(opline->result.var).var.ptr_ptr = NULL;
}
}
}
if (RETURN_VALUE_USED(opline)) {
PZVAL_LOCK(z);
EX_T(opline->result.var).var.ptr = z;
- EX_T(opline->result.var).var.ptr_ptr = NULL;
}
zval_ptr_dtor(&z);
} else {
if (RETURN_VALUE_USED(opline)) {
PZVAL_LOCK(&EG(uninitialized_zval));
EX_T(opline->result.var).var.ptr = &EG(uninitialized_zval);
- EX_T(opline->result.var).var.ptr_ptr = NULL;
}
}
}
if (UNEXPECTED(*var_ptr == &EG(error_zval))) {
if (RETURN_VALUE_USED(opline)) {
PZVAL_LOCK(&EG(uninitialized_zval));
- AI_SET_PTR(&EX_T(opline->result.var), &EG(uninitialized_zval));
+ EX_T(opline->result.var).var.ptr = &EG(uninitialized_zval);
}
if (RETURN_VALUE_USED(opline)) {
PZVAL_LOCK(*var_ptr);
- AI_SET_PTR(&EX_T(opline->result.var), *var_ptr);
+ EX_T(opline->result.var).var.ptr = *var_ptr;
}
if (opline->extended_value == ZEND_ASSIGN_DIM) {
UNEXPECTED(Z_OBJ_HT_P(container)->read_property == NULL)) {
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));
+ EX_T(opline->result.var).var.ptr = &EG(uninitialized_zval);
} else {
zval *retval;
retval = Z_OBJ_HT_P(container)->read_property(container, offset, BP_VAR_R, ((IS_CV == IS_CONST) ? opline->op2.literal : NULL) TSRMLS_CC);
PZVAL_LOCK(retval);
- AI_SET_PTR(&EX_T(opline->result.var), retval);
+ EX_T(opline->result.var).var.ptr = retval;
if (0) {
zval_ptr_dtor(&offset);
if (UNEXPECTED(Z_TYPE_P(container) != IS_OBJECT) ||
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));
+ EX_T(opline->result.var).var.ptr = &EG(uninitialized_zval);
} else {
zval *retval;
retval = Z_OBJ_HT_P(container)->read_property(container, offset, BP_VAR_IS, ((IS_CV == IS_CONST) ? opline->op2.literal : NULL) TSRMLS_CC);
PZVAL_LOCK(retval);
- AI_SET_PTR(&EX_T(opline->result.var), retval);
+ EX_T(opline->result.var).var.ptr = retval;
if (0) {
zval_ptr_dtor(&offset);
if (IS_CV == IS_VAR && UNEXPECTED(*var_ptr == &EG(error_zval))) {
if (RETURN_VALUE_USED(opline)) {
PZVAL_LOCK(&EG(uninitialized_zval));
- AI_SET_PTR(&EX_T(opline->result.var), &EG(uninitialized_zval));
+ EX_T(opline->result.var).var.ptr = &EG(uninitialized_zval);
}
CHECK_EXCEPTION();
if (RETURN_VALUE_USED(opline)) {
PZVAL_LOCK(*var_ptr);
- AI_SET_PTR(&EX_T(opline->result.var), *var_ptr);
+ EX_T(opline->result.var).var.ptr = *var_ptr;
}
CHECK_EXCEPTION();
if (IS_CV == IS_VAR && UNEXPECTED(*var_ptr == &EG(error_zval))) {
if (RETURN_VALUE_USED(opline)) {
PZVAL_LOCK(&EG(uninitialized_zval));
- AI_SET_PTR(&EX_T(opline->result.var), &EG(uninitialized_zval));
+ EX_T(opline->result.var).var.ptr = &EG(uninitialized_zval);
}
CHECK_EXCEPTION();
if (RETURN_VALUE_USED(opline)) {
PZVAL_LOCK(*var_ptr);
- AI_SET_PTR(&EX_T(opline->result.var), *var_ptr);
+ EX_T(opline->result.var).var.ptr = *var_ptr;
}
CHECK_EXCEPTION();
SAVE_OPLINE();
do {
- if (IS_CV == IS_CONST || IS_CV == IS_TMP_VAR) {
+ if (IS_CV == IS_CONST || IS_CV == IS_TMP_VAR ||
+ (IS_CV == IS_VAR && opline->extended_value == ZEND_RETURNS_VALUE)) {
/* Not supposed to happen, but we'll allow it */
zend_error(E_NOTICE, "Only variable references should be returned by reference");
if (!RETURN_VALUE_USED(opline) || UNEXPECTED(EG(exception) != NULL)) {
zval_ptr_dtor(&retval);
} else {
- AI_SET_PTR(&EX_T(opline->result.var), retval);
+ EX_T(opline->result.var).var.ptr = retval;
}
}
EX(original_return_value) = EG(return_value_ptr_ptr);
EG(active_op_array) = new_op_array;
if (RETURN_VALUE_USED(opline)) {
- EX_T(opline->result.var).var.ptr = NULL;
EX_T(opline->result.var).var.ptr_ptr = &EX_T(opline->result.var).var.ptr;
EG(return_value_ptr_ptr) = EX_T(opline->result.var).var.ptr_ptr;
} else {
ALLOC_ZVAL(retval);
ZVAL_BOOL(retval, failure_retval);
INIT_PZVAL(retval);
- AI_SET_PTR(&EX_T(opline->result.var), retval);
+ EX_T(opline->result.var).var.ptr = retval;
}
ZEND_VM_NEXT_OPCODE();
}
if (RETURN_VALUE_USED(opline)) {
PZVAL_LOCK(&EG(uninitialized_zval));
EX_T(opline->result.var).var.ptr = &EG(uninitialized_zval);
- EX_T(opline->result.var).var.ptr_ptr = NULL;
}
} else {
/* here we are sure we are dealing with an object */
if (RETURN_VALUE_USED(opline)) {
PZVAL_LOCK(*zptr);
EX_T(opline->result.var).var.ptr = *zptr;
- EX_T(opline->result.var).var.ptr_ptr = NULL;
}
}
}
if (RETURN_VALUE_USED(opline)) {
PZVAL_LOCK(z);
EX_T(opline->result.var).var.ptr = z;
- EX_T(opline->result.var).var.ptr_ptr = NULL;
}
zval_ptr_dtor(&z);
} else {
if (RETURN_VALUE_USED(opline)) {
PZVAL_LOCK(&EG(uninitialized_zval));
EX_T(opline->result.var).var.ptr = &EG(uninitialized_zval);
- EX_T(opline->result.var).var.ptr_ptr = NULL;
}
}
}
if (UNEXPECTED(*var_ptr == &EG(error_zval))) {
if (RETURN_VALUE_USED(opline)) {
PZVAL_LOCK(&EG(uninitialized_zval));
- AI_SET_PTR(&EX_T(opline->result.var), &EG(uninitialized_zval));
+ EX_T(opline->result.var).var.ptr = &EG(uninitialized_zval);
}
if (RETURN_VALUE_USED(opline)) {
PZVAL_LOCK(*var_ptr);
- AI_SET_PTR(&EX_T(opline->result.var), *var_ptr);
+ EX_T(opline->result.var).var.ptr = *var_ptr;
}
if (opline->extended_value == ZEND_ASSIGN_DIM) {
switch (type) {
case BP_VAR_R:
case BP_VAR_IS:
- AI_SET_PTR(&EX_T(opline->result.var), *retval);
+ EX_T(opline->result.var).var.ptr = *retval;
break;
case BP_VAR_UNSET: {
zend_free_op free_res;
UNEXPECTED(Z_OBJ_HT_P(container)->read_property == NULL)) {
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));
+ EX_T(opline->result.var).var.ptr = &EG(uninitialized_zval);
} else {
zval *retval;
retval = Z_OBJ_HT_P(container)->read_property(container, offset, BP_VAR_R, ((IS_CONST == IS_CONST) ? opline->op2.literal : NULL) TSRMLS_CC);
PZVAL_LOCK(retval);
- AI_SET_PTR(&EX_T(opline->result.var), retval);
+ EX_T(opline->result.var).var.ptr = retval;
if (0) {
zval_ptr_dtor(&offset);
if (UNEXPECTED(Z_TYPE_P(container) != IS_OBJECT) ||
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));
+ EX_T(opline->result.var).var.ptr = &EG(uninitialized_zval);
} else {
zval *retval;
retval = Z_OBJ_HT_P(container)->read_property(container, offset, BP_VAR_IS, ((IS_CONST == IS_CONST) ? opline->op2.literal : NULL) TSRMLS_CC);
PZVAL_LOCK(retval);
- AI_SET_PTR(&EX_T(opline->result.var), retval);
+ EX_T(opline->result.var).var.ptr = retval;
if (0) {
zval_ptr_dtor(&offset);
ALLOC_ZVAL(retval);
ZVAL_STRINGL(retval, Z_STRVAL_P(EX_T((opline+1)->op2.var).str_offset.str)+EX_T((opline+1)->op2.var).str_offset.offset, 1, 1);
INIT_PZVAL(retval);
- AI_SET_PTR(&EX_T(opline->result.var), retval);
+ EX_T(opline->result.var).var.ptr = retval;
}
} else if (RETURN_VALUE_USED(opline)) {
PZVAL_LOCK(&EG(uninitialized_zval));
- AI_SET_PTR(&EX_T(opline->result.var), &EG(uninitialized_zval));
+ EX_T(opline->result.var).var.ptr = &EG(uninitialized_zval);
}
} else if (UNEXPECTED(*variable_ptr_ptr == &EG(error_zval))) {
if (IS_TMP_FREE(free_op_data1)) {
}
if (RETURN_VALUE_USED(opline)) {
PZVAL_LOCK(&EG(uninitialized_zval));
- AI_SET_PTR(&EX_T(opline->result.var), &EG(uninitialized_zval));
+ EX_T(opline->result.var).var.ptr = &EG(uninitialized_zval);
}
} else {
if ((opline+1)->op1_type == IS_TMP_VAR) {
}
if (RETURN_VALUE_USED(opline)) {
PZVAL_LOCK(value);
- AI_SET_PTR(&EX_T(opline->result.var), value);
+ EX_T(opline->result.var).var.ptr = value;
}
}
FREE_OP_VAR_PTR(free_op_data2);
ALLOC_ZVAL(retval);
ZVAL_STRINGL(retval, Z_STRVAL_P(EX_T(opline->op1.var).str_offset.str)+EX_T(opline->op1.var).str_offset.offset, 1, 1);
INIT_PZVAL(retval);
- AI_SET_PTR(&EX_T(opline->result.var), retval);
+ EX_T(opline->result.var).var.ptr = retval;
}
} else if (RETURN_VALUE_USED(opline)) {
PZVAL_LOCK(&EG(uninitialized_zval));
- AI_SET_PTR(&EX_T(opline->result.var), &EG(uninitialized_zval));
+ EX_T(opline->result.var).var.ptr = &EG(uninitialized_zval);
}
} else if (IS_CV == IS_VAR && UNEXPECTED(*variable_ptr_ptr == &EG(error_zval))) {
if (0) {
}
if (RETURN_VALUE_USED(opline)) {
PZVAL_LOCK(&EG(uninitialized_zval));
- AI_SET_PTR(&EX_T(opline->result.var), &EG(uninitialized_zval));
+ EX_T(opline->result.var).var.ptr = &EG(uninitialized_zval);
}
} else {
if (IS_CONST == IS_TMP_VAR) {
}
if (RETURN_VALUE_USED(opline)) {
PZVAL_LOCK(value);
- AI_SET_PTR(&EX_T(opline->result.var), value);
+ EX_T(opline->result.var).var.ptr = value;
}
}
if (RETURN_VALUE_USED(opline)) {
PZVAL_LOCK(&EG(uninitialized_zval));
EX_T(opline->result.var).var.ptr = &EG(uninitialized_zval);
- EX_T(opline->result.var).var.ptr_ptr = NULL;
}
} else {
/* here we are sure we are dealing with an object */
if (RETURN_VALUE_USED(opline)) {
PZVAL_LOCK(*zptr);
EX_T(opline->result.var).var.ptr = *zptr;
- EX_T(opline->result.var).var.ptr_ptr = NULL;
}
}
}
if (RETURN_VALUE_USED(opline)) {
PZVAL_LOCK(z);
EX_T(opline->result.var).var.ptr = z;
- EX_T(opline->result.var).var.ptr_ptr = NULL;
}
zval_ptr_dtor(&z);
} else {
if (RETURN_VALUE_USED(opline)) {
PZVAL_LOCK(&EG(uninitialized_zval));
EX_T(opline->result.var).var.ptr = &EG(uninitialized_zval);
- EX_T(opline->result.var).var.ptr_ptr = NULL;
}
}
}
if (UNEXPECTED(*var_ptr == &EG(error_zval))) {
if (RETURN_VALUE_USED(opline)) {
PZVAL_LOCK(&EG(uninitialized_zval));
- AI_SET_PTR(&EX_T(opline->result.var), &EG(uninitialized_zval));
+ EX_T(opline->result.var).var.ptr = &EG(uninitialized_zval);
}
zval_dtor(free_op2.var);
if (RETURN_VALUE_USED(opline)) {
PZVAL_LOCK(*var_ptr);
- AI_SET_PTR(&EX_T(opline->result.var), *var_ptr);
+ EX_T(opline->result.var).var.ptr = *var_ptr;
}
zval_dtor(free_op2.var);
UNEXPECTED(Z_OBJ_HT_P(container)->read_property == NULL)) {
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));
+ EX_T(opline->result.var).var.ptr = &EG(uninitialized_zval);
zval_dtor(free_op2.var);
} else {
zval *retval;
retval = Z_OBJ_HT_P(container)->read_property(container, offset, BP_VAR_R, ((IS_TMP_VAR == IS_CONST) ? opline->op2.literal : NULL) TSRMLS_CC);
PZVAL_LOCK(retval);
- AI_SET_PTR(&EX_T(opline->result.var), retval);
+ EX_T(opline->result.var).var.ptr = retval;
if (1) {
zval_ptr_dtor(&offset);
if (UNEXPECTED(Z_TYPE_P(container) != IS_OBJECT) ||
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));
+ EX_T(opline->result.var).var.ptr = &EG(uninitialized_zval);
zval_dtor(free_op2.var);
} else {
zval *retval;
retval = Z_OBJ_HT_P(container)->read_property(container, offset, BP_VAR_IS, ((IS_TMP_VAR == IS_CONST) ? opline->op2.literal : NULL) TSRMLS_CC);
PZVAL_LOCK(retval);
- AI_SET_PTR(&EX_T(opline->result.var), retval);
+ EX_T(opline->result.var).var.ptr = retval;
if (1) {
zval_ptr_dtor(&offset);
ALLOC_ZVAL(retval);
ZVAL_STRINGL(retval, Z_STRVAL_P(EX_T((opline+1)->op2.var).str_offset.str)+EX_T((opline+1)->op2.var).str_offset.offset, 1, 1);
INIT_PZVAL(retval);
- AI_SET_PTR(&EX_T(opline->result.var), retval);
+ EX_T(opline->result.var).var.ptr = retval;
}
} else if (RETURN_VALUE_USED(opline)) {
PZVAL_LOCK(&EG(uninitialized_zval));
- AI_SET_PTR(&EX_T(opline->result.var), &EG(uninitialized_zval));
+ EX_T(opline->result.var).var.ptr = &EG(uninitialized_zval);
}
} else if (UNEXPECTED(*variable_ptr_ptr == &EG(error_zval))) {
if (IS_TMP_FREE(free_op_data1)) {
}
if (RETURN_VALUE_USED(opline)) {
PZVAL_LOCK(&EG(uninitialized_zval));
- AI_SET_PTR(&EX_T(opline->result.var), &EG(uninitialized_zval));
+ EX_T(opline->result.var).var.ptr = &EG(uninitialized_zval);
}
} else {
if ((opline+1)->op1_type == IS_TMP_VAR) {
}
if (RETURN_VALUE_USED(opline)) {
PZVAL_LOCK(value);
- AI_SET_PTR(&EX_T(opline->result.var), value);
+ EX_T(opline->result.var).var.ptr = value;
}
}
FREE_OP_VAR_PTR(free_op_data2);
ALLOC_ZVAL(retval);
ZVAL_STRINGL(retval, Z_STRVAL_P(EX_T(opline->op1.var).str_offset.str)+EX_T(opline->op1.var).str_offset.offset, 1, 1);
INIT_PZVAL(retval);
- AI_SET_PTR(&EX_T(opline->result.var), retval);
+ EX_T(opline->result.var).var.ptr = retval;
}
} else if (RETURN_VALUE_USED(opline)) {
PZVAL_LOCK(&EG(uninitialized_zval));
- AI_SET_PTR(&EX_T(opline->result.var), &EG(uninitialized_zval));
+ EX_T(opline->result.var).var.ptr = &EG(uninitialized_zval);
}
} else if (IS_CV == IS_VAR && UNEXPECTED(*variable_ptr_ptr == &EG(error_zval))) {
if (1) {
}
if (RETURN_VALUE_USED(opline)) {
PZVAL_LOCK(&EG(uninitialized_zval));
- AI_SET_PTR(&EX_T(opline->result.var), &EG(uninitialized_zval));
+ EX_T(opline->result.var).var.ptr = &EG(uninitialized_zval);
}
} else {
if (IS_TMP_VAR == IS_TMP_VAR) {
}
if (RETURN_VALUE_USED(opline)) {
PZVAL_LOCK(value);
- AI_SET_PTR(&EX_T(opline->result.var), value);
+ EX_T(opline->result.var).var.ptr = value;
}
}
if (RETURN_VALUE_USED(opline)) {
PZVAL_LOCK(&EG(uninitialized_zval));
EX_T(opline->result.var).var.ptr = &EG(uninitialized_zval);
- EX_T(opline->result.var).var.ptr_ptr = NULL;
}
} else {
/* here we are sure we are dealing with an object */
if (RETURN_VALUE_USED(opline)) {
PZVAL_LOCK(*zptr);
EX_T(opline->result.var).var.ptr = *zptr;
- EX_T(opline->result.var).var.ptr_ptr = NULL;
}
}
}
if (RETURN_VALUE_USED(opline)) {
PZVAL_LOCK(z);
EX_T(opline->result.var).var.ptr = z;
- EX_T(opline->result.var).var.ptr_ptr = NULL;
}
zval_ptr_dtor(&z);
} else {
if (RETURN_VALUE_USED(opline)) {
PZVAL_LOCK(&EG(uninitialized_zval));
EX_T(opline->result.var).var.ptr = &EG(uninitialized_zval);
- EX_T(opline->result.var).var.ptr_ptr = NULL;
}
}
}
if (UNEXPECTED(*var_ptr == &EG(error_zval))) {
if (RETURN_VALUE_USED(opline)) {
PZVAL_LOCK(&EG(uninitialized_zval));
- AI_SET_PTR(&EX_T(opline->result.var), &EG(uninitialized_zval));
+ EX_T(opline->result.var).var.ptr = &EG(uninitialized_zval);
}
zval_ptr_dtor_nogc(&free_op2.var);
if (RETURN_VALUE_USED(opline)) {
PZVAL_LOCK(*var_ptr);
- AI_SET_PTR(&EX_T(opline->result.var), *var_ptr);
+ EX_T(opline->result.var).var.ptr = *var_ptr;
}
zval_ptr_dtor_nogc(&free_op2.var);
switch (type) {
case BP_VAR_R:
case BP_VAR_IS:
- AI_SET_PTR(&EX_T(opline->result.var), *retval);
+ EX_T(opline->result.var).var.ptr = *retval;
break;
case BP_VAR_UNSET: {
zend_free_op free_res;
UNEXPECTED(Z_OBJ_HT_P(container)->read_property == NULL)) {
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));
+ EX_T(opline->result.var).var.ptr = &EG(uninitialized_zval);
zval_ptr_dtor_nogc(&free_op2.var);
} else {
zval *retval;
retval = Z_OBJ_HT_P(container)->read_property(container, offset, BP_VAR_R, ((IS_VAR == IS_CONST) ? opline->op2.literal : NULL) TSRMLS_CC);
PZVAL_LOCK(retval);
- AI_SET_PTR(&EX_T(opline->result.var), retval);
+ EX_T(opline->result.var).var.ptr = retval;
if (0) {
zval_ptr_dtor(&offset);
if (UNEXPECTED(Z_TYPE_P(container) != IS_OBJECT) ||
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));
+ EX_T(opline->result.var).var.ptr = &EG(uninitialized_zval);
zval_ptr_dtor_nogc(&free_op2.var);
} else {
zval *retval;
retval = Z_OBJ_HT_P(container)->read_property(container, offset, BP_VAR_IS, ((IS_VAR == IS_CONST) ? opline->op2.literal : NULL) TSRMLS_CC);
PZVAL_LOCK(retval);
- AI_SET_PTR(&EX_T(opline->result.var), retval);
+ EX_T(opline->result.var).var.ptr = retval;
if (0) {
zval_ptr_dtor(&offset);
ALLOC_ZVAL(retval);
ZVAL_STRINGL(retval, Z_STRVAL_P(EX_T((opline+1)->op2.var).str_offset.str)+EX_T((opline+1)->op2.var).str_offset.offset, 1, 1);
INIT_PZVAL(retval);
- AI_SET_PTR(&EX_T(opline->result.var), retval);
+ EX_T(opline->result.var).var.ptr = retval;
}
} else if (RETURN_VALUE_USED(opline)) {
PZVAL_LOCK(&EG(uninitialized_zval));
- AI_SET_PTR(&EX_T(opline->result.var), &EG(uninitialized_zval));
+ EX_T(opline->result.var).var.ptr = &EG(uninitialized_zval);
}
} else if (UNEXPECTED(*variable_ptr_ptr == &EG(error_zval))) {
if (IS_TMP_FREE(free_op_data1)) {
}
if (RETURN_VALUE_USED(opline)) {
PZVAL_LOCK(&EG(uninitialized_zval));
- AI_SET_PTR(&EX_T(opline->result.var), &EG(uninitialized_zval));
+ EX_T(opline->result.var).var.ptr = &EG(uninitialized_zval);
}
} else {
if ((opline+1)->op1_type == IS_TMP_VAR) {
}
if (RETURN_VALUE_USED(opline)) {
PZVAL_LOCK(value);
- AI_SET_PTR(&EX_T(opline->result.var), value);
+ EX_T(opline->result.var).var.ptr = value;
}
}
FREE_OP_VAR_PTR(free_op_data2);
ALLOC_ZVAL(retval);
ZVAL_STRINGL(retval, Z_STRVAL_P(EX_T(opline->op1.var).str_offset.str)+EX_T(opline->op1.var).str_offset.offset, 1, 1);
INIT_PZVAL(retval);
- AI_SET_PTR(&EX_T(opline->result.var), retval);
+ EX_T(opline->result.var).var.ptr = retval;
}
} else if (RETURN_VALUE_USED(opline)) {
PZVAL_LOCK(&EG(uninitialized_zval));
- AI_SET_PTR(&EX_T(opline->result.var), &EG(uninitialized_zval));
+ EX_T(opline->result.var).var.ptr = &EG(uninitialized_zval);
}
} else if (IS_CV == IS_VAR && UNEXPECTED(*variable_ptr_ptr == &EG(error_zval))) {
if (0) {
}
if (RETURN_VALUE_USED(opline)) {
PZVAL_LOCK(&EG(uninitialized_zval));
- AI_SET_PTR(&EX_T(opline->result.var), &EG(uninitialized_zval));
+ EX_T(opline->result.var).var.ptr = &EG(uninitialized_zval);
}
} else {
if (IS_VAR == IS_TMP_VAR) {
}
if (RETURN_VALUE_USED(opline)) {
PZVAL_LOCK(value);
- AI_SET_PTR(&EX_T(opline->result.var), value);
+ EX_T(opline->result.var).var.ptr = value;
}
}
if (RETURN_VALUE_USED(opline)) {
PZVAL_LOCK(*variable_ptr_ptr);
- AI_SET_PTR(&EX_T(opline->result.var), *variable_ptr_ptr);
+ EX_T(opline->result.var).var.ptr = *variable_ptr_ptr;
}
if (free_op2.var) {zval_ptr_dtor_nogc(&free_op2.var);};
if (RETURN_VALUE_USED(opline)) {
PZVAL_LOCK(&EG(uninitialized_zval));
EX_T(opline->result.var).var.ptr = &EG(uninitialized_zval);
- EX_T(opline->result.var).var.ptr_ptr = NULL;
}
} else {
/* here we are sure we are dealing with an object */
if (RETURN_VALUE_USED(opline)) {
PZVAL_LOCK(*zptr);
EX_T(opline->result.var).var.ptr = *zptr;
- EX_T(opline->result.var).var.ptr_ptr = NULL;
}
}
}
if (RETURN_VALUE_USED(opline)) {
PZVAL_LOCK(z);
EX_T(opline->result.var).var.ptr = z;
- EX_T(opline->result.var).var.ptr_ptr = NULL;
}
zval_ptr_dtor(&z);
} else {
if (RETURN_VALUE_USED(opline)) {
PZVAL_LOCK(&EG(uninitialized_zval));
EX_T(opline->result.var).var.ptr = &EG(uninitialized_zval);
- EX_T(opline->result.var).var.ptr_ptr = NULL;
}
}
}
if (UNEXPECTED(*var_ptr == &EG(error_zval))) {
if (RETURN_VALUE_USED(opline)) {
PZVAL_LOCK(&EG(uninitialized_zval));
- AI_SET_PTR(&EX_T(opline->result.var), &EG(uninitialized_zval));
+ EX_T(opline->result.var).var.ptr = &EG(uninitialized_zval);
}
if (RETURN_VALUE_USED(opline)) {
PZVAL_LOCK(*var_ptr);
- AI_SET_PTR(&EX_T(opline->result.var), *var_ptr);
+ EX_T(opline->result.var).var.ptr = *var_ptr;
}
if (opline->extended_value == ZEND_ASSIGN_DIM) {
switch (type) {
case BP_VAR_R:
case BP_VAR_IS:
- AI_SET_PTR(&EX_T(opline->result.var), *retval);
+ EX_T(opline->result.var).var.ptr = *retval;
break;
case BP_VAR_UNSET: {
zend_free_op free_res;
ALLOC_ZVAL(retval);
ZVAL_STRINGL(retval, Z_STRVAL_P(EX_T((opline+1)->op2.var).str_offset.str)+EX_T((opline+1)->op2.var).str_offset.offset, 1, 1);
INIT_PZVAL(retval);
- AI_SET_PTR(&EX_T(opline->result.var), retval);
+ EX_T(opline->result.var).var.ptr = retval;
}
} else if (RETURN_VALUE_USED(opline)) {
PZVAL_LOCK(&EG(uninitialized_zval));
- AI_SET_PTR(&EX_T(opline->result.var), &EG(uninitialized_zval));
+ EX_T(opline->result.var).var.ptr = &EG(uninitialized_zval);
}
} else if (UNEXPECTED(*variable_ptr_ptr == &EG(error_zval))) {
if (IS_TMP_FREE(free_op_data1)) {
}
if (RETURN_VALUE_USED(opline)) {
PZVAL_LOCK(&EG(uninitialized_zval));
- AI_SET_PTR(&EX_T(opline->result.var), &EG(uninitialized_zval));
+ EX_T(opline->result.var).var.ptr = &EG(uninitialized_zval);
}
} else {
if ((opline+1)->op1_type == IS_TMP_VAR) {
}
if (RETURN_VALUE_USED(opline)) {
PZVAL_LOCK(value);
- AI_SET_PTR(&EX_T(opline->result.var), value);
+ EX_T(opline->result.var).var.ptr = value;
}
}
FREE_OP_VAR_PTR(free_op_data2);
if (RETURN_VALUE_USED(opline)) {
PZVAL_LOCK(&EG(uninitialized_zval));
EX_T(opline->result.var).var.ptr = &EG(uninitialized_zval);
- EX_T(opline->result.var).var.ptr_ptr = NULL;
}
} else {
/* here we are sure we are dealing with an object */
if (RETURN_VALUE_USED(opline)) {
PZVAL_LOCK(*zptr);
EX_T(opline->result.var).var.ptr = *zptr;
- EX_T(opline->result.var).var.ptr_ptr = NULL;
}
}
}
if (RETURN_VALUE_USED(opline)) {
PZVAL_LOCK(z);
EX_T(opline->result.var).var.ptr = z;
- EX_T(opline->result.var).var.ptr_ptr = NULL;
}
zval_ptr_dtor(&z);
} else {
if (RETURN_VALUE_USED(opline)) {
PZVAL_LOCK(&EG(uninitialized_zval));
EX_T(opline->result.var).var.ptr = &EG(uninitialized_zval);
- EX_T(opline->result.var).var.ptr_ptr = NULL;
}
}
}
if (UNEXPECTED(*var_ptr == &EG(error_zval))) {
if (RETURN_VALUE_USED(opline)) {
PZVAL_LOCK(&EG(uninitialized_zval));
- AI_SET_PTR(&EX_T(opline->result.var), &EG(uninitialized_zval));
+ EX_T(opline->result.var).var.ptr = &EG(uninitialized_zval);
}
if (RETURN_VALUE_USED(opline)) {
PZVAL_LOCK(*var_ptr);
- AI_SET_PTR(&EX_T(opline->result.var), *var_ptr);
+ EX_T(opline->result.var).var.ptr = *var_ptr;
}
if (opline->extended_value == ZEND_ASSIGN_DIM) {
UNEXPECTED(Z_OBJ_HT_P(container)->read_property == NULL)) {
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));
+ EX_T(opline->result.var).var.ptr = &EG(uninitialized_zval);
} else {
zval *retval;
retval = Z_OBJ_HT_P(container)->read_property(container, offset, BP_VAR_R, ((IS_CV == IS_CONST) ? opline->op2.literal : NULL) TSRMLS_CC);
PZVAL_LOCK(retval);
- AI_SET_PTR(&EX_T(opline->result.var), retval);
+ EX_T(opline->result.var).var.ptr = retval;
if (0) {
zval_ptr_dtor(&offset);
if (UNEXPECTED(Z_TYPE_P(container) != IS_OBJECT) ||
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));
+ EX_T(opline->result.var).var.ptr = &EG(uninitialized_zval);
} else {
zval *retval;
retval = Z_OBJ_HT_P(container)->read_property(container, offset, BP_VAR_IS, ((IS_CV == IS_CONST) ? opline->op2.literal : NULL) TSRMLS_CC);
PZVAL_LOCK(retval);
- AI_SET_PTR(&EX_T(opline->result.var), retval);
+ EX_T(opline->result.var).var.ptr = retval;
if (0) {
zval_ptr_dtor(&offset);
ALLOC_ZVAL(retval);
ZVAL_STRINGL(retval, Z_STRVAL_P(EX_T((opline+1)->op2.var).str_offset.str)+EX_T((opline+1)->op2.var).str_offset.offset, 1, 1);
INIT_PZVAL(retval);
- AI_SET_PTR(&EX_T(opline->result.var), retval);
+ EX_T(opline->result.var).var.ptr = retval;
}
} else if (RETURN_VALUE_USED(opline)) {
PZVAL_LOCK(&EG(uninitialized_zval));
- AI_SET_PTR(&EX_T(opline->result.var), &EG(uninitialized_zval));
+ EX_T(opline->result.var).var.ptr = &EG(uninitialized_zval);
}
} else if (UNEXPECTED(*variable_ptr_ptr == &EG(error_zval))) {
if (IS_TMP_FREE(free_op_data1)) {
}
if (RETURN_VALUE_USED(opline)) {
PZVAL_LOCK(&EG(uninitialized_zval));
- AI_SET_PTR(&EX_T(opline->result.var), &EG(uninitialized_zval));
+ EX_T(opline->result.var).var.ptr = &EG(uninitialized_zval);
}
} else {
if ((opline+1)->op1_type == IS_TMP_VAR) {
}
if (RETURN_VALUE_USED(opline)) {
PZVAL_LOCK(value);
- AI_SET_PTR(&EX_T(opline->result.var), value);
+ EX_T(opline->result.var).var.ptr = value;
}
}
FREE_OP_VAR_PTR(free_op_data2);
ALLOC_ZVAL(retval);
ZVAL_STRINGL(retval, Z_STRVAL_P(EX_T(opline->op1.var).str_offset.str)+EX_T(opline->op1.var).str_offset.offset, 1, 1);
INIT_PZVAL(retval);
- AI_SET_PTR(&EX_T(opline->result.var), retval);
+ EX_T(opline->result.var).var.ptr = retval;
}
} else if (RETURN_VALUE_USED(opline)) {
PZVAL_LOCK(&EG(uninitialized_zval));
- AI_SET_PTR(&EX_T(opline->result.var), &EG(uninitialized_zval));
+ EX_T(opline->result.var).var.ptr = &EG(uninitialized_zval);
}
} else if (IS_CV == IS_VAR && UNEXPECTED(*variable_ptr_ptr == &EG(error_zval))) {
if (0) {
}
if (RETURN_VALUE_USED(opline)) {
PZVAL_LOCK(&EG(uninitialized_zval));
- AI_SET_PTR(&EX_T(opline->result.var), &EG(uninitialized_zval));
+ EX_T(opline->result.var).var.ptr = &EG(uninitialized_zval);
}
} else {
if (IS_CV == IS_TMP_VAR) {
}
if (RETURN_VALUE_USED(opline)) {
PZVAL_LOCK(value);
- AI_SET_PTR(&EX_T(opline->result.var), value);
+ EX_T(opline->result.var).var.ptr = value;
}
}
if (RETURN_VALUE_USED(opline)) {
PZVAL_LOCK(*variable_ptr_ptr);
- AI_SET_PTR(&EX_T(opline->result.var), *variable_ptr_ptr);
+ EX_T(opline->result.var).var.ptr = *variable_ptr_ptr;
}