@@ -343,7 +343,7 @@ ZEND_VM_HELPER_EX(zend_binary_assign_op_obj_helper, VAR|UNUSED|CV, CONST|TMP|VAR
343
343
object = make_real_object (object TSRMLS_CC );
344
344
}
345
345
346
- value = get_zval_ptr ((opline + 1 )-> op1_type , & (opline + 1 )-> op1 , execute_data , & free_op_data1 , BP_VAR_R );
346
+ value = get_zval_ptr_deref ((opline + 1 )-> op1_type , & (opline + 1 )-> op1 , execute_data , & free_op_data1 , BP_VAR_R );
347
347
348
348
if (OP1_TYPE != IS_UNUSED && UNEXPECTED (Z_TYPE_P (object ) != IS_OBJECT )) {
349
349
zend_error (E_WARNING , "Attempt to assign property of non-object" );
@@ -444,7 +444,7 @@ ZEND_VM_HELPER_EX(zend_binary_assign_op_dim_helper, VAR|UNUSED|CV, CONST|TMP|VAR
444
444
zval * dim = GET_OP2_ZVAL_PTR_DEREF (BP_VAR_R );
445
445
446
446
zend_fetch_dimension_address_RW (EX_VAR ((opline + 1 )-> op2 .var ), container , dim , OP2_TYPE TSRMLS_CC );
447
- value = get_zval_ptr ((opline + 1 )-> op1_type , & (opline + 1 )-> op1 , execute_data , & free_op_data1 , BP_VAR_R );
447
+ value = get_zval_ptr_deref ((opline + 1 )-> op1_type , & (opline + 1 )-> op1 , execute_data , & free_op_data1 , BP_VAR_R );
448
448
var_ptr = _get_zval_ptr_ptr_var ((opline + 1 )-> op2 .var , execute_data , & free_op_data2 TSRMLS_CC );
449
449
}
450
450
@@ -497,7 +497,7 @@ ZEND_VM_HELPER_EX(zend_binary_assign_op_helper, VAR|UNUSED|CV, CONST|TMP|VAR|UNU
497
497
zval * value ;
498
498
499
499
SAVE_OPLINE ();
500
- value = GET_OP2_ZVAL_PTR (BP_VAR_R );
500
+ value = GET_OP2_ZVAL_PTR_DEREF (BP_VAR_R );
501
501
var_ptr = GET_OP1_ZVAL_PTR_PTR (BP_VAR_RW );
502
502
503
503
if (OP1_TYPE == IS_VAR && UNEXPECTED (var_ptr == NULL )) {
@@ -4043,7 +4043,7 @@ ZEND_VM_HANDLER(21, ZEND_CAST, CONST|TMP|VAR|CV, ANY)
4043
4043
if (Z_OPT_REFCOUNTED_P (expr )) Z_ADDREF_P (expr );
4044
4044
}
4045
4045
4046
- FREE_OP1 ();
4046
+ FREE_OP1_IF_VAR ();
4047
4047
CHECK_EXCEPTION ();
4048
4048
ZEND_VM_NEXT_OPCODE ();
4049
4049
}
@@ -4058,15 +4058,13 @@ ZEND_VM_HANDLER(21, ZEND_CAST, CONST|TMP|VAR|CV, ANY)
4058
4058
if (UNEXPECTED (Z_OPT_COPYABLE_P (expr ))) {
4059
4059
zval_copy_ctor_func (expr );
4060
4060
}
4061
- } else if ( OP1_TYPE != IS_TMP_VAR ) {
4061
+ } else {
4062
4062
if (Z_OPT_REFCOUNTED_P (expr )) Z_ADDREF_P (expr );
4063
4063
}
4064
4064
}
4065
4065
} else {
4066
4066
ZVAL_COPY_VALUE (result , expr );
4067
- if (OP1_TYPE != IS_TMP_VAR ) {
4068
- zval_opt_copy_ctor (result );
4069
- }
4067
+ Z_ADDREF_P (result );
4070
4068
convert_to_array (result );
4071
4069
}
4072
4070
} else {
@@ -4078,23 +4076,18 @@ ZEND_VM_HANDLER(21, ZEND_CAST, CONST|TMP|VAR|CV, ANY)
4078
4076
if (UNEXPECTED (Z_OPT_COPYABLE_P (expr ))) {
4079
4077
zval_copy_ctor_func (expr );
4080
4078
}
4081
- } else if ( OP1_TYPE != IS_TMP_VAR ) {
4079
+ } else {
4082
4080
if (Z_OPT_REFCOUNTED_P (expr )) Z_ADDREF_P (expr );
4083
4081
}
4084
4082
}
4085
4083
} else {
4086
4084
ZVAL_COPY_VALUE (result , expr );
4087
- if (OP1_TYPE != IS_TMP_VAR ) {
4088
- zval_opt_copy_ctor (result );
4089
- }
4085
+ zval_opt_copy_ctor (result );
4090
4086
convert_to_object (result );
4091
4087
}
4092
4088
}
4093
-
4094
- FREE_OP1_IF_VAR ();
4095
- CHECK_EXCEPTION ();
4096
- ZEND_VM_NEXT_OPCODE ();
4097
4089
}
4090
+
4098
4091
FREE_OP1 ();
4099
4092
CHECK_EXCEPTION ();
4100
4093
ZEND_VM_NEXT_OPCODE ();
0 commit comments