Skip to content

Commit a5a3d50

Browse files
committed
Optimization
1 parent 2b9ceff commit a5a3d50

File tree

3 files changed

+14
-14
lines changed

3 files changed

+14
-14
lines changed

Zend/zend_execute.c

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1108,7 +1108,7 @@ static zend_never_inline void zend_assign_to_object_dim(zval *object, zval *dim,
11081108
}
11091109
}
11101110

1111-
static zend_never_inline void zend_binary_assign_op_obj_dim(zval *object, zval *property, zval *value, zval *retval, binary_op_type binary_op EXECUTE_DATA_DC)
1111+
static zend_never_inline void zend_binary_assign_op_obj_dim(zval *object, zval *property, zval *value, binary_op_type binary_op OPLINE_DC EXECUTE_DATA_DC)
11121112
{
11131113
zval *z;
11141114
zval rv, res;
@@ -1130,14 +1130,14 @@ static zend_never_inline void zend_binary_assign_op_obj_dim(zval *object, zval *
11301130
if (z == &rv) {
11311131
zval_ptr_dtor(&rv);
11321132
}
1133-
if (retval) {
1134-
ZVAL_COPY(retval, &res);
1133+
if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
1134+
ZVAL_COPY(EX_VAR(opline->result.var), value);
11351135
}
11361136
zval_ptr_dtor(&res);
11371137
} else {
11381138
zend_use_object_as_array();
1139-
if (retval) {
1140-
ZVAL_NULL(retval);
1139+
if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
1140+
ZVAL_NULL(EX_VAR(opline->result.var));
11411141
}
11421142
}
11431143
}

