@@ -799,27 +799,6 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ASSIGN_STATIC_PROP_OP_SPEC_HAN
799
799
ZEND_VM_NEXT_OPCODE_EX(1, 2);
800
800
}
801
801
802
- static zend_never_inline ZEND_COLD ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL zend_assign_dim_op_obj_undef_helper_SPEC(zend_object *obj ZEND_OPCODE_HANDLER_ARGS_DC)
803
- {
804
- USE_OPLINE
805
- zval *dim;
806
-
807
- GC_ADDREF(obj);
808
- dim = ZVAL_UNDEFINED_OP2();
809
- if (UNEXPECTED(GC_DELREF(obj) == 0)) {
810
- zend_objects_store_del(obj);
811
- FREE_OP((opline+1)->op1_type, (opline+1)->op1.var);
812
- if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
813
- ZVAL_NULL(EX_VAR(opline->result.var));
814
- }
815
- } else {
816
- zend_binary_assign_op_obj_dim(obj, dim OPLINE_CC EXECUTE_DATA_CC);
817
- }
818
- FREE_OP(opline->op2_type, opline->op2.var);
819
- FREE_OP(opline->op1_type, opline->op1.var);
820
- ZEND_VM_NEXT_OPCODE_EX(1, 2);
821
- }
822
-
823
802
static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_PRE_INC_STATIC_PROP_SPEC_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
824
803
{
825
804
USE_OPLINE
@@ -22535,13 +22514,17 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ASSIGN_DIM_OP_SPEC_VAR_CONST_H
22535
22514
if (EXPECTED(Z_TYPE_P(container) == IS_OBJECT)) {
22536
22515
zend_object *obj = Z_OBJ_P(container);
22537
22516
22517
+ GC_ADDREF(obj);
22538
22518
dim = RT_CONSTANT(opline, opline->op2);
22539
22519
if (IS_CONST == IS_CV && UNEXPECTED(Z_ISUNDEF_P(dim))) {
22540
- ZEND_VM_TAIL_CALL(zend_assign_dim_op_obj_undef_helper_SPEC(obj ZEND_OPCODE_HANDLER_ARGS_PASSTHRU_CC) );
22520
+ dim = ZVAL_UNDEFINED_OP2( );
22541
22521
} else if (IS_CONST == IS_CONST && Z_EXTRA_P(dim) == ZEND_EXTRA_VALUE) {
22542
22522
dim++;
22543
22523
}
22544
22524
zend_binary_assign_op_obj_dim(obj, dim OPLINE_CC EXECUTE_DATA_CC);
22525
+ if (UNEXPECTED(GC_DELREF(obj) == 0)) {
22526
+ zend_objects_store_del(obj);
22527
+ }
22545
22528
} else if (EXPECTED(Z_TYPE_P(container) <= IS_FALSE)) {
22546
22529
HashTable *ht;
22547
22530
zend_uchar old_type;
@@ -25186,13 +25169,17 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ASSIGN_DIM_OP_SPEC_VAR_TMPVAR_
25186
25169
if (EXPECTED(Z_TYPE_P(container) == IS_OBJECT)) {
25187
25170
zend_object *obj = Z_OBJ_P(container);
25188
25171
25172
+ GC_ADDREF(obj);
25189
25173
dim = _get_zval_ptr_var(opline->op2.var EXECUTE_DATA_CC);
25190
25174
if ((IS_TMP_VAR|IS_VAR) == IS_CV && UNEXPECTED(Z_ISUNDEF_P(dim))) {
25191
- ZEND_VM_TAIL_CALL(zend_assign_dim_op_obj_undef_helper_SPEC(obj ZEND_OPCODE_HANDLER_ARGS_PASSTHRU_CC) );
25175
+ dim = ZVAL_UNDEFINED_OP2( );
25192
25176
} else if ((IS_TMP_VAR|IS_VAR) == IS_CONST && Z_EXTRA_P(dim) == ZEND_EXTRA_VALUE) {
25193
25177
dim++;
25194
25178
}
25195
25179
zend_binary_assign_op_obj_dim(obj, dim OPLINE_CC EXECUTE_DATA_CC);
25180
+ if (UNEXPECTED(GC_DELREF(obj) == 0)) {
25181
+ zend_objects_store_del(obj);
25182
+ }
25196
25183
} else if (EXPECTED(Z_TYPE_P(container) <= IS_FALSE)) {
25197
25184
HashTable *ht;
25198
25185
zend_uchar old_type;
@@ -27475,13 +27462,17 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ASSIGN_DIM_OP_SPEC_VAR_UNUSED_
27475
27462
if (EXPECTED(Z_TYPE_P(container) == IS_OBJECT)) {
27476
27463
zend_object *obj = Z_OBJ_P(container);
27477
27464
27465
+ GC_ADDREF(obj);
27478
27466
dim = NULL;
27479
27467
if (IS_UNUSED == IS_CV && UNEXPECTED(Z_ISUNDEF_P(dim))) {
27480
- ZEND_VM_TAIL_CALL(zend_assign_dim_op_obj_undef_helper_SPEC(obj ZEND_OPCODE_HANDLER_ARGS_PASSTHRU_CC) );
27468
+ dim = ZVAL_UNDEFINED_OP2( );
27481
27469
} else if (IS_UNUSED == IS_CONST && Z_EXTRA_P(dim) == ZEND_EXTRA_VALUE) {
27482
27470
dim++;
27483
27471
}
27484
27472
zend_binary_assign_op_obj_dim(obj, dim OPLINE_CC EXECUTE_DATA_CC);
27473
+ if (UNEXPECTED(GC_DELREF(obj) == 0)) {
27474
+ zend_objects_store_del(obj);
27475
+ }
27485
27476
} else if (EXPECTED(Z_TYPE_P(container) <= IS_FALSE)) {
27486
27477
HashTable *ht;
27487
27478
zend_uchar old_type;
@@ -29312,13 +29303,17 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ASSIGN_DIM_OP_SPEC_VAR_CV_HAND
29312
29303
if (EXPECTED(Z_TYPE_P(container) == IS_OBJECT)) {
29313
29304
zend_object *obj = Z_OBJ_P(container);
29314
29305
29306
+ GC_ADDREF(obj);
29315
29307
dim = EX_VAR(opline->op2.var);
29316
29308
if (IS_CV == IS_CV && UNEXPECTED(Z_ISUNDEF_P(dim))) {
29317
- ZEND_VM_TAIL_CALL(zend_assign_dim_op_obj_undef_helper_SPEC(obj ZEND_OPCODE_HANDLER_ARGS_PASSTHRU_CC) );
29309
+ dim = ZVAL_UNDEFINED_OP2( );
29318
29310
} else if (IS_CV == IS_CONST && Z_EXTRA_P(dim) == ZEND_EXTRA_VALUE) {
29319
29311
dim++;
29320
29312
}
29321
29313
zend_binary_assign_op_obj_dim(obj, dim OPLINE_CC EXECUTE_DATA_CC);
29314
+ if (UNEXPECTED(GC_DELREF(obj) == 0)) {
29315
+ zend_objects_store_del(obj);
29316
+ }
29322
29317
} else if (EXPECTED(Z_TYPE_P(container) <= IS_FALSE)) {
29323
29318
HashTable *ht;
29324
29319
zend_uchar old_type;
@@ -40077,13 +40072,17 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ASSIGN_DIM_OP_SPEC_CV_CONST_HA
40077
40072
if (EXPECTED(Z_TYPE_P(container) == IS_OBJECT)) {
40078
40073
zend_object *obj = Z_OBJ_P(container);
40079
40074
40075
+ GC_ADDREF(obj);
40080
40076
dim = RT_CONSTANT(opline, opline->op2);
40081
40077
if (IS_CONST == IS_CV && UNEXPECTED(Z_ISUNDEF_P(dim))) {
40082
- ZEND_VM_TAIL_CALL(zend_assign_dim_op_obj_undef_helper_SPEC(obj ZEND_OPCODE_HANDLER_ARGS_PASSTHRU_CC) );
40078
+ dim = ZVAL_UNDEFINED_OP2( );
40083
40079
} else if (IS_CONST == IS_CONST && Z_EXTRA_P(dim) == ZEND_EXTRA_VALUE) {
40084
40080
dim++;
40085
40081
}
40086
40082
zend_binary_assign_op_obj_dim(obj, dim OPLINE_CC EXECUTE_DATA_CC);
40083
+ if (UNEXPECTED(GC_DELREF(obj) == 0)) {
40084
+ zend_objects_store_del(obj);
40085
+ }
40087
40086
} else if (EXPECTED(Z_TYPE_P(container) <= IS_FALSE)) {
40088
40087
HashTable *ht;
40089
40088
zend_uchar old_type;
@@ -43816,13 +43815,17 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ASSIGN_DIM_OP_SPEC_CV_TMPVAR_H
43816
43815
if (EXPECTED(Z_TYPE_P(container) == IS_OBJECT)) {
43817
43816
zend_object *obj = Z_OBJ_P(container);
43818
43817
43818
+ GC_ADDREF(obj);
43819
43819
dim = _get_zval_ptr_var(opline->op2.var EXECUTE_DATA_CC);
43820
43820
if ((IS_TMP_VAR|IS_VAR) == IS_CV && UNEXPECTED(Z_ISUNDEF_P(dim))) {
43821
- ZEND_VM_TAIL_CALL(zend_assign_dim_op_obj_undef_helper_SPEC(obj ZEND_OPCODE_HANDLER_ARGS_PASSTHRU_CC) );
43821
+ dim = ZVAL_UNDEFINED_OP2( );
43822
43822
} else if ((IS_TMP_VAR|IS_VAR) == IS_CONST && Z_EXTRA_P(dim) == ZEND_EXTRA_VALUE) {
43823
43823
dim++;
43824
43824
}
43825
43825
zend_binary_assign_op_obj_dim(obj, dim OPLINE_CC EXECUTE_DATA_CC);
43826
+ if (UNEXPECTED(GC_DELREF(obj) == 0)) {
43827
+ zend_objects_store_del(obj);
43828
+ }
43826
43829
} else if (EXPECTED(Z_TYPE_P(container) <= IS_FALSE)) {
43827
43830
HashTable *ht;
43828
43831
zend_uchar old_type;
@@ -46690,13 +46693,17 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ASSIGN_DIM_OP_SPEC_CV_UNUSED_H
46690
46693
if (EXPECTED(Z_TYPE_P(container) == IS_OBJECT)) {
46691
46694
zend_object *obj = Z_OBJ_P(container);
46692
46695
46696
+ GC_ADDREF(obj);
46693
46697
dim = NULL;
46694
46698
if (IS_UNUSED == IS_CV && UNEXPECTED(Z_ISUNDEF_P(dim))) {
46695
- ZEND_VM_TAIL_CALL(zend_assign_dim_op_obj_undef_helper_SPEC(obj ZEND_OPCODE_HANDLER_ARGS_PASSTHRU_CC) );
46699
+ dim = ZVAL_UNDEFINED_OP2( );
46696
46700
} else if (IS_UNUSED == IS_CONST && Z_EXTRA_P(dim) == ZEND_EXTRA_VALUE) {
46697
46701
dim++;
46698
46702
}
46699
46703
zend_binary_assign_op_obj_dim(obj, dim OPLINE_CC EXECUTE_DATA_CC);
46704
+ if (UNEXPECTED(GC_DELREF(obj) == 0)) {
46705
+ zend_objects_store_del(obj);
46706
+ }
46700
46707
} else if (EXPECTED(Z_TYPE_P(container) <= IS_FALSE)) {
46701
46708
HashTable *ht;
46702
46709
zend_uchar old_type;
@@ -49059,13 +49066,17 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ASSIGN_DIM_OP_SPEC_CV_CV_HANDL
49059
49066
if (EXPECTED(Z_TYPE_P(container) == IS_OBJECT)) {
49060
49067
zend_object *obj = Z_OBJ_P(container);
49061
49068
49069
+ GC_ADDREF(obj);
49062
49070
dim = EX_VAR(opline->op2.var);
49063
49071
if (IS_CV == IS_CV && UNEXPECTED(Z_ISUNDEF_P(dim))) {
49064
- ZEND_VM_TAIL_CALL(zend_assign_dim_op_obj_undef_helper_SPEC(obj ZEND_OPCODE_HANDLER_ARGS_PASSTHRU_CC) );
49072
+ dim = ZVAL_UNDEFINED_OP2( );
49065
49073
} else if (IS_CV == IS_CONST && Z_EXTRA_P(dim) == ZEND_EXTRA_VALUE) {
49066
49074
dim++;
49067
49075
}
49068
49076
zend_binary_assign_op_obj_dim(obj, dim OPLINE_CC EXECUTE_DATA_CC);
49077
+ if (UNEXPECTED(GC_DELREF(obj) == 0)) {
49078
+ zend_objects_store_del(obj);
49079
+ }
49069
49080
} else if (EXPECTED(Z_TYPE_P(container) <= IS_FALSE)) {
49070
49081
HashTable *ht;
49071
49082
zend_uchar old_type;
0 commit comments