summaryrefslogtreecommitdiff
path: root/Zend/zend_vm_execute.h
diff options
context:
space:
mode:
Diffstat (limited to 'Zend/zend_vm_execute.h')
-rw-r--r--Zend/zend_vm_execute.h188
1 files changed, 137 insertions, 51 deletions
diff --git a/Zend/zend_vm_execute.h b/Zend/zend_vm_execute.h
index bd6f90a431..ed5b13cc4c 100644
--- a/Zend/zend_vm_execute.h
+++ b/Zend/zend_vm_execute.h
@@ -8786,6 +8786,7 @@ static int ZEND_FETCH_DIM_W_SPEC_VAR_CONST_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
zend_fetch_dimension_address(RETURN_VALUE_UNUSED(&opline->result)?NULL:&EX_T(opline->result.u.var), _get_zval_ptr_ptr_var(&opline->op1, EX(Ts), &free_op1 TSRMLS_CC), dim, 0, BP_VAR_W TSRMLS_CC);
if (IS_VAR == IS_VAR && (free_op1.var != NULL) &&
+ READY_TO_DESTROY(free_op1.var) &&
!RETURN_VALUE_UNUSED(&opline->result)) {
AI_USE_PTR(EX_T(opline->result.u.var).var);
}
@@ -8802,6 +8803,7 @@ static int ZEND_FETCH_DIM_RW_SPEC_VAR_CONST_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
zend_fetch_dimension_address(RETURN_VALUE_UNUSED(&opline->result)?NULL:&EX_T(opline->result.u.var), _get_zval_ptr_ptr_var(&opline->op1, EX(Ts), &free_op1 TSRMLS_CC), dim, 0, BP_VAR_RW TSRMLS_CC);
if (IS_VAR == IS_VAR && (free_op1.var != NULL) &&
+ READY_TO_DESTROY(free_op1.var) &&
!RETURN_VALUE_UNUSED(&opline->result)) {
AI_USE_PTR(EX_T(opline->result.u.var).var);
}
@@ -8835,6 +8837,7 @@ static int ZEND_FETCH_DIM_FUNC_ARG_SPEC_VAR_CONST_HANDLER(ZEND_OPCODE_HANDLER_AR
zend_fetch_dimension_address(RETURN_VALUE_UNUSED(&opline->result)?NULL:&EX_T(opline->result.u.var), _get_zval_ptr_ptr_var(&opline->op1, EX(Ts), &free_op1 TSRMLS_CC), dim, 0, type TSRMLS_CC);
if (IS_VAR == IS_VAR && type == BP_VAR_W && (free_op1.var != NULL) &&
+ READY_TO_DESTROY(free_op1.var) &&
!RETURN_VALUE_UNUSED(&opline->result)) {
AI_USE_PTR(EX_T(opline->result.u.var).var);
}
@@ -8862,6 +8865,7 @@ static int ZEND_FETCH_DIM_UNSET_SPEC_VAR_CONST_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
zend_fetch_dimension_address(RETURN_VALUE_UNUSED(&opline->result)?NULL:&EX_T(opline->result.u.var), container, dim, 0, BP_VAR_UNSET TSRMLS_CC);
if (IS_VAR == IS_VAR && (free_op1.var != NULL) &&
+ READY_TO_DESTROY(free_op1.var) &&
!RETURN_VALUE_UNUSED(&opline->result)) {
AI_USE_PTR(EX_T(opline->result.u.var).var);
}
@@ -8967,6 +8971,7 @@ static int ZEND_FETCH_OBJ_W_SPEC_VAR_CONST_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
}
if (IS_VAR == IS_VAR && (free_op1.var != NULL) &&
+ READY_TO_DESTROY(free_op1.var) &&
!RETURN_VALUE_UNUSED(&opline->result)) {
AI_USE_PTR(EX_T(opline->result.u.var).var);
}
@@ -8990,6 +8995,7 @@ static int ZEND_FETCH_OBJ_RW_SPEC_VAR_CONST_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
}
if (IS_VAR == IS_VAR && (free_op1.var != NULL) &&
+ READY_TO_DESTROY(free_op1.var) &&
!RETURN_VALUE_UNUSED(&opline->result)) {
AI_USE_PTR(EX_T(opline->result.u.var).var);
}
@@ -9021,6 +9027,7 @@ static int ZEND_FETCH_OBJ_FUNC_ARG_SPEC_VAR_CONST_HANDLER(ZEND_OPCODE_HANDLER_AR
}
if (IS_VAR == IS_VAR && (free_op1.var != NULL) &&
+ READY_TO_DESTROY(free_op1.var) &&
!RETURN_VALUE_UNUSED(&opline->result)) {
AI_USE_PTR(EX_T(opline->result.u.var).var);
}
@@ -9053,6 +9060,7 @@ static int ZEND_FETCH_OBJ_UNSET_SPEC_VAR_CONST_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
}
if (IS_VAR == IS_VAR && (free_op1.var != NULL) &&
+ READY_TO_DESTROY(free_op1.var) &&
!RETURN_VALUE_UNUSED(&opline->result)) {
AI_USE_PTR(EX_T(opline->result.u.var).var);
}
@@ -10258,6 +10266,7 @@ static int ZEND_FETCH_DIM_W_SPEC_VAR_TMP_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
zend_fetch_dimension_address(RETURN_VALUE_UNUSED(&opline->result)?NULL:&EX_T(opline->result.u.var), _get_zval_ptr_ptr_var(&opline->op1, EX(Ts), &free_op1 TSRMLS_CC), dim, 1, BP_VAR_W TSRMLS_CC);
zval_dtor(free_op2.var);
if (IS_VAR == IS_VAR && (free_op1.var != NULL) &&
+ READY_TO_DESTROY(free_op1.var) &&
!RETURN_VALUE_UNUSED(&opline->result)) {
AI_USE_PTR(EX_T(opline->result.u.var).var);
}
@@ -10274,6 +10283,7 @@ static int ZEND_FETCH_DIM_RW_SPEC_VAR_TMP_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
zend_fetch_dimension_address(RETURN_VALUE_UNUSED(&opline->result)?NULL:&EX_T(opline->result.u.var), _get_zval_ptr_ptr_var(&opline->op1, EX(Ts), &free_op1 TSRMLS_CC), dim, 1, BP_VAR_RW TSRMLS_CC);
zval_dtor(free_op2.var);
if (IS_VAR == IS_VAR && (free_op1.var != NULL) &&
+ READY_TO_DESTROY(free_op1.var) &&
!RETURN_VALUE_UNUSED(&opline->result)) {
AI_USE_PTR(EX_T(opline->result.u.var).var);
}
@@ -10307,6 +10317,7 @@ static int ZEND_FETCH_DIM_FUNC_ARG_SPEC_VAR_TMP_HANDLER(ZEND_OPCODE_HANDLER_ARGS
zend_fetch_dimension_address(RETURN_VALUE_UNUSED(&opline->result)?NULL:&EX_T(opline->result.u.var), _get_zval_ptr_ptr_var(&opline->op1, EX(Ts), &free_op1 TSRMLS_CC), dim, 1, type TSRMLS_CC);
zval_dtor(free_op2.var);
if (IS_VAR == IS_VAR && type == BP_VAR_W && (free_op1.var != NULL) &&
+ READY_TO_DESTROY(free_op1.var) &&
!RETURN_VALUE_UNUSED(&opline->result)) {
AI_USE_PTR(EX_T(opline->result.u.var).var);
}
@@ -10334,6 +10345,7 @@ static int ZEND_FETCH_DIM_UNSET_SPEC_VAR_TMP_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
zend_fetch_dimension_address(RETURN_VALUE_UNUSED(&opline->result)?NULL:&EX_T(opline->result.u.var), container, dim, 1, BP_VAR_UNSET TSRMLS_CC);
zval_dtor(free_op2.var);
if (IS_VAR == IS_VAR && (free_op1.var != NULL) &&
+ READY_TO_DESTROY(free_op1.var) &&
!RETURN_VALUE_UNUSED(&opline->result)) {
AI_USE_PTR(EX_T(opline->result.u.var).var);
}
@@ -10439,6 +10451,7 @@ static int ZEND_FETCH_OBJ_W_SPEC_VAR_TMP_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
zval_dtor(free_op2.var);
}
if (IS_VAR == IS_VAR && (free_op1.var != NULL) &&
+ READY_TO_DESTROY(free_op1.var) &&
!RETURN_VALUE_UNUSED(&opline->result)) {
AI_USE_PTR(EX_T(opline->result.u.var).var);
}
@@ -10462,6 +10475,7 @@ static int ZEND_FETCH_OBJ_RW_SPEC_VAR_TMP_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
zval_dtor(free_op2.var);
}
if (IS_VAR == IS_VAR && (free_op1.var != NULL) &&
+ READY_TO_DESTROY(free_op1.var) &&
!RETURN_VALUE_UNUSED(&opline->result)) {
AI_USE_PTR(EX_T(opline->result.u.var).var);
}
@@ -10493,6 +10507,7 @@ static int ZEND_FETCH_OBJ_FUNC_ARG_SPEC_VAR_TMP_HANDLER(ZEND_OPCODE_HANDLER_ARGS
zval_dtor(free_op2.var);
}
if (IS_VAR == IS_VAR && (free_op1.var != NULL) &&
+ READY_TO_DESTROY(free_op1.var) &&
!RETURN_VALUE_UNUSED(&opline->result)) {
AI_USE_PTR(EX_T(opline->result.u.var).var);
}
@@ -10525,6 +10540,7 @@ static int ZEND_FETCH_OBJ_UNSET_SPEC_VAR_TMP_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
zval_dtor(free_op2.var);
}
if (IS_VAR == IS_VAR && (free_op1.var != NULL) &&
+ READY_TO_DESTROY(free_op1.var) &&
!RETURN_VALUE_UNUSED(&opline->result)) {
AI_USE_PTR(EX_T(opline->result.u.var).var);
}
@@ -11733,6 +11749,7 @@ static int ZEND_FETCH_DIM_W_SPEC_VAR_VAR_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
zend_fetch_dimension_address(RETURN_VALUE_UNUSED(&opline->result)?NULL:&EX_T(opline->result.u.var), _get_zval_ptr_ptr_var(&opline->op1, EX(Ts), &free_op1 TSRMLS_CC), dim, 0, BP_VAR_W TSRMLS_CC);
if (free_op2.var) {zval_ptr_dtor(&free_op2.var);};
if (IS_VAR == IS_VAR && (free_op1.var != NULL) &&
+ READY_TO_DESTROY(free_op1.var) &&
!RETURN_VALUE_UNUSED(&opline->result)) {
AI_USE_PTR(EX_T(opline->result.u.var).var);
}
@@ -11749,6 +11766,7 @@ static int ZEND_FETCH_DIM_RW_SPEC_VAR_VAR_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
zend_fetch_dimension_address(RETURN_VALUE_UNUSED(&opline->result)?NULL:&EX_T(opline->result.u.var), _get_zval_ptr_ptr_var(&opline->op1, EX(Ts), &free_op1 TSRMLS_CC), dim, 0, BP_VAR_RW TSRMLS_CC);
if (free_op2.var) {zval_ptr_dtor(&free_op2.var);};
if (IS_VAR == IS_VAR && (free_op1.var != NULL) &&
+ READY_TO_DESTROY(free_op1.var) &&
!RETURN_VALUE_UNUSED(&opline->result)) {
AI_USE_PTR(EX_T(opline->result.u.var).var);
}
@@ -11782,6 +11800,7 @@ static int ZEND_FETCH_DIM_FUNC_ARG_SPEC_VAR_VAR_HANDLER(ZEND_OPCODE_HANDLER_ARGS
zend_fetch_dimension_address(RETURN_VALUE_UNUSED(&opline->result)?NULL:&EX_T(opline->result.u.var), _get_zval_ptr_ptr_var(&opline->op1, EX(Ts), &free_op1 TSRMLS_CC), dim, 0, type TSRMLS_CC);
if (free_op2.var) {zval_ptr_dtor(&free_op2.var);};
if (IS_VAR == IS_VAR && type == BP_VAR_W && (free_op1.var != NULL) &&
+ READY_TO_DESTROY(free_op1.var) &&
!RETURN_VALUE_UNUSED(&opline->result)) {
AI_USE_PTR(EX_T(opline->result.u.var).var);
}
@@ -11809,6 +11828,7 @@ static int ZEND_FETCH_DIM_UNSET_SPEC_VAR_VAR_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
zend_fetch_dimension_address(RETURN_VALUE_UNUSED(&opline->result)?NULL:&EX_T(opline->result.u.var), container, dim, 0, BP_VAR_UNSET TSRMLS_CC);
if (free_op2.var) {zval_ptr_dtor(&free_op2.var);};
if (IS_VAR == IS_VAR && (free_op1.var != NULL) &&
+ READY_TO_DESTROY(free_op1.var) &&
!RETURN_VALUE_UNUSED(&opline->result)) {
AI_USE_PTR(EX_T(opline->result.u.var).var);
}
@@ -11914,6 +11934,7 @@ static int ZEND_FETCH_OBJ_W_SPEC_VAR_VAR_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
if (free_op2.var) {zval_ptr_dtor(&free_op2.var);};
}
if (IS_VAR == IS_VAR && (free_op1.var != NULL) &&
+ READY_TO_DESTROY(free_op1.var) &&
!RETURN_VALUE_UNUSED(&opline->result)) {
AI_USE_PTR(EX_T(opline->result.u.var).var);
}
@@ -11937,6 +11958,7 @@ static int ZEND_FETCH_OBJ_RW_SPEC_VAR_VAR_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
if (free_op2.var) {zval_ptr_dtor(&free_op2.var);};
}
if (IS_VAR == IS_VAR && (free_op1.var != NULL) &&
+ READY_TO_DESTROY(free_op1.var) &&
!RETURN_VALUE_UNUSED(&opline->result)) {
AI_USE_PTR(EX_T(opline->result.u.var).var);
}
@@ -11968,6 +11990,7 @@ static int ZEND_FETCH_OBJ_FUNC_ARG_SPEC_VAR_VAR_HANDLER(ZEND_OPCODE_HANDLER_ARGS
if (free_op2.var) {zval_ptr_dtor(&free_op2.var);};
}
if (IS_VAR == IS_VAR && (free_op1.var != NULL) &&
+ READY_TO_DESTROY(free_op1.var) &&
!RETURN_VALUE_UNUSED(&opline->result)) {
AI_USE_PTR(EX_T(opline->result.u.var).var);
}
@@ -12000,6 +12023,7 @@ static int ZEND_FETCH_OBJ_UNSET_SPEC_VAR_VAR_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
if (free_op2.var) {zval_ptr_dtor(&free_op2.var);};
}
if (IS_VAR == IS_VAR && (free_op1.var != NULL) &&
+ READY_TO_DESTROY(free_op1.var) &&
!RETURN_VALUE_UNUSED(&opline->result)) {
AI_USE_PTR(EX_T(opline->result.u.var).var);
}
@@ -12813,6 +12837,7 @@ static int ZEND_FETCH_DIM_W_SPEC_VAR_UNUSED_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
zend_fetch_dimension_address(RETURN_VALUE_UNUSED(&opline->result)?NULL:&EX_T(opline->result.u.var), _get_zval_ptr_ptr_var(&opline->op1, EX(Ts), &free_op1 TSRMLS_CC), dim, 0, BP_VAR_W TSRMLS_CC);
if (IS_VAR == IS_VAR && (free_op1.var != NULL) &&
+ READY_TO_DESTROY(free_op1.var) &&
!RETURN_VALUE_UNUSED(&opline->result)) {
AI_USE_PTR(EX_T(opline->result.u.var).var);
}
@@ -12829,6 +12854,7 @@ static int ZEND_FETCH_DIM_RW_SPEC_VAR_UNUSED_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
zend_fetch_dimension_address(RETURN_VALUE_UNUSED(&opline->result)?NULL:&EX_T(opline->result.u.var), _get_zval_ptr_ptr_var(&opline->op1, EX(Ts), &free_op1 TSRMLS_CC), dim, 0, BP_VAR_RW TSRMLS_CC);
if (IS_VAR == IS_VAR && (free_op1.var != NULL) &&
+ READY_TO_DESTROY(free_op1.var) &&
!RETURN_VALUE_UNUSED(&opline->result)) {
AI_USE_PTR(EX_T(opline->result.u.var).var);
}
@@ -12850,6 +12876,7 @@ static int ZEND_FETCH_DIM_FUNC_ARG_SPEC_VAR_UNUSED_HANDLER(ZEND_OPCODE_HANDLER_A
zend_fetch_dimension_address(RETURN_VALUE_UNUSED(&opline->result)?NULL:&EX_T(opline->result.u.var), _get_zval_ptr_ptr_var(&opline->op1, EX(Ts), &free_op1 TSRMLS_CC), dim, 0, type TSRMLS_CC);
if (IS_VAR == IS_VAR && type == BP_VAR_W && (free_op1.var != NULL) &&
+ READY_TO_DESTROY(free_op1.var) &&
!RETURN_VALUE_UNUSED(&opline->result)) {
AI_USE_PTR(EX_T(opline->result.u.var).var);
}
@@ -13674,6 +13701,7 @@ static int ZEND_FETCH_DIM_W_SPEC_VAR_CV_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
zend_fetch_dimension_address(RETURN_VALUE_UNUSED(&opline->result)?NULL:&EX_T(opline->result.u.var), _get_zval_ptr_ptr_var(&opline->op1, EX(Ts), &free_op1 TSRMLS_CC), dim, 0, BP_VAR_W TSRMLS_CC);
if (IS_VAR == IS_VAR && (free_op1.var != NULL) &&
+ READY_TO_DESTROY(free_op1.var) &&
!RETURN_VALUE_UNUSED(&opline->result)) {
AI_USE_PTR(EX_T(opline->result.u.var).var);
}
@@ -13690,6 +13718,7 @@ static int ZEND_FETCH_DIM_RW_SPEC_VAR_CV_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
zend_fetch_dimension_address(RETURN_VALUE_UNUSED(&opline->result)?NULL:&EX_T(opline->result.u.var), _get_zval_ptr_ptr_var(&opline->op1, EX(Ts), &free_op1 TSRMLS_CC), dim, 0, BP_VAR_RW TSRMLS_CC);
if (IS_VAR == IS_VAR && (free_op1.var != NULL) &&
+ READY_TO_DESTROY(free_op1.var) &&
!RETURN_VALUE_UNUSED(&opline->result)) {
AI_USE_PTR(EX_T(opline->result.u.var).var);
}
@@ -13723,6 +13752,7 @@ static int ZEND_FETCH_DIM_FUNC_ARG_SPEC_VAR_CV_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
zend_fetch_dimension_address(RETURN_VALUE_UNUSED(&opline->result)?NULL:&EX_T(opline->result.u.var), _get_zval_ptr_ptr_var(&opline->op1, EX(Ts), &free_op1 TSRMLS_CC), dim, 0, type TSRMLS_CC);
if (IS_VAR == IS_VAR && type == BP_VAR_W && (free_op1.var != NULL) &&
+ READY_TO_DESTROY(free_op1.var) &&
!RETURN_VALUE_UNUSED(&opline->result)) {
AI_USE_PTR(EX_T(opline->result.u.var).var);
}
@@ -13750,6 +13780,7 @@ static int ZEND_FETCH_DIM_UNSET_SPEC_VAR_CV_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
zend_fetch_dimension_address(RETURN_VALUE_UNUSED(&opline->result)?NULL:&EX_T(opline->result.u.var), container, dim, 0, BP_VAR_UNSET TSRMLS_CC);
if (IS_VAR == IS_VAR && (free_op1.var != NULL) &&
+ READY_TO_DESTROY(free_op1.var) &&
!RETURN_VALUE_UNUSED(&opline->result)) {
AI_USE_PTR(EX_T(opline->result.u.var).var);
}
@@ -13855,6 +13886,7 @@ static int ZEND_FETCH_OBJ_W_SPEC_VAR_CV_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
}
if (IS_VAR == IS_VAR && (free_op1.var != NULL) &&
+ READY_TO_DESTROY(free_op1.var) &&
!RETURN_VALUE_UNUSED(&opline->result)) {
AI_USE_PTR(EX_T(opline->result.u.var).var);
}
@@ -13878,6 +13910,7 @@ static int ZEND_FETCH_OBJ_RW_SPEC_VAR_CV_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
}
if (IS_VAR == IS_VAR && (free_op1.var != NULL) &&
+ READY_TO_DESTROY(free_op1.var) &&
!RETURN_VALUE_UNUSED(&opline->result)) {
AI_USE_PTR(EX_T(opline->result.u.var).var);
}
@@ -13909,6 +13942,7 @@ static int ZEND_FETCH_OBJ_FUNC_ARG_SPEC_VAR_CV_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
}
if (IS_VAR == IS_VAR && (free_op1.var != NULL) &&
+ READY_TO_DESTROY(free_op1.var) &&
!RETURN_VALUE_UNUSED(&opline->result)) {
AI_USE_PTR(EX_T(opline->result.u.var).var);
}
@@ -13941,6 +13975,7 @@ static int ZEND_FETCH_OBJ_UNSET_SPEC_VAR_CV_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
}
if (IS_VAR == IS_VAR && (free_op1.var != NULL) &&
+ READY_TO_DESTROY(free_op1.var) &&
!RETURN_VALUE_UNUSED(&opline->result)) {
AI_USE_PTR(EX_T(opline->result.u.var).var);
}
@@ -15070,7 +15105,7 @@ static int ZEND_FETCH_OBJ_R_SPEC_UNUSED_CONST_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
static int ZEND_FETCH_OBJ_W_SPEC_UNUSED_CONST_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
{
zend_op *opline = EX(opline);
-
+ zend_free_op free_op1;
zval *property = &opline->op2.u.constant;
if (opline->extended_value == ZEND_FETCH_ADD_LOCK && IS_UNUSED != IS_CV) {
@@ -15088,6 +15123,7 @@ static int ZEND_FETCH_OBJ_W_SPEC_UNUSED_CONST_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
}
if (IS_UNUSED == IS_VAR && 0 &&
+ READY_TO_DESTROY(free_op1.var) &&
!RETURN_VALUE_UNUSED(&opline->result)) {
AI_USE_PTR(EX_T(opline->result.u.var).var);
}
@@ -15098,7 +15134,7 @@ static int ZEND_FETCH_OBJ_W_SPEC_UNUSED_CONST_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
static int ZEND_FETCH_OBJ_RW_SPEC_UNUSED_CONST_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
{
zend_op *opline = EX(opline);
-
+ zend_free_op free_op1;
zval *property = &opline->op2.u.constant;
if (0) {
@@ -15111,6 +15147,7 @@ static int ZEND_FETCH_OBJ_RW_SPEC_UNUSED_CONST_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
}
if (IS_UNUSED == IS_VAR && 0 &&
+ READY_TO_DESTROY(free_op1.var) &&
!RETURN_VALUE_UNUSED(&opline->result)) {
AI_USE_PTR(EX_T(opline->result.u.var).var);
}
@@ -15129,7 +15166,7 @@ static int ZEND_FETCH_OBJ_FUNC_ARG_SPEC_UNUSED_CONST_HANDLER(ZEND_OPCODE_HANDLER
if (ARG_SHOULD_BE_SENT_BY_REF(EX(fbc), opline->extended_value)) {
/* Behave like FETCH_OBJ_W */
-
+ zend_free_op free_op1;
zval *property = &opline->op2.u.constant;
if (0) {
@@ -15142,6 +15179,7 @@ static int ZEND_FETCH_OBJ_FUNC_ARG_SPEC_UNUSED_CONST_HANDLER(ZEND_OPCODE_HANDLER
}
if (IS_UNUSED == IS_VAR && 0 &&
+ READY_TO_DESTROY(free_op1.var) &&
!RETURN_VALUE_UNUSED(&opline->result)) {
AI_USE_PTR(EX_T(opline->result.u.var).var);
}
@@ -15155,7 +15193,7 @@ static int ZEND_FETCH_OBJ_FUNC_ARG_SPEC_UNUSED_CONST_HANDLER(ZEND_OPCODE_HANDLER
static int ZEND_FETCH_OBJ_UNSET_SPEC_UNUSED_CONST_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
{
zend_op *opline = EX(opline);
- zend_free_op free_res;
+ zend_free_op free_op1, free_res;
zval **container = _get_obj_zval_ptr_ptr_unused(TSRMLS_C);
zval *property = &opline->op2.u.constant;
@@ -15174,6 +15212,7 @@ static int ZEND_FETCH_OBJ_UNSET_SPEC_UNUSED_CONST_HANDLER(ZEND_OPCODE_HANDLER_AR
}
if (IS_UNUSED == IS_VAR && 0 &&
+ READY_TO_DESTROY(free_op1.var) &&
!RETURN_VALUE_UNUSED(&opline->result)) {
AI_USE_PTR(EX_T(opline->result.u.var).var);
}
@@ -16179,7 +16218,7 @@ static int ZEND_FETCH_OBJ_R_SPEC_UNUSED_TMP_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
static int ZEND_FETCH_OBJ_W_SPEC_UNUSED_TMP_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
{
zend_op *opline = EX(opline);
- zend_free_op free_op2;
+ zend_free_op free_op1, free_op2;
zval *property = _get_zval_ptr_tmp(&opline->op2, EX(Ts), &free_op2 TSRMLS_CC);
if (opline->extended_value == ZEND_FETCH_ADD_LOCK && IS_UNUSED != IS_CV) {
@@ -16197,6 +16236,7 @@ static int ZEND_FETCH_OBJ_W_SPEC_UNUSED_TMP_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
zval_dtor(free_op2.var);
}
if (IS_UNUSED == IS_VAR && 0 &&
+ READY_TO_DESTROY(free_op1.var) &&
!RETURN_VALUE_UNUSED(&opline->result)) {
AI_USE_PTR(EX_T(opline->result.u.var).var);
}
@@ -16207,7 +16247,7 @@ static int ZEND_FETCH_OBJ_W_SPEC_UNUSED_TMP_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
static int ZEND_FETCH_OBJ_RW_SPEC_UNUSED_TMP_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
{
zend_op *opline = EX(opline);
- zend_free_op free_op2;
+ zend_free_op free_op1, free_op2;
zval *property = _get_zval_ptr_tmp(&opline->op2, EX(Ts), &free_op2 TSRMLS_CC);
if (1) {
@@ -16220,6 +16260,7 @@ static int ZEND_FETCH_OBJ_RW_SPEC_UNUSED_TMP_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
zval_dtor(free_op2.var);
}
if (IS_UNUSED == IS_VAR && 0 &&
+ READY_TO_DESTROY(free_op1.var) &&
!RETURN_VALUE_UNUSED(&opline->result)) {
AI_USE_PTR(EX_T(opline->result.u.var).var);
}
@@ -16238,7 +16279,7 @@ static int ZEND_FETCH_OBJ_FUNC_ARG_SPEC_UNUSED_TMP_HANDLER(ZEND_OPCODE_HANDLER_A
if (ARG_SHOULD_BE_SENT_BY_REF(EX(fbc), opline->extended_value)) {
/* Behave like FETCH_OBJ_W */
- zend_free_op free_op2;
+ zend_free_op free_op1, free_op2;
zval *property = _get_zval_ptr_tmp(&opline->op2, EX(Ts), &free_op2 TSRMLS_CC);
if (1) {
@@ -16251,6 +16292,7 @@ static int ZEND_FETCH_OBJ_FUNC_ARG_SPEC_UNUSED_TMP_HANDLER(ZEND_OPCODE_HANDLER_A
zval_dtor(free_op2.var);
}
if (IS_UNUSED == IS_VAR && 0 &&
+ READY_TO_DESTROY(free_op1.var) &&
!RETURN_VALUE_UNUSED(&opline->result)) {
AI_USE_PTR(EX_T(opline->result.u.var).var);
}
@@ -16264,7 +16306,7 @@ static int ZEND_FETCH_OBJ_FUNC_ARG_SPEC_UNUSED_TMP_HANDLER(ZEND_OPCODE_HANDLER_A
static int ZEND_FETCH_OBJ_UNSET_SPEC_UNUSED_TMP_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
{
zend_op *opline = EX(opline);
- zend_free_op free_op2, free_res;
+ zend_free_op free_op1, free_op2, free_res;
zval **container = _get_obj_zval_ptr_ptr_unused(TSRMLS_C);
zval *property = _get_zval_ptr_tmp(&opline->op2, EX(Ts), &free_op2 TSRMLS_CC);
@@ -16283,6 +16325,7 @@ static int ZEND_FETCH_OBJ_UNSET_SPEC_UNUSED_TMP_HANDLER(ZEND_OPCODE_HANDLER_ARGS
zval_dtor(free_op2.var);
}
if (IS_UNUSED == IS_VAR && 0 &&
+ READY_TO_DESTROY(free_op1.var) &&
!RETURN_VALUE_UNUSED(&opline->result)) {
AI_USE_PTR(EX_T(opline->result.u.var).var);
}
@@ -17249,7 +17292,7 @@ static int ZEND_FETCH_OBJ_R_SPEC_UNUSED_VAR_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
static int ZEND_FETCH_OBJ_W_SPEC_UNUSED_VAR_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
{
zend_op *opline = EX(opline);
- zend_free_op free_op2;
+ zend_free_op free_op1, free_op2;
zval *property = _get_zval_ptr_var(&opline->op2, EX(Ts), &free_op2 TSRMLS_CC);
if (opline->extended_value == ZEND_FETCH_ADD_LOCK && IS_UNUSED != IS_CV) {
@@ -17267,6 +17310,7 @@ static int ZEND_FETCH_OBJ_W_SPEC_UNUSED_VAR_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
if (free_op2.var) {zval_ptr_dtor(&free_op2.var);};
}
if (IS_UNUSED == IS_VAR && 0 &&
+ READY_TO_DESTROY(free_op1.var) &&
!RETURN_VALUE_UNUSED(&opline->result)) {
AI_USE_PTR(EX_T(opline->result.u.var).var);
}
@@ -17277,7 +17321,7 @@ static int ZEND_FETCH_OBJ_W_SPEC_UNUSED_VAR_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
static int ZEND_FETCH_OBJ_RW_SPEC_UNUSED_VAR_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
{
zend_op *opline = EX(opline);
- zend_free_op free_op2;
+ zend_free_op free_op1, free_op2;
zval *property = _get_zval_ptr_var(&opline->op2, EX(Ts), &free_op2 TSRMLS_CC);
if (0) {
@@ -17290,6 +17334,7 @@ static int ZEND_FETCH_OBJ_RW_SPEC_UNUSED_VAR_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
if (free_op2.var) {zval_ptr_dtor(&free_op2.var);};
}
if (IS_UNUSED == IS_VAR && 0 &&
+ READY_TO_DESTROY(free_op1.var) &&
!RETURN_VALUE_UNUSED(&opline->result)) {
AI_USE_PTR(EX_T(opline->result.u.var).var);
}
@@ -17308,7 +17353,7 @@ static int ZEND_FETCH_OBJ_FUNC_ARG_SPEC_UNUSED_VAR_HANDLER(ZEND_OPCODE_HANDLER_A
if (ARG_SHOULD_BE_SENT_BY_REF(EX(fbc), opline->extended_value)) {
/* Behave like FETCH_OBJ_W */
- zend_free_op free_op2;
+ zend_free_op free_op1, free_op2;
zval *property = _get_zval_ptr_var(&opline->op2, EX(Ts), &free_op2 TSRMLS_CC);
if (0) {
@@ -17321,6 +17366,7 @@ static int ZEND_FETCH_OBJ_FUNC_ARG_SPEC_UNUSED_VAR_HANDLER(ZEND_OPCODE_HANDLER_A
if (free_op2.var) {zval_ptr_dtor(&free_op2.var);};
}
if (IS_UNUSED == IS_VAR && 0 &&
+ READY_TO_DESTROY(free_op1.var) &&
!RETURN_VALUE_UNUSED(&opline->result)) {
AI_USE_PTR(EX_T(opline->result.u.var).var);
}
@@ -17334,7 +17380,7 @@ static int ZEND_FETCH_OBJ_FUNC_ARG_SPEC_UNUSED_VAR_HANDLER(ZEND_OPCODE_HANDLER_A
static int ZEND_FETCH_OBJ_UNSET_SPEC_UNUSED_VAR_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
{
zend_op *opline = EX(opline);
- zend_free_op free_op2, free_res;
+ zend_free_op free_op1, free_op2, free_res;
zval **container = _get_obj_zval_ptr_ptr_unused(TSRMLS_C);
zval *property = _get_zval_ptr_var(&opline->op2, EX(Ts), &free_op2 TSRMLS_CC);
@@ -17353,6 +17399,7 @@ static int ZEND_FETCH_OBJ_UNSET_SPEC_UNUSED_VAR_HANDLER(ZEND_OPCODE_HANDLER_ARGS
if (free_op2.var) {zval_ptr_dtor(&free_op2.var);};
}
if (IS_UNUSED == IS_VAR && 0 &&
+ READY_TO_DESTROY(free_op1.var) &&
!RETURN_VALUE_UNUSED(&opline->result)) {
AI_USE_PTR(EX_T(opline->result.u.var).var);
}
@@ -18693,7 +18740,7 @@ static int ZEND_FETCH_OBJ_R_SPEC_UNUSED_CV_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
static int ZEND_FETCH_OBJ_W_SPEC_UNUSED_CV_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
{
zend_op *opline = EX(opline);
-
+ zend_free_op free_op1;
zval *property = _get_zval_ptr_cv(&opline->op2, EX(Ts), BP_VAR_R TSRMLS_CC);
if (opline->extended_value == ZEND_FETCH_ADD_LOCK && IS_UNUSED != IS_CV) {
@@ -18711,6 +18758,7 @@ static int ZEND_FETCH_OBJ_W_SPEC_UNUSED_CV_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
}
if (IS_UNUSED == IS_VAR && 0 &&
+ READY_TO_DESTROY(free_op1.var) &&
!RETURN_VALUE_UNUSED(&opline->result)) {
AI_USE_PTR(EX_T(opline->result.u.var).var);
}
@@ -18721,7 +18769,7 @@ static int ZEND_FETCH_OBJ_W_SPEC_UNUSED_CV_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
static int ZEND_FETCH_OBJ_RW_SPEC_UNUSED_CV_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
{
zend_op *opline = EX(opline);
-
+ zend_free_op free_op1;
zval *property = _get_zval_ptr_cv(&opline->op2, EX(Ts), BP_VAR_R TSRMLS_CC);
if (0) {
@@ -18734,6 +18782,7 @@ static int ZEND_FETCH_OBJ_RW_SPEC_UNUSED_CV_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
}
if (IS_UNUSED == IS_VAR && 0 &&
+ READY_TO_DESTROY(free_op1.var) &&
!RETURN_VALUE_UNUSED(&opline->result)) {
AI_USE_PTR(EX_T(opline->result.u.var).var);
}
@@ -18752,7 +18801,7 @@ static int ZEND_FETCH_OBJ_FUNC_ARG_SPEC_UNUSED_CV_HANDLER(ZEND_OPCODE_HANDLER_AR
if (ARG_SHOULD_BE_SENT_BY_REF(EX(fbc), opline->extended_value)) {
/* Behave like FETCH_OBJ_W */
-
+ zend_free_op free_op1;
zval *property = _get_zval_ptr_cv(&opline->op2, EX(Ts), BP_VAR_R TSRMLS_CC);
if (0) {
@@ -18765,6 +18814,7 @@ static int ZEND_FETCH_OBJ_FUNC_ARG_SPEC_UNUSED_CV_HANDLER(ZEND_OPCODE_HANDLER_AR
}
if (IS_UNUSED == IS_VAR && 0 &&
+ READY_TO_DESTROY(free_op1.var) &&
!RETURN_VALUE_UNUSED(&opline->result)) {
AI_USE_PTR(EX_T(opline->result.u.var).var);
}
@@ -18778,7 +18828,7 @@ static int ZEND_FETCH_OBJ_FUNC_ARG_SPEC_UNUSED_CV_HANDLER(ZEND_OPCODE_HANDLER_AR
static int ZEND_FETCH_OBJ_UNSET_SPEC_UNUSED_CV_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
{
zend_op *opline = EX(opline);
- zend_free_op free_res;
+ zend_free_op free_op1, free_res;
zval **container = _get_obj_zval_ptr_ptr_unused(TSRMLS_C);
zval *property = _get_zval_ptr_cv(&opline->op2, EX(Ts), BP_VAR_R TSRMLS_CC);
@@ -18797,6 +18847,7 @@ static int ZEND_FETCH_OBJ_UNSET_SPEC_UNUSED_CV_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
}
if (IS_UNUSED == IS_VAR && 0 &&
+ READY_TO_DESTROY(free_op1.var) &&
!RETURN_VALUE_UNUSED(&opline->result)) {
AI_USE_PTR(EX_T(opline->result.u.var).var);
}
@@ -21149,12 +21200,13 @@ static int ZEND_FETCH_DIM_R_SPEC_CV_CONST_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
static int ZEND_FETCH_DIM_W_SPEC_CV_CONST_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
{
zend_op *opline = EX(opline);
-
+ zend_free_op free_op1;
zval *dim = &opline->op2.u.constant;
zend_fetch_dimension_address(RETURN_VALUE_UNUSED(&opline->result)?NULL:&EX_T(opline->result.u.var), _get_zval_ptr_ptr_cv(&opline->op1, EX(Ts), BP_VAR_W TSRMLS_CC), dim, 0, BP_VAR_W TSRMLS_CC);
if (IS_CV == IS_VAR && 0 &&
+ READY_TO_DESTROY(free_op1.var) &&
!RETURN_VALUE_UNUSED(&opline->result)) {
AI_USE_PTR(EX_T(opline->result.u.var).var);
}
@@ -21165,12 +21217,13 @@ static int ZEND_FETCH_DIM_W_SPEC_CV_CONST_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
static int ZEND_FETCH_DIM_RW_SPEC_CV_CONST_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
{
zend_op *opline = EX(opline);
-
+ zend_free_op free_op1;
zval *dim = &opline->op2.u.constant;
zend_fetch_dimension_address(RETURN_VALUE_UNUSED(&opline->result)?NULL:&EX_T(opline->result.u.var), _get_zval_ptr_ptr_cv(&opline->op1, EX(Ts), BP_VAR_RW TSRMLS_CC), dim, 0, BP_VAR_RW TSRMLS_CC);
if (IS_CV == IS_VAR && 0 &&
+ READY_TO_DESTROY(free_op1.var) &&
!RETURN_VALUE_UNUSED(&opline->result)) {
AI_USE_PTR(EX_T(opline->result.u.var).var);
}
@@ -21193,7 +21246,7 @@ static int ZEND_FETCH_DIM_IS_SPEC_CV_CONST_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
static int ZEND_FETCH_DIM_FUNC_ARG_SPEC_CV_CONST_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
{
zend_op *opline = EX(opline);
-
+ zend_free_op free_op1;
int type = ARG_SHOULD_BE_SENT_BY_REF(EX(fbc), opline->extended_value)?BP_VAR_W:BP_VAR_R;
zval *dim;
@@ -21204,6 +21257,7 @@ static int ZEND_FETCH_DIM_FUNC_ARG_SPEC_CV_CONST_HANDLER(ZEND_OPCODE_HANDLER_ARG
zend_fetch_dimension_address(RETURN_VALUE_UNUSED(&opline->result)?NULL:&EX_T(opline->result.u.var), _get_zval_ptr_ptr_cv(&opline->op1, EX(Ts), type TSRMLS_CC), dim, 0, type TSRMLS_CC);
if (IS_CV == IS_VAR && type == BP_VAR_W && 0 &&
+ READY_TO_DESTROY(free_op1.var) &&
!RETURN_VALUE_UNUSED(&opline->result)) {
AI_USE_PTR(EX_T(opline->result.u.var).var);
}
@@ -21214,7 +21268,7 @@ static int ZEND_FETCH_DIM_FUNC_ARG_SPEC_CV_CONST_HANDLER(ZEND_OPCODE_HANDLER_ARG
static int ZEND_FETCH_DIM_UNSET_SPEC_CV_CONST_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
{
zend_op *opline = EX(opline);
-
+ zend_free_op free_op1;
zval **container = _get_zval_ptr_ptr_cv(&opline->op1, EX(Ts), BP_VAR_UNSET TSRMLS_CC);
zval *dim = &opline->op2.u.constant;
@@ -21231,6 +21285,7 @@ static int ZEND_FETCH_DIM_UNSET_SPEC_CV_CONST_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
zend_fetch_dimension_address(RETURN_VALUE_UNUSED(&opline->result)?NULL:&EX_T(opline->result.u.var), container, dim, 0, BP_VAR_UNSET TSRMLS_CC);
if (IS_CV == IS_VAR && 0 &&
+ READY_TO_DESTROY(free_op1.var) &&
!RETURN_VALUE_UNUSED(&opline->result)) {
AI_USE_PTR(EX_T(opline->result.u.var).var);
}
@@ -21317,7 +21372,7 @@ static int ZEND_FETCH_OBJ_R_SPEC_CV_CONST_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
static int ZEND_FETCH_OBJ_W_SPEC_CV_CONST_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
{
zend_op *opline = EX(opline);
-
+ zend_free_op free_op1;
zval *property = &opline->op2.u.constant;
if (opline->extended_value == ZEND_FETCH_ADD_LOCK && IS_CV != IS_CV) {
@@ -21335,6 +21390,7 @@ static int ZEND_FETCH_OBJ_W_SPEC_CV_CONST_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
}
if (IS_CV == IS_VAR && 0 &&
+ READY_TO_DESTROY(free_op1.var) &&
!RETURN_VALUE_UNUSED(&opline->result)) {
AI_USE_PTR(EX_T(opline->result.u.var).var);
}
@@ -21345,7 +21401,7 @@ static int ZEND_FETCH_OBJ_W_SPEC_CV_CONST_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
static int ZEND_FETCH_OBJ_RW_SPEC_CV_CONST_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
{
zend_op *opline = EX(opline);
-
+ zend_free_op free_op1;
zval *property = &opline->op2.u.constant;
if (0) {
@@ -21358,6 +21414,7 @@ static int ZEND_FETCH_OBJ_RW_SPEC_CV_CONST_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
}
if (IS_CV == IS_VAR && 0 &&
+ READY_TO_DESTROY(free_op1.var) &&
!RETURN_VALUE_UNUSED(&opline->result)) {
AI_USE_PTR(EX_T(opline->result.u.var).var);
}
@@ -21376,7 +21433,7 @@ static int ZEND_FETCH_OBJ_FUNC_ARG_SPEC_CV_CONST_HANDLER(ZEND_OPCODE_HANDLER_ARG
if (ARG_SHOULD_BE_SENT_BY_REF(EX(fbc), opline->extended_value)) {
/* Behave like FETCH_OBJ_W */
-
+ zend_free_op free_op1;
zval *property = &opline->op2.u.constant;
if (0) {
@@ -21389,6 +21446,7 @@ static int ZEND_FETCH_OBJ_FUNC_ARG_SPEC_CV_CONST_HANDLER(ZEND_OPCODE_HANDLER_ARG
}
if (IS_CV == IS_VAR && 0 &&
+ READY_TO_DESTROY(free_op1.var) &&
!RETURN_VALUE_UNUSED(&opline->result)) {
AI_USE_PTR(EX_T(opline->result.u.var).var);
}
@@ -21402,7 +21460,7 @@ static int ZEND_FETCH_OBJ_FUNC_ARG_SPEC_CV_CONST_HANDLER(ZEND_OPCODE_HANDLER_ARG
static int ZEND_FETCH_OBJ_UNSET_SPEC_CV_CONST_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
{
zend_op *opline = EX(opline);
- zend_free_op free_res;
+ zend_free_op free_op1, free_res;
zval **container = _get_zval_ptr_ptr_cv(&opline->op1, EX(Ts), BP_VAR_R TSRMLS_CC);
zval *property = &opline->op2.u.constant;
@@ -21421,6 +21479,7 @@ static int ZEND_FETCH_OBJ_UNSET_SPEC_CV_CONST_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
}
if (IS_CV == IS_VAR && 0 &&
+ READY_TO_DESTROY(free_op1.var) &&
!RETURN_VALUE_UNUSED(&opline->result)) {
AI_USE_PTR(EX_T(opline->result.u.var).var);
}
@@ -22613,12 +22672,13 @@ static int ZEND_FETCH_DIM_R_SPEC_CV_TMP_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
static int ZEND_FETCH_DIM_W_SPEC_CV_TMP_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
{
zend_op *opline = EX(opline);
- zend_free_op free_op2;
+ zend_free_op free_op1, free_op2;
zval *dim = _get_zval_ptr_tmp(&opline->op2, EX(Ts), &free_op2 TSRMLS_CC);
zend_fetch_dimension_address(RETURN_VALUE_UNUSED(&opline->result)?NULL:&EX_T(opline->result.u.var), _get_zval_ptr_ptr_cv(&opline->op1, EX(Ts), BP_VAR_W TSRMLS_CC), dim, 1, BP_VAR_W TSRMLS_CC);
zval_dtor(free_op2.var);
if (IS_CV == IS_VAR && 0 &&
+ READY_TO_DESTROY(free_op1.var) &&
!RETURN_VALUE_UNUSED(&opline->result)) {
AI_USE_PTR(EX_T(opline->result.u.var).var);
}
@@ -22629,12 +22689,13 @@ static int ZEND_FETCH_DIM_W_SPEC_CV_TMP_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
static int ZEND_FETCH_DIM_RW_SPEC_CV_TMP_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
{
zend_op *opline = EX(opline);
- zend_free_op free_op2;
+ zend_free_op free_op1, free_op2;
zval *dim = _get_zval_ptr_tmp(&opline->op2, EX(Ts), &free_op2 TSRMLS_CC);
zend_fetch_dimension_address(RETURN_VALUE_UNUSED(&opline->result)?NULL:&EX_T(opline->result.u.var), _get_zval_ptr_ptr_cv(&opline->op1, EX(Ts), BP_VAR_RW TSRMLS_CC), dim, 1, BP_VAR_RW TSRMLS_CC);
zval_dtor(free_op2.var);
if (IS_CV == IS_VAR && 0 &&
+ READY_TO_DESTROY(free_op1.var) &&
!RETURN_VALUE_UNUSED(&opline->result)) {
AI_USE_PTR(EX_T(opline->result.u.var).var);
}
@@ -22657,7 +22718,7 @@ static int ZEND_FETCH_DIM_IS_SPEC_CV_TMP_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
static int ZEND_FETCH_DIM_FUNC_ARG_SPEC_CV_TMP_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
{
zend_op *opline = EX(opline);
- zend_free_op free_op2;
+ zend_free_op free_op1, free_op2;
int type = ARG_SHOULD_BE_SENT_BY_REF(EX(fbc), opline->extended_value)?BP_VAR_W:BP_VAR_R;
zval *dim;
@@ -22668,6 +22729,7 @@ static int ZEND_FETCH_DIM_FUNC_ARG_SPEC_CV_TMP_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
zend_fetch_dimension_address(RETURN_VALUE_UNUSED(&opline->result)?NULL:&EX_T(opline->result.u.var), _get_zval_ptr_ptr_cv(&opline->op1, EX(Ts), type TSRMLS_CC), dim, 1, type TSRMLS_CC);
zval_dtor(free_op2.var);
if (IS_CV == IS_VAR && type == BP_VAR_W && 0 &&
+ READY_TO_DESTROY(free_op1.var) &&
!RETURN_VALUE_UNUSED(&opline->result)) {
AI_USE_PTR(EX_T(opline->result.u.var).var);
}
@@ -22678,7 +22740,7 @@ static int ZEND_FETCH_DIM_FUNC_ARG_SPEC_CV_TMP_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
static int ZEND_FETCH_DIM_UNSET_SPEC_CV_TMP_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
{
zend_op *opline = EX(opline);
- zend_free_op free_op2;
+ zend_free_op free_op1, free_op2;
zval **container = _get_zval_ptr_ptr_cv(&opline->op1, EX(Ts), BP_VAR_UNSET TSRMLS_CC);
zval *dim = _get_zval_ptr_tmp(&opline->op2, EX(Ts), &free_op2 TSRMLS_CC);
@@ -22695,6 +22757,7 @@ static int ZEND_FETCH_DIM_UNSET_SPEC_CV_TMP_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
zend_fetch_dimension_address(RETURN_VALUE_UNUSED(&opline->result)?NULL:&EX_T(opline->result.u.var), container, dim, 1, BP_VAR_UNSET TSRMLS_CC);
zval_dtor(free_op2.var);
if (IS_CV == IS_VAR && 0 &&
+ READY_TO_DESTROY(free_op1.var) &&
!RETURN_VALUE_UNUSED(&opline->result)) {
AI_USE_PTR(EX_T(opline->result.u.var).var);
}
@@ -22781,7 +22844,7 @@ static int ZEND_FETCH_OBJ_R_SPEC_CV_TMP_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
static int ZEND_FETCH_OBJ_W_SPEC_CV_TMP_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
{
zend_op *opline = EX(opline);
- zend_free_op free_op2;
+ zend_free_op free_op1, free_op2;
zval *property = _get_zval_ptr_tmp(&opline->op2, EX(Ts), &free_op2 TSRMLS_CC);
if (opline->extended_value == ZEND_FETCH_ADD_LOCK && IS_CV != IS_CV) {
@@ -22799,6 +22862,7 @@ static int ZEND_FETCH_OBJ_W_SPEC_CV_TMP_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
zval_dtor(free_op2.var);
}
if (IS_CV == IS_VAR && 0 &&
+ READY_TO_DESTROY(free_op1.var) &&
!RETURN_VALUE_UNUSED(&opline->result)) {
AI_USE_PTR(EX_T(opline->result.u.var).var);
}
@@ -22809,7 +22873,7 @@ static int ZEND_FETCH_OBJ_W_SPEC_CV_TMP_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
static int ZEND_FETCH_OBJ_RW_SPEC_CV_TMP_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
{
zend_op *opline = EX(opline);
- zend_free_op free_op2;
+ zend_free_op free_op1, free_op2;
zval *property = _get_zval_ptr_tmp(&opline->op2, EX(Ts), &free_op2 TSRMLS_CC);
if (1) {
@@ -22822,6 +22886,7 @@ static int ZEND_FETCH_OBJ_RW_SPEC_CV_TMP_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
zval_dtor(free_op2.var);
}
if (IS_CV == IS_VAR && 0 &&
+ READY_TO_DESTROY(free_op1.var) &&
!RETURN_VALUE_UNUSED(&opline->result)) {
AI_USE_PTR(EX_T(opline->result.u.var).var);
}
@@ -22840,7 +22905,7 @@ static int ZEND_FETCH_OBJ_FUNC_ARG_SPEC_CV_TMP_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
if (ARG_SHOULD_BE_SENT_BY_REF(EX(fbc), opline->extended_value)) {
/* Behave like FETCH_OBJ_W */
- zend_free_op free_op2;
+ zend_free_op free_op1, free_op2;
zval *property = _get_zval_ptr_tmp(&opline->op2, EX(Ts), &free_op2 TSRMLS_CC);
if (1) {
@@ -22853,6 +22918,7 @@ static int ZEND_FETCH_OBJ_FUNC_ARG_SPEC_CV_TMP_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
zval_dtor(free_op2.var);
}
if (IS_CV == IS_VAR && 0 &&
+ READY_TO_DESTROY(free_op1.var) &&
!RETURN_VALUE_UNUSED(&opline->result)) {
AI_USE_PTR(EX_T(opline->result.u.var).var);
}
@@ -22866,7 +22932,7 @@ static int ZEND_FETCH_OBJ_FUNC_ARG_SPEC_CV_TMP_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
static int ZEND_FETCH_OBJ_UNSET_SPEC_CV_TMP_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
{
zend_op *opline = EX(opline);
- zend_free_op free_op2, free_res;
+ zend_free_op free_op1, free_op2, free_res;
zval **container = _get_zval_ptr_ptr_cv(&opline->op1, EX(Ts), BP_VAR_R TSRMLS_CC);
zval *property = _get_zval_ptr_tmp(&opline->op2, EX(Ts), &free_op2 TSRMLS_CC);
@@ -22885,6 +22951,7 @@ static int ZEND_FETCH_OBJ_UNSET_SPEC_CV_TMP_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
zval_dtor(free_op2.var);
}
if (IS_CV == IS_VAR && 0 &&
+ READY_TO_DESTROY(free_op1.var) &&
!RETURN_VALUE_UNUSED(&opline->result)) {
AI_USE_PTR(EX_T(opline->result.u.var).var);
}
@@ -24080,12 +24147,13 @@ static int ZEND_FETCH_DIM_R_SPEC_CV_VAR_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
static int ZEND_FETCH_DIM_W_SPEC_CV_VAR_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
{
zend_op *opline = EX(opline);
- zend_free_op free_op2;
+ zend_free_op free_op1, free_op2;
zval *dim = _get_zval_ptr_var(&opline->op2, EX(Ts), &free_op2 TSRMLS_CC);
zend_fetch_dimension_address(RETURN_VALUE_UNUSED(&opline->result)?NULL:&EX_T(opline->result.u.var), _get_zval_ptr_ptr_cv(&opline->op1, EX(Ts), BP_VAR_W TSRMLS_CC), dim, 0, BP_VAR_W TSRMLS_CC);
if (free_op2.var) {zval_ptr_dtor(&free_op2.var);};
if (IS_CV == IS_VAR && 0 &&
+ READY_TO_DESTROY(free_op1.var) &&
!RETURN_VALUE_UNUSED(&opline->result)) {
AI_USE_PTR(EX_T(opline->result.u.var).var);
}
@@ -24096,12 +24164,13 @@ static int ZEND_FETCH_DIM_W_SPEC_CV_VAR_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
static int ZEND_FETCH_DIM_RW_SPEC_CV_VAR_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
{
zend_op *opline = EX(opline);
- zend_free_op free_op2;
+ zend_free_op free_op1, free_op2;
zval *dim = _get_zval_ptr_var(&opline->op2, EX(Ts), &free_op2 TSRMLS_CC);
zend_fetch_dimension_address(RETURN_VALUE_UNUSED(&opline->result)?NULL:&EX_T(opline->result.u.var), _get_zval_ptr_ptr_cv(&opline->op1, EX(Ts), BP_VAR_RW TSRMLS_CC), dim, 0, BP_VAR_RW TSRMLS_CC);
if (free_op2.var) {zval_ptr_dtor(&free_op2.var);};
if (IS_CV == IS_VAR && 0 &&
+ READY_TO_DESTROY(free_op1.var) &&
!RETURN_VALUE_UNUSED(&opline->result)) {
AI_USE_PTR(EX_T(opline->result.u.var).var);
}
@@ -24124,7 +24193,7 @@ static int ZEND_FETCH_DIM_IS_SPEC_CV_VAR_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
static int ZEND_FETCH_DIM_FUNC_ARG_SPEC_CV_VAR_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
{
zend_op *opline = EX(opline);
- zend_free_op free_op2;
+ zend_free_op free_op1, free_op2;
int type = ARG_SHOULD_BE_SENT_BY_REF(EX(fbc), opline->extended_value)?BP_VAR_W:BP_VAR_R;
zval *dim;
@@ -24135,6 +24204,7 @@ static int ZEND_FETCH_DIM_FUNC_ARG_SPEC_CV_VAR_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
zend_fetch_dimension_address(RETURN_VALUE_UNUSED(&opline->result)?NULL:&EX_T(opline->result.u.var), _get_zval_ptr_ptr_cv(&opline->op1, EX(Ts), type TSRMLS_CC), dim, 0, type TSRMLS_CC);
if (free_op2.var) {zval_ptr_dtor(&free_op2.var);};
if (IS_CV == IS_VAR && type == BP_VAR_W && 0 &&
+ READY_TO_DESTROY(free_op1.var) &&
!RETURN_VALUE_UNUSED(&opline->result)) {
AI_USE_PTR(EX_T(opline->result.u.var).var);
}
@@ -24145,7 +24215,7 @@ static int ZEND_FETCH_DIM_FUNC_ARG_SPEC_CV_VAR_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
static int ZEND_FETCH_DIM_UNSET_SPEC_CV_VAR_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
{
zend_op *opline = EX(opline);
- zend_free_op free_op2;
+ zend_free_op free_op1, free_op2;
zval **container = _get_zval_ptr_ptr_cv(&opline->op1, EX(Ts), BP_VAR_UNSET TSRMLS_CC);
zval *dim = _get_zval_ptr_var(&opline->op2, EX(Ts), &free_op2 TSRMLS_CC);
@@ -24162,6 +24232,7 @@ static int ZEND_FETCH_DIM_UNSET_SPEC_CV_VAR_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
zend_fetch_dimension_address(RETURN_VALUE_UNUSED(&opline->result)?NULL:&EX_T(opline->result.u.var), container, dim, 0, BP_VAR_UNSET TSRMLS_CC);
if (free_op2.var) {zval_ptr_dtor(&free_op2.var);};
if (IS_CV == IS_VAR && 0 &&
+ READY_TO_DESTROY(free_op1.var) &&
!RETURN_VALUE_UNUSED(&opline->result)) {
AI_USE_PTR(EX_T(opline->result.u.var).var);
}
@@ -24248,7 +24319,7 @@ static int ZEND_FETCH_OBJ_R_SPEC_CV_VAR_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
static int ZEND_FETCH_OBJ_W_SPEC_CV_VAR_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
{
zend_op *opline = EX(opline);
- zend_free_op free_op2;
+ zend_free_op free_op1, free_op2;
zval *property = _get_zval_ptr_var(&opline->op2, EX(Ts), &free_op2 TSRMLS_CC);
if (opline->extended_value == ZEND_FETCH_ADD_LOCK && IS_CV != IS_CV) {
@@ -24266,6 +24337,7 @@ static int ZEND_FETCH_OBJ_W_SPEC_CV_VAR_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
if (free_op2.var) {zval_ptr_dtor(&free_op2.var);};
}
if (IS_CV == IS_VAR && 0 &&
+ READY_TO_DESTROY(free_op1.var) &&
!RETURN_VALUE_UNUSED(&opline->result)) {
AI_USE_PTR(EX_T(opline->result.u.var).var);
}
@@ -24276,7 +24348,7 @@ static int ZEND_FETCH_OBJ_W_SPEC_CV_VAR_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
static int ZEND_FETCH_OBJ_RW_SPEC_CV_VAR_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
{
zend_op *opline = EX(opline);
- zend_free_op free_op2;
+ zend_free_op free_op1, free_op2;
zval *property = _get_zval_ptr_var(&opline->op2, EX(Ts), &free_op2 TSRMLS_CC);
if (0) {
@@ -24289,6 +24361,7 @@ static int ZEND_FETCH_OBJ_RW_SPEC_CV_VAR_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
if (free_op2.var) {zval_ptr_dtor(&free_op2.var);};
}
if (IS_CV == IS_VAR && 0 &&
+ READY_TO_DESTROY(free_op1.var) &&
!RETURN_VALUE_UNUSED(&opline->result)) {
AI_USE_PTR(EX_T(opline->result.u.var).var);
}
@@ -24307,7 +24380,7 @@ static int ZEND_FETCH_OBJ_FUNC_ARG_SPEC_CV_VAR_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
if (ARG_SHOULD_BE_SENT_BY_REF(EX(fbc), opline->extended_value)) {
/* Behave like FETCH_OBJ_W */
- zend_free_op free_op2;
+ zend_free_op free_op1, free_op2;
zval *property = _get_zval_ptr_var(&opline->op2, EX(Ts), &free_op2 TSRMLS_CC);
if (0) {
@@ -24320,6 +24393,7 @@ static int ZEND_FETCH_OBJ_FUNC_ARG_SPEC_CV_VAR_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
if (free_op2.var) {zval_ptr_dtor(&free_op2.var);};
}
if (IS_CV == IS_VAR && 0 &&
+ READY_TO_DESTROY(free_op1.var) &&
!RETURN_VALUE_UNUSED(&opline->result)) {
AI_USE_PTR(EX_T(opline->result.u.var).var);
}
@@ -24333,7 +24407,7 @@ static int ZEND_FETCH_OBJ_FUNC_ARG_SPEC_CV_VAR_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
static int ZEND_FETCH_OBJ_UNSET_SPEC_CV_VAR_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
{
zend_op *opline = EX(opline);
- zend_free_op free_op2, free_res;
+ zend_free_op free_op1, free_op2, free_res;
zval **container = _get_zval_ptr_ptr_cv(&opline->op1, EX(Ts), BP_VAR_R TSRMLS_CC);
zval *property = _get_zval_ptr_var(&opline->op2, EX(Ts), &free_op2 TSRMLS_CC);
@@ -24352,6 +24426,7 @@ static int ZEND_FETCH_OBJ_UNSET_SPEC_CV_VAR_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
if (free_op2.var) {zval_ptr_dtor(&free_op2.var);};
}
if (IS_CV == IS_VAR && 0 &&
+ READY_TO_DESTROY(free_op1.var) &&
!RETURN_VALUE_UNUSED(&opline->result)) {
AI_USE_PTR(EX_T(opline->result.u.var).var);
}
@@ -25151,12 +25226,13 @@ static int ZEND_ASSIGN_BW_XOR_SPEC_CV_UNUSED_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
static int ZEND_FETCH_DIM_W_SPEC_CV_UNUSED_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
{
zend_op *opline = EX(opline);
-
+ zend_free_op free_op1;
zval *dim = NULL;
zend_fetch_dimension_address(RETURN_VALUE_UNUSED(&opline->result)?NULL:&EX_T(opline->result.u.var), _get_zval_ptr_ptr_cv(&opline->op1, EX(Ts), BP_VAR_W TSRMLS_CC), dim, 0, BP_VAR_W TSRMLS_CC);
if (IS_CV == IS_VAR && 0 &&
+ READY_TO_DESTROY(free_op1.var) &&
!RETURN_VALUE_UNUSED(&opline->result)) {
AI_USE_PTR(EX_T(opline->result.u.var).var);
}
@@ -25167,12 +25243,13 @@ static int ZEND_FETCH_DIM_W_SPEC_CV_UNUSED_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
static int ZEND_FETCH_DIM_RW_SPEC_CV_UNUSED_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
{
zend_op *opline = EX(opline);
-
+ zend_free_op free_op1;
zval *dim = NULL;
zend_fetch_dimension_address(RETURN_VALUE_UNUSED(&opline->result)?NULL:&EX_T(opline->result.u.var), _get_zval_ptr_ptr_cv(&opline->op1, EX(Ts), BP_VAR_RW TSRMLS_CC), dim, 0, BP_VAR_RW TSRMLS_CC);
if (IS_CV == IS_VAR && 0 &&
+ READY_TO_DESTROY(free_op1.var) &&
!RETURN_VALUE_UNUSED(&opline->result)) {
AI_USE_PTR(EX_T(opline->result.u.var).var);
}
@@ -25183,7 +25260,7 @@ static int ZEND_FETCH_DIM_RW_SPEC_CV_UNUSED_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
static int ZEND_FETCH_DIM_FUNC_ARG_SPEC_CV_UNUSED_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
{
zend_op *opline = EX(opline);
-
+ zend_free_op free_op1;
int type = ARG_SHOULD_BE_SENT_BY_REF(EX(fbc), opline->extended_value)?BP_VAR_W:BP_VAR_R;
zval *dim;
@@ -25194,6 +25271,7 @@ static int ZEND_FETCH_DIM_FUNC_ARG_SPEC_CV_UNUSED_HANDLER(ZEND_OPCODE_HANDLER_AR
zend_fetch_dimension_address(RETURN_VALUE_UNUSED(&opline->result)?NULL:&EX_T(opline->result.u.var), _get_zval_ptr_ptr_cv(&opline->op1, EX(Ts), type TSRMLS_CC), dim, 0, type TSRMLS_CC);
if (IS_CV == IS_VAR && type == BP_VAR_W && 0 &&
+ READY_TO_DESTROY(free_op1.var) &&
!RETURN_VALUE_UNUSED(&opline->result)) {
AI_USE_PTR(EX_T(opline->result.u.var).var);
}
@@ -26011,12 +26089,13 @@ static int ZEND_FETCH_DIM_R_SPEC_CV_CV_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
static int ZEND_FETCH_DIM_W_SPEC_CV_CV_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
{
zend_op *opline = EX(opline);
-
+ zend_free_op free_op1;
zval *dim = _get_zval_ptr_cv(&opline->op2, EX(Ts), BP_VAR_R TSRMLS_CC);
zend_fetch_dimension_address(RETURN_VALUE_UNUSED(&opline->result)?NULL:&EX_T(opline->result.u.var), _get_zval_ptr_ptr_cv(&opline->op1, EX(Ts), BP_VAR_W TSRMLS_CC), dim, 0, BP_VAR_W TSRMLS_CC);
if (IS_CV == IS_VAR && 0 &&
+ READY_TO_DESTROY(free_op1.var) &&
!RETURN_VALUE_UNUSED(&opline->result)) {
AI_USE_PTR(EX_T(opline->result.u.var).var);
}
@@ -26027,12 +26106,13 @@ static int ZEND_FETCH_DIM_W_SPEC_CV_CV_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
static int ZEND_FETCH_DIM_RW_SPEC_CV_CV_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
{
zend_op *opline = EX(opline);
-
+ zend_free_op free_op1;
zval *dim = _get_zval_ptr_cv(&opline->op2, EX(Ts), BP_VAR_R TSRMLS_CC);
zend_fetch_dimension_address(RETURN_VALUE_UNUSED(&opline->result)?NULL:&EX_T(opline->result.u.var), _get_zval_ptr_ptr_cv(&opline->op1, EX(Ts), BP_VAR_RW TSRMLS_CC), dim, 0, BP_VAR_RW TSRMLS_CC);
if (IS_CV == IS_VAR && 0 &&
+ READY_TO_DESTROY(free_op1.var) &&
!RETURN_VALUE_UNUSED(&opline->result)) {
AI_USE_PTR(EX_T(opline->result.u.var).var);
}
@@ -26055,7 +26135,7 @@ static int ZEND_FETCH_DIM_IS_SPEC_CV_CV_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
static int ZEND_FETCH_DIM_FUNC_ARG_SPEC_CV_CV_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
{
zend_op *opline = EX(opline);
-
+ zend_free_op free_op1;
int type = ARG_SHOULD_BE_SENT_BY_REF(EX(fbc), opline->extended_value)?BP_VAR_W:BP_VAR_R;
zval *dim;
@@ -26066,6 +26146,7 @@ static int ZEND_FETCH_DIM_FUNC_ARG_SPEC_CV_CV_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
zend_fetch_dimension_address(RETURN_VALUE_UNUSED(&opline->result)?NULL:&EX_T(opline->result.u.var), _get_zval_ptr_ptr_cv(&opline->op1, EX(Ts), type TSRMLS_CC), dim, 0, type TSRMLS_CC);
if (IS_CV == IS_VAR && type == BP_VAR_W && 0 &&
+ READY_TO_DESTROY(free_op1.var) &&
!RETURN_VALUE_UNUSED(&opline->result)) {
AI_USE_PTR(EX_T(opline->result.u.var).var);
}
@@ -26076,7 +26157,7 @@ static int ZEND_FETCH_DIM_FUNC_ARG_SPEC_CV_CV_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
static int ZEND_FETCH_DIM_UNSET_SPEC_CV_CV_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
{
zend_op *opline = EX(opline);
-
+ zend_free_op free_op1;
zval **container = _get_zval_ptr_ptr_cv(&opline->op1, EX(Ts), BP_VAR_UNSET TSRMLS_CC);
zval *dim = _get_zval_ptr_cv(&opline->op2, EX(Ts), BP_VAR_R TSRMLS_CC);
@@ -26093,6 +26174,7 @@ static int ZEND_FETCH_DIM_UNSET_SPEC_CV_CV_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
zend_fetch_dimension_address(RETURN_VALUE_UNUSED(&opline->result)?NULL:&EX_T(opline->result.u.var), container, dim, 0, BP_VAR_UNSET TSRMLS_CC);
if (IS_CV == IS_VAR && 0 &&
+ READY_TO_DESTROY(free_op1.var) &&
!RETURN_VALUE_UNUSED(&opline->result)) {
AI_USE_PTR(EX_T(opline->result.u.var).var);
}
@@ -26179,7 +26261,7 @@ static int ZEND_FETCH_OBJ_R_SPEC_CV_CV_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
static int ZEND_FETCH_OBJ_W_SPEC_CV_CV_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
{
zend_op *opline = EX(opline);
-
+ zend_free_op free_op1;
zval *property = _get_zval_ptr_cv(&opline->op2, EX(Ts), BP_VAR_R TSRMLS_CC);
if (opline->extended_value == ZEND_FETCH_ADD_LOCK && IS_CV != IS_CV) {
@@ -26197,6 +26279,7 @@ static int ZEND_FETCH_OBJ_W_SPEC_CV_CV_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
}
if (IS_CV == IS_VAR && 0 &&
+ READY_TO_DESTROY(free_op1.var) &&
!RETURN_VALUE_UNUSED(&opline->result)) {
AI_USE_PTR(EX_T(opline->result.u.var).var);
}
@@ -26207,7 +26290,7 @@ static int ZEND_FETCH_OBJ_W_SPEC_CV_CV_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
static int ZEND_FETCH_OBJ_RW_SPEC_CV_CV_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
{
zend_op *opline = EX(opline);
-
+ zend_free_op free_op1;
zval *property = _get_zval_ptr_cv(&opline->op2, EX(Ts), BP_VAR_R TSRMLS_CC);
if (0) {
@@ -26220,6 +26303,7 @@ static int ZEND_FETCH_OBJ_RW_SPEC_CV_CV_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
}
if (IS_CV == IS_VAR && 0 &&
+ READY_TO_DESTROY(free_op1.var) &&
!RETURN_VALUE_UNUSED(&opline->result)) {
AI_USE_PTR(EX_T(opline->result.u.var).var);
}
@@ -26238,7 +26322,7 @@ static int ZEND_FETCH_OBJ_FUNC_ARG_SPEC_CV_CV_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
if (ARG_SHOULD_BE_SENT_BY_REF(EX(fbc), opline->extended_value)) {
/* Behave like FETCH_OBJ_W */
-
+ zend_free_op free_op1;
zval *property = _get_zval_ptr_cv(&opline->op2, EX(Ts), BP_VAR_R TSRMLS_CC);
if (0) {
@@ -26251,6 +26335,7 @@ static int ZEND_FETCH_OBJ_FUNC_ARG_SPEC_CV_CV_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
}
if (IS_CV == IS_VAR && 0 &&
+ READY_TO_DESTROY(free_op1.var) &&
!RETURN_VALUE_UNUSED(&opline->result)) {
AI_USE_PTR(EX_T(opline->result.u.var).var);
}
@@ -26264,7 +26349,7 @@ static int ZEND_FETCH_OBJ_FUNC_ARG_SPEC_CV_CV_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
static int ZEND_FETCH_OBJ_UNSET_SPEC_CV_CV_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
{
zend_op *opline = EX(opline);
- zend_free_op free_res;
+ zend_free_op free_op1, free_res;
zval **container = _get_zval_ptr_ptr_cv(&opline->op1, EX(Ts), BP_VAR_R TSRMLS_CC);
zval *property = _get_zval_ptr_cv(&opline->op2, EX(Ts), BP_VAR_R TSRMLS_CC);
@@ -26283,6 +26368,7 @@ static int ZEND_FETCH_OBJ_UNSET_SPEC_CV_CV_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
}
if (IS_CV == IS_VAR && 0 &&
+ READY_TO_DESTROY(free_op1.var) &&
!RETURN_VALUE_UNUSED(&opline->result)) {
AI_USE_PTR(EX_T(opline->result.u.var).var);
}