Zend/zend_vm_def.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -917,7 +917,7 @@ ZEND_VM_C_LABEL(assign_dim_op_convert_to_array):
917917
if (OP2_TYPE == IS_CONST && Z_EXTRA_P(dim) == ZEND_EXTRA_VALUE) {
918918
dim++;
919919
}
920-
zend_binary_assign_op_obj_dim(container, dim, value, UNEXPECTED(RETURN_VALUE_USED(opline)) ? EX_VAR(opline->result.var) : NULL, binary_op EXECUTE_DATA_CC);
920+
zend_binary_assign_op_obj_dim(container, dim, value, binary_op OPLINE_CC EXECUTE_DATA_CC);
921921
} else {
922922
if (UNEXPECTED(Z_TYPE_P(container) == IS_STRING)) {
923923
if (OP2_TYPE == IS_UNUSED) {

Zend/zend_vm_execute.h

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -21913,7 +21913,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL zend_binary_assign_op_dim_helper_SP
2191321913
if (IS_CONST == IS_CONST && Z_EXTRA_P(dim) == ZEND_EXTRA_VALUE) {
2191421914
dim++;
2191521915
}
21916-
zend_binary_assign_op_obj_dim(container, dim, value, UNEXPECTED(RETURN_VALUE_USED(opline)) ? EX_VAR(opline->result.var) : NULL, binary_op EXECUTE_DATA_CC);
21916+
zend_binary_assign_op_obj_dim(container, dim, value, binary_op OPLINE_CC EXECUTE_DATA_CC);
2191721917
} else {
2191821918
if (UNEXPECTED(Z_TYPE_P(container) == IS_STRING)) {
2191921919
if (IS_CONST == IS_UNUSED) {
@@ -24243,7 +24243,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL zend_binary_assign_op_dim_helper_SP
2424324243
if ((IS_TMP_VAR|IS_VAR) == IS_CONST && Z_EXTRA_P(dim) == ZEND_EXTRA_VALUE) {
2424424244
dim++;
2424524245
}
24246-
zend_binary_assign_op_obj_dim(container, dim, value, UNEXPECTED(RETURN_VALUE_USED(opline)) ? EX_VAR(opline->result.var) : NULL, binary_op EXECUTE_DATA_CC);
24246+
zend_binary_assign_op_obj_dim(container, dim, value, binary_op OPLINE_CC EXECUTE_DATA_CC);
2424724247
} else {
2424824248
if (UNEXPECTED(Z_TYPE_P(container) == IS_STRING)) {
2424924249
if ((IS_TMP_VAR|IS_VAR) == IS_UNUSED) {
@@ -26724,7 +26724,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL zend_binary_assign_op_dim_helper_SP
2672426724
if (IS_UNUSED == IS_CONST && Z_EXTRA_P(dim) == ZEND_EXTRA_VALUE) {
2672526725
dim++;
2672626726
}
26727-
zend_binary_assign_op_obj_dim(container, dim, value, UNEXPECTED(RETURN_VALUE_USED(opline)) ? EX_VAR(opline->result.var) : NULL, binary_op EXECUTE_DATA_CC);
26727+
zend_binary_assign_op_obj_dim(container, dim, value, binary_op OPLINE_CC EXECUTE_DATA_CC);
2672826728
} else {
2672926729
if (UNEXPECTED(Z_TYPE_P(container) == IS_STRING)) {
2673026730
if (IS_UNUSED == IS_UNUSED) {
@@ -28106,7 +28106,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL zend_binary_assign_op_dim_helper_SP
2810628106
if (IS_CV == IS_CONST && Z_EXTRA_P(dim) == ZEND_EXTRA_VALUE) {
2810728107
dim++;
2810828108
}
28109-
zend_binary_assign_op_obj_dim(container, dim, value, UNEXPECTED(RETURN_VALUE_USED(opline)) ? EX_VAR(opline->result.var) : NULL, binary_op EXECUTE_DATA_CC);
28109+
zend_binary_assign_op_obj_dim(container, dim, value, binary_op OPLINE_CC EXECUTE_DATA_CC);
2811028110
} else {
2811128111
if (UNEXPECTED(Z_TYPE_P(container) == IS_STRING)) {
2811228112
if (IS_CV == IS_UNUSED) {
@@ -38576,7 +38576,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL zend_binary_assign_op_dim_helper_SP
3857638576
if (IS_CONST == IS_CONST && Z_EXTRA_P(dim) == ZEND_EXTRA_VALUE) {
3857738577
dim++;
3857838578
}
38579-
zend_binary_assign_op_obj_dim(container, dim, value, UNEXPECTED(RETURN_VALUE_USED(opline)) ? EX_VAR(opline->result.var) : NULL, binary_op EXECUTE_DATA_CC);
38579+
zend_binary_assign_op_obj_dim(container, dim, value, binary_op OPLINE_CC EXECUTE_DATA_CC);
3858038580
} else {
3858138581
if (UNEXPECTED(Z_TYPE_P(container) == IS_STRING)) {
3858238582
if (IS_CONST == IS_UNUSED) {
@@ -42417,7 +42417,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL zend_binary_assign_op_dim_helper_SP
4241742417
if ((IS_TMP_VAR|IS_VAR) == IS_CONST && Z_EXTRA_P(dim) == ZEND_EXTRA_VALUE) {
4241842418
dim++;
4241942419
}
42420-
zend_binary_assign_op_obj_dim(container, dim, value, UNEXPECTED(RETURN_VALUE_USED(opline)) ? EX_VAR(opline->result.var) : NULL, binary_op EXECUTE_DATA_CC);
42420+
zend_binary_assign_op_obj_dim(container, dim, value, binary_op OPLINE_CC EXECUTE_DATA_CC);
4242142421
} else {
4242242422
if (UNEXPECTED(Z_TYPE_P(container) == IS_STRING)) {
4242342423
if ((IS_TMP_VAR|IS_VAR) == IS_UNUSED) {
@@ -45646,7 +45646,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL zend_binary_assign_op_dim_helper_SP
4564645646
if (IS_UNUSED == IS_CONST && Z_EXTRA_P(dim) == ZEND_EXTRA_VALUE) {
4564745647
dim++;
4564845648
}
45649-
zend_binary_assign_op_obj_dim(container, dim, value, UNEXPECTED(RETURN_VALUE_USED(opline)) ? EX_VAR(opline->result.var) : NULL, binary_op EXECUTE_DATA_CC);
45649+
zend_binary_assign_op_obj_dim(container, dim, value, binary_op OPLINE_CC EXECUTE_DATA_CC);
4565045650
} else {
4565145651
if (UNEXPECTED(Z_TYPE_P(container) == IS_STRING)) {
4565245652
if (IS_UNUSED == IS_UNUSED) {
@@ -48119,7 +48119,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL zend_binary_assign_op_dim_helper_SP
4811948119
if (IS_CV == IS_CONST && Z_EXTRA_P(dim) == ZEND_EXTRA_VALUE) {
4812048120
dim++;
4812148121
}
48122-
zend_binary_assign_op_obj_dim(container, dim, value, UNEXPECTED(RETURN_VALUE_USED(opline)) ? EX_VAR(opline->result.var) : NULL, binary_op EXECUTE_DATA_CC);
48122+
zend_binary_assign_op_obj_dim(container, dim, value, binary_op OPLINE_CC EXECUTE_DATA_CC);
4812348123
} else {
4812448124
if (UNEXPECTED(Z_TYPE_P(container) == IS_STRING)) {
4812548125
if (IS_CV == IS_UNUSED) {

0 commit comments

Comments
 (0)