zend_free_op free_res;
zval *retval_ptr = EX_VAR(opline->result.var);
+ if (Z_TYPE_P(retval_ptr) == IS_INDIRECT) {
+ retval_ptr = Z_INDIRECT_P(retval_ptr);
+ }
PZVAL_UNLOCK(retval_ptr, &free_res);
SEPARATE_ZVAL_IF_NOT_REF(retval_ptr);
PZVAL_LOCK(retval_ptr);
{
USE_OPLINE
zend_free_op free_op1, free_res;
- zval *container;
- zval *property;
+ zval *container, *property, *retval_ptr;
SAVE_OPLINE();
container = _get_zval_ptr_var(opline->op1.var, execute_data, &free_op1 TSRMLS_CC);
//??? }
if (free_op1.var) {zval_ptr_dtor_nogc(free_op1.var);};
-//??? PZVAL_UNLOCK(EX_VAR(opline->result.var), &free_res);
-//??? if (EX_T(opline->result.var).var.ptr_ptr != &EG(uninitialized_zval_ptr)) {
-//??? SEPARATE_ZVAL_IF_NOT_REF(EX_T(opline->result.var).var.ptr_ptr);
-//??? }
-//??? PZVAL_LOCK(EX_VAR(opline->result.var));
-//??? FREE_OP_VAR_PTR(free_res);
+ retval_ptr = EX_VAR(opline->result.var);
+ if (Z_TYPE_P(retval_ptr) == IS_INDIRECT) {
+ retval_ptr = Z_INDIRECT_P(retval_ptr);
+ }
+ PZVAL_UNLOCK(retval_ptr, &free_res);
+ SEPARATE_ZVAL_IF_NOT_REF(retval_ptr);
+ PZVAL_LOCK(retval_ptr);
+ FREE_OP_VAR_PTR(free_res);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
zend_free_op free_res;
zval *retval_ptr = EX_VAR(opline->result.var);
+ if (Z_TYPE_P(retval_ptr) == IS_INDIRECT) {
+ retval_ptr = Z_INDIRECT_P(retval_ptr);
+ }
PZVAL_UNLOCK(retval_ptr, &free_res);
SEPARATE_ZVAL_IF_NOT_REF(retval_ptr);
PZVAL_LOCK(retval_ptr);
{
USE_OPLINE
zend_free_op free_op1, free_op2, free_res;
- zval *container;
- zval *property;
+ zval *container, *property, *retval_ptr;
SAVE_OPLINE();
container = _get_zval_ptr_var(opline->op1.var, execute_data, &free_op1 TSRMLS_CC);
//??? }
if (free_op1.var) {zval_ptr_dtor_nogc(free_op1.var);};
-//??? PZVAL_UNLOCK(EX_VAR(opline->result.var), &free_res);
-//??? if (EX_T(opline->result.var).var.ptr_ptr != &EG(uninitialized_zval_ptr)) {
-//??? SEPARATE_ZVAL_IF_NOT_REF(EX_T(opline->result.var).var.ptr_ptr);
-//??? }
-//??? PZVAL_LOCK(EX_VAR(opline->result.var));
-//??? FREE_OP_VAR_PTR(free_res);
+ retval_ptr = EX_VAR(opline->result.var);
+ if (Z_TYPE_P(retval_ptr) == IS_INDIRECT) {
+ retval_ptr = Z_INDIRECT_P(retval_ptr);
+ }
+ PZVAL_UNLOCK(retval_ptr, &free_res);
+ SEPARATE_ZVAL_IF_NOT_REF(retval_ptr);
+ PZVAL_LOCK(retval_ptr);
+ FREE_OP_VAR_PTR(free_res);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
zend_free_op free_res;
zval *retval_ptr = EX_VAR(opline->result.var);
+ if (Z_TYPE_P(retval_ptr) == IS_INDIRECT) {
+ retval_ptr = Z_INDIRECT_P(retval_ptr);
+ }
PZVAL_UNLOCK(retval_ptr, &free_res);
SEPARATE_ZVAL_IF_NOT_REF(retval_ptr);
PZVAL_LOCK(retval_ptr);
{
USE_OPLINE
zend_free_op free_op1, free_op2, free_res;
- zval *container;
- zval *property;
+ zval *container, *property, *retval_ptr;
SAVE_OPLINE();
container = _get_zval_ptr_var(opline->op1.var, execute_data, &free_op1 TSRMLS_CC);
//??? }
if (free_op1.var) {zval_ptr_dtor_nogc(free_op1.var);};
-//??? PZVAL_UNLOCK(EX_VAR(opline->result.var), &free_res);
-//??? if (EX_T(opline->result.var).var.ptr_ptr != &EG(uninitialized_zval_ptr)) {
-//??? SEPARATE_ZVAL_IF_NOT_REF(EX_T(opline->result.var).var.ptr_ptr);
-//??? }
-//??? PZVAL_LOCK(EX_VAR(opline->result.var));
-//??? FREE_OP_VAR_PTR(free_res);
+ retval_ptr = EX_VAR(opline->result.var);
+ if (Z_TYPE_P(retval_ptr) == IS_INDIRECT) {
+ retval_ptr = Z_INDIRECT_P(retval_ptr);
+ }
+ PZVAL_UNLOCK(retval_ptr, &free_res);
+ SEPARATE_ZVAL_IF_NOT_REF(retval_ptr);
+ PZVAL_LOCK(retval_ptr);
+ FREE_OP_VAR_PTR(free_res);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
zend_free_op free_res;
zval *retval_ptr = EX_VAR(opline->result.var);
+ if (Z_TYPE_P(retval_ptr) == IS_INDIRECT) {
+ retval_ptr = Z_INDIRECT_P(retval_ptr);
+ }
PZVAL_UNLOCK(retval_ptr, &free_res);
SEPARATE_ZVAL_IF_NOT_REF(retval_ptr);
PZVAL_LOCK(retval_ptr);
{
USE_OPLINE
zend_free_op free_op1, free_res;
- zval *container;
- zval *property;
+ zval *container, *property, *retval_ptr;
SAVE_OPLINE();
container = _get_zval_ptr_var(opline->op1.var, execute_data, &free_op1 TSRMLS_CC);
//??? }
if (free_op1.var) {zval_ptr_dtor_nogc(free_op1.var);};
-//??? PZVAL_UNLOCK(EX_VAR(opline->result.var), &free_res);
-//??? if (EX_T(opline->result.var).var.ptr_ptr != &EG(uninitialized_zval_ptr)) {
-//??? SEPARATE_ZVAL_IF_NOT_REF(EX_T(opline->result.var).var.ptr_ptr);
-//??? }
-//??? PZVAL_LOCK(EX_VAR(opline->result.var));
-//??? FREE_OP_VAR_PTR(free_res);
+ retval_ptr = EX_VAR(opline->result.var);
+ if (Z_TYPE_P(retval_ptr) == IS_INDIRECT) {
+ retval_ptr = Z_INDIRECT_P(retval_ptr);
+ }
+ PZVAL_UNLOCK(retval_ptr, &free_res);
+ SEPARATE_ZVAL_IF_NOT_REF(retval_ptr);
+ PZVAL_LOCK(retval_ptr);
+ FREE_OP_VAR_PTR(free_res);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
{
USE_OPLINE
zend_free_op free_op1, free_res;
- zval *container;
- zval *property;
+ zval *container, *property, *retval_ptr;
SAVE_OPLINE();
container = _get_obj_zval_ptr_unused(TSRMLS_C);
//??? EXTRACT_ZVAL_PTR(&EX_T(opline->result.var));
//??? }
-//??? PZVAL_UNLOCK(EX_VAR(opline->result.var), &free_res);
-//??? if (EX_T(opline->result.var).var.ptr_ptr != &EG(uninitialized_zval_ptr)) {
-//??? SEPARATE_ZVAL_IF_NOT_REF(EX_T(opline->result.var).var.ptr_ptr);
-//??? }
-//??? PZVAL_LOCK(EX_VAR(opline->result.var));
-//??? FREE_OP_VAR_PTR(free_res);
+ retval_ptr = EX_VAR(opline->result.var);
+ if (Z_TYPE_P(retval_ptr) == IS_INDIRECT) {
+ retval_ptr = Z_INDIRECT_P(retval_ptr);
+ }
+ PZVAL_UNLOCK(retval_ptr, &free_res);
+ SEPARATE_ZVAL_IF_NOT_REF(retval_ptr);
+ PZVAL_LOCK(retval_ptr);
+ FREE_OP_VAR_PTR(free_res);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
{
USE_OPLINE
zend_free_op free_op1, free_op2, free_res;
- zval *container;
- zval *property;
+ zval *container, *property, *retval_ptr;
SAVE_OPLINE();
container = _get_obj_zval_ptr_unused(TSRMLS_C);
//??? EXTRACT_ZVAL_PTR(&EX_T(opline->result.var));
//??? }
-//??? PZVAL_UNLOCK(EX_VAR(opline->result.var), &free_res);
-//??? if (EX_T(opline->result.var).var.ptr_ptr != &EG(uninitialized_zval_ptr)) {
-//??? SEPARATE_ZVAL_IF_NOT_REF(EX_T(opline->result.var).var.ptr_ptr);
-//??? }
-//??? PZVAL_LOCK(EX_VAR(opline->result.var));
-//??? FREE_OP_VAR_PTR(free_res);
+ retval_ptr = EX_VAR(opline->result.var);
+ if (Z_TYPE_P(retval_ptr) == IS_INDIRECT) {
+ retval_ptr = Z_INDIRECT_P(retval_ptr);
+ }
+ PZVAL_UNLOCK(retval_ptr, &free_res);
+ SEPARATE_ZVAL_IF_NOT_REF(retval_ptr);
+ PZVAL_LOCK(retval_ptr);
+ FREE_OP_VAR_PTR(free_res);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
{
USE_OPLINE
zend_free_op free_op1, free_op2, free_res;
- zval *container;
- zval *property;
+ zval *container, *property, *retval_ptr;
SAVE_OPLINE();
container = _get_obj_zval_ptr_unused(TSRMLS_C);
//??? EXTRACT_ZVAL_PTR(&EX_T(opline->result.var));
//??? }
-//??? PZVAL_UNLOCK(EX_VAR(opline->result.var), &free_res);
-//??? if (EX_T(opline->result.var).var.ptr_ptr != &EG(uninitialized_zval_ptr)) {
-//??? SEPARATE_ZVAL_IF_NOT_REF(EX_T(opline->result.var).var.ptr_ptr);
-//??? }
-//??? PZVAL_LOCK(EX_VAR(opline->result.var));
-//??? FREE_OP_VAR_PTR(free_res);
+ retval_ptr = EX_VAR(opline->result.var);
+ if (Z_TYPE_P(retval_ptr) == IS_INDIRECT) {
+ retval_ptr = Z_INDIRECT_P(retval_ptr);
+ }
+ PZVAL_UNLOCK(retval_ptr, &free_res);
+ SEPARATE_ZVAL_IF_NOT_REF(retval_ptr);
+ PZVAL_LOCK(retval_ptr);
+ FREE_OP_VAR_PTR(free_res);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
{
USE_OPLINE
zend_free_op free_op1, free_res;
- zval *container;
- zval *property;
+ zval *container, *property, *retval_ptr;
SAVE_OPLINE();
container = _get_obj_zval_ptr_unused(TSRMLS_C);
//??? EXTRACT_ZVAL_PTR(&EX_T(opline->result.var));
//??? }
-//??? PZVAL_UNLOCK(EX_VAR(opline->result.var), &free_res);
-//??? if (EX_T(opline->result.var).var.ptr_ptr != &EG(uninitialized_zval_ptr)) {
-//??? SEPARATE_ZVAL_IF_NOT_REF(EX_T(opline->result.var).var.ptr_ptr);
-//??? }
-//??? PZVAL_LOCK(EX_VAR(opline->result.var));
-//??? FREE_OP_VAR_PTR(free_res);
+ retval_ptr = EX_VAR(opline->result.var);
+ if (Z_TYPE_P(retval_ptr) == IS_INDIRECT) {
+ retval_ptr = Z_INDIRECT_P(retval_ptr);
+ }
+ PZVAL_UNLOCK(retval_ptr, &free_res);
+ SEPARATE_ZVAL_IF_NOT_REF(retval_ptr);
+ PZVAL_LOCK(retval_ptr);
+ FREE_OP_VAR_PTR(free_res);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
zend_free_op free_res;
zval *retval_ptr = EX_VAR(opline->result.var);
+ if (Z_TYPE_P(retval_ptr) == IS_INDIRECT) {
+ retval_ptr = Z_INDIRECT_P(retval_ptr);
+ }
PZVAL_UNLOCK(retval_ptr, &free_res);
SEPARATE_ZVAL_IF_NOT_REF(retval_ptr);
PZVAL_LOCK(retval_ptr);
{
USE_OPLINE
zend_free_op free_op1, free_res;
- zval *container;
- zval *property;
+ zval *container, *property, *retval_ptr;
SAVE_OPLINE();
container = _get_zval_ptr_cv_BP_VAR_UNSET(execute_data, opline->op1.var TSRMLS_CC);
//??? EXTRACT_ZVAL_PTR(&EX_T(opline->result.var));
//??? }
-//??? PZVAL_UNLOCK(EX_VAR(opline->result.var), &free_res);
-//??? if (EX_T(opline->result.var).var.ptr_ptr != &EG(uninitialized_zval_ptr)) {
-//??? SEPARATE_ZVAL_IF_NOT_REF(EX_T(opline->result.var).var.ptr_ptr);
-//??? }
-//??? PZVAL_LOCK(EX_VAR(opline->result.var));
-//??? FREE_OP_VAR_PTR(free_res);
+ retval_ptr = EX_VAR(opline->result.var);
+ if (Z_TYPE_P(retval_ptr) == IS_INDIRECT) {
+ retval_ptr = Z_INDIRECT_P(retval_ptr);
+ }
+ PZVAL_UNLOCK(retval_ptr, &free_res);
+ SEPARATE_ZVAL_IF_NOT_REF(retval_ptr);
+ PZVAL_LOCK(retval_ptr);
+ FREE_OP_VAR_PTR(free_res);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
zend_free_op free_res;
zval *retval_ptr = EX_VAR(opline->result.var);
+ if (Z_TYPE_P(retval_ptr) == IS_INDIRECT) {
+ retval_ptr = Z_INDIRECT_P(retval_ptr);
+ }
PZVAL_UNLOCK(retval_ptr, &free_res);
SEPARATE_ZVAL_IF_NOT_REF(retval_ptr);
PZVAL_LOCK(retval_ptr);
{
USE_OPLINE
zend_free_op free_op1, free_op2, free_res;
- zval *container;
- zval *property;
+ zval *container, *property, *retval_ptr;
SAVE_OPLINE();
container = _get_zval_ptr_cv_BP_VAR_UNSET(execute_data, opline->op1.var TSRMLS_CC);
//??? EXTRACT_ZVAL_PTR(&EX_T(opline->result.var));
//??? }
-//??? PZVAL_UNLOCK(EX_VAR(opline->result.var), &free_res);
-//??? if (EX_T(opline->result.var).var.ptr_ptr != &EG(uninitialized_zval_ptr)) {
-//??? SEPARATE_ZVAL_IF_NOT_REF(EX_T(opline->result.var).var.ptr_ptr);
-//??? }
-//??? PZVAL_LOCK(EX_VAR(opline->result.var));
-//??? FREE_OP_VAR_PTR(free_res);
+ retval_ptr = EX_VAR(opline->result.var);
+ if (Z_TYPE_P(retval_ptr) == IS_INDIRECT) {
+ retval_ptr = Z_INDIRECT_P(retval_ptr);
+ }
+ PZVAL_UNLOCK(retval_ptr, &free_res);
+ SEPARATE_ZVAL_IF_NOT_REF(retval_ptr);
+ PZVAL_LOCK(retval_ptr);
+ FREE_OP_VAR_PTR(free_res);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
zend_free_op free_res;
zval *retval_ptr = EX_VAR(opline->result.var);
+ if (Z_TYPE_P(retval_ptr) == IS_INDIRECT) {
+ retval_ptr = Z_INDIRECT_P(retval_ptr);
+ }
PZVAL_UNLOCK(retval_ptr, &free_res);
SEPARATE_ZVAL_IF_NOT_REF(retval_ptr);
PZVAL_LOCK(retval_ptr);
{
USE_OPLINE
zend_free_op free_op1, free_op2, free_res;
- zval *container;
- zval *property;
+ zval *container, *property, *retval_ptr;
SAVE_OPLINE();
container = _get_zval_ptr_cv_BP_VAR_UNSET(execute_data, opline->op1.var TSRMLS_CC);
//??? EXTRACT_ZVAL_PTR(&EX_T(opline->result.var));
//??? }
-//??? PZVAL_UNLOCK(EX_VAR(opline->result.var), &free_res);
-//??? if (EX_T(opline->result.var).var.ptr_ptr != &EG(uninitialized_zval_ptr)) {
-//??? SEPARATE_ZVAL_IF_NOT_REF(EX_T(opline->result.var).var.ptr_ptr);
-//??? }
-//??? PZVAL_LOCK(EX_VAR(opline->result.var));
-//??? FREE_OP_VAR_PTR(free_res);
+ retval_ptr = EX_VAR(opline->result.var);
+ if (Z_TYPE_P(retval_ptr) == IS_INDIRECT) {
+ retval_ptr = Z_INDIRECT_P(retval_ptr);
+ }
+ PZVAL_UNLOCK(retval_ptr, &free_res);
+ SEPARATE_ZVAL_IF_NOT_REF(retval_ptr);
+ PZVAL_LOCK(retval_ptr);
+ FREE_OP_VAR_PTR(free_res);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
zend_free_op free_res;
zval *retval_ptr = EX_VAR(opline->result.var);
+ if (Z_TYPE_P(retval_ptr) == IS_INDIRECT) {
+ retval_ptr = Z_INDIRECT_P(retval_ptr);
+ }
PZVAL_UNLOCK(retval_ptr, &free_res);
SEPARATE_ZVAL_IF_NOT_REF(retval_ptr);
PZVAL_LOCK(retval_ptr);
{
USE_OPLINE
zend_free_op free_op1, free_res;
- zval *container;
- zval *property;
+ zval *container, *property, *retval_ptr;
SAVE_OPLINE();
container = _get_zval_ptr_cv_BP_VAR_UNSET(execute_data, opline->op1.var TSRMLS_CC);
//??? EXTRACT_ZVAL_PTR(&EX_T(opline->result.var));
//??? }
-//??? PZVAL_UNLOCK(EX_VAR(opline->result.var), &free_res);
-//??? if (EX_T(opline->result.var).var.ptr_ptr != &EG(uninitialized_zval_ptr)) {
-//??? SEPARATE_ZVAL_IF_NOT_REF(EX_T(opline->result.var).var.ptr_ptr);
-//??? }
-//??? PZVAL_LOCK(EX_VAR(opline->result.var));
-//??? FREE_OP_VAR_PTR(free_res);
+ retval_ptr = EX_VAR(opline->result.var);
+ if (Z_TYPE_P(retval_ptr) == IS_INDIRECT) {
+ retval_ptr = Z_INDIRECT_P(retval_ptr);
+ }
+ PZVAL_UNLOCK(retval_ptr, &free_res);
+ SEPARATE_ZVAL_IF_NOT_REF(retval_ptr);
+ PZVAL_LOCK(retval_ptr);
+ FREE_OP_VAR_PTR(free_res);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}