@@ -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
@@ -22468,13 +22447,17 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ASSIGN_DIM_OP_SPEC_VAR_CONST_H
22468
22447
if (EXPECTED(Z_TYPE_P(container) == IS_OBJECT)) {
22469
22448
zend_object *obj = Z_OBJ_P(container);
22470
22449
22450
+ GC_ADDREF(obj);
22471
22451
dim = RT_CONSTANT(opline, opline->op2);
22472
22452
if (IS_CONST == IS_CV && UNEXPECTED(Z_ISUNDEF_P(dim))) {
22473
- ZEND_VM_TAIL_CALL(zend_assign_dim_op_obj_undef_helper_SPEC(obj ZEND_OPCODE_HANDLER_ARGS_PASSTHRU_CC) );
22453
+ dim = ZVAL_UNDEFINED_OP2( );
22474
22454
} else if (IS_CONST == IS_CONST && Z_EXTRA_P(dim) == ZEND_EXTRA_VALUE) {
22475
22455
dim++;
22476
22456
}
22477
22457
zend_binary_assign_op_obj_dim(obj, dim OPLINE_CC EXECUTE_DATA_CC);
22458
+ if (UNEXPECTED(GC_DELREF(obj) == 0)) {
22459
+ zend_objects_store_del(obj);
22460
+ }
22478
22461
} else if (EXPECTED(Z_TYPE_P(container) <= IS_FALSE)) {
22479
22462
HashTable *ht;
22480
22463
zend_uchar old_type;
@@ -25119,13 +25102,17 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ASSIGN_DIM_OP_SPEC_VAR_TMPVAR_
25119
25102
if (EXPECTED(Z_TYPE_P(container) == IS_OBJECT)) {
25120
25103
zend_object *obj = Z_OBJ_P(container);
25121
25104
25105
+ GC_ADDREF(obj);
25122
25106
dim = _get_zval_ptr_var(opline->op2.var EXECUTE_DATA_CC);
25123
25107
if ((IS_TMP_VAR|IS_VAR) == IS_CV && UNEXPECTED(Z_ISUNDEF_P(dim))) {
25124
- ZEND_VM_TAIL_CALL(zend_assign_dim_op_obj_undef_helper_SPEC(obj ZEND_OPCODE_HANDLER_ARGS_PASSTHRU_CC) );
25108
+ dim = ZVAL_UNDEFINED_OP2( );
25125
25109
} else if ((IS_TMP_VAR|IS_VAR) == IS_CONST && Z_EXTRA_P(dim) == ZEND_EXTRA_VALUE) {
25126
25110
dim++;
25127
25111
}
25128
25112
zend_binary_assign_op_obj_dim(obj, dim OPLINE_CC EXECUTE_DATA_CC);
25113
+ if (UNEXPECTED(GC_DELREF(obj) == 0)) {
25114
+ zend_objects_store_del(obj);
25115
+ }
25129
25116
} else if (EXPECTED(Z_TYPE_P(container) <= IS_FALSE)) {
25130
25117
HashTable *ht;
25131
25118
zend_uchar old_type;
@@ -27408,13 +27395,17 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ASSIGN_DIM_OP_SPEC_VAR_UNUSED_
27408
27395
if (EXPECTED(Z_TYPE_P(container) == IS_OBJECT)) {
27409
27396
zend_object *obj = Z_OBJ_P(container);
27410
27397
27398
+ GC_ADDREF(obj);
27411
27399
dim = NULL;
27412
27400
if (IS_UNUSED == IS_CV && UNEXPECTED(Z_ISUNDEF_P(dim))) {
27413
- ZEND_VM_TAIL_CALL(zend_assign_dim_op_obj_undef_helper_SPEC(obj ZEND_OPCODE_HANDLER_ARGS_PASSTHRU_CC) );
27401
+ dim = ZVAL_UNDEFINED_OP2( );
27414
27402
} else if (IS_UNUSED == IS_CONST && Z_EXTRA_P(dim) == ZEND_EXTRA_VALUE) {
27415
27403
dim++;
27416
27404
}
27417
27405
zend_binary_assign_op_obj_dim(obj, dim OPLINE_CC EXECUTE_DATA_CC);
27406
+ if (UNEXPECTED(GC_DELREF(obj) == 0)) {
27407
+ zend_objects_store_del(obj);
27408
+ }
27418
27409
} else if (EXPECTED(Z_TYPE_P(container) <= IS_FALSE)) {
27419
27410
HashTable *ht;
27420
27411
zend_uchar old_type;
@@ -29245,13 +29236,17 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ASSIGN_DIM_OP_SPEC_VAR_CV_HAND
29245
29236
if (EXPECTED(Z_TYPE_P(container) == IS_OBJECT)) {
29246
29237
zend_object *obj = Z_OBJ_P(container);
29247
29238
29239
+ GC_ADDREF(obj);
29248
29240
dim = EX_VAR(opline->op2.var);
29249
29241
if (IS_CV == IS_CV && UNEXPECTED(Z_ISUNDEF_P(dim))) {
29250
- ZEND_VM_TAIL_CALL(zend_assign_dim_op_obj_undef_helper_SPEC(obj ZEND_OPCODE_HANDLER_ARGS_PASSTHRU_CC) );
29242
+ dim = ZVAL_UNDEFINED_OP2( );
29251
29243
} else if (IS_CV == IS_CONST && Z_EXTRA_P(dim) == ZEND_EXTRA_VALUE) {
29252
29244
dim++;
29253
29245
}
29254
29246
zend_binary_assign_op_obj_dim(obj, dim OPLINE_CC EXECUTE_DATA_CC);
29247
+ if (UNEXPECTED(GC_DELREF(obj) == 0)) {
29248
+ zend_objects_store_del(obj);
29249
+ }
29255
29250
} else if (EXPECTED(Z_TYPE_P(container) <= IS_FALSE)) {
29256
29251
HashTable *ht;
29257
29252
zend_uchar old_type;
@@ -39949,13 +39944,17 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ASSIGN_DIM_OP_SPEC_CV_CONST_HA
39949
39944
if (EXPECTED(Z_TYPE_P(container) == IS_OBJECT)) {
39950
39945
zend_object *obj = Z_OBJ_P(container);
39951
39946
39947
+ GC_ADDREF(obj);
39952
39948
dim = RT_CONSTANT(opline, opline->op2);
39953
39949
if (IS_CONST == IS_CV && UNEXPECTED(Z_ISUNDEF_P(dim))) {
39954
- ZEND_VM_TAIL_CALL(zend_assign_dim_op_obj_undef_helper_SPEC(obj ZEND_OPCODE_HANDLER_ARGS_PASSTHRU_CC) );
39950
+ dim = ZVAL_UNDEFINED_OP2( );
39955
39951
} else if (IS_CONST == IS_CONST && Z_EXTRA_P(dim) == ZEND_EXTRA_VALUE) {
39956
39952
dim++;
39957
39953
}
39958
39954
zend_binary_assign_op_obj_dim(obj, dim OPLINE_CC EXECUTE_DATA_CC);
39955
+ if (UNEXPECTED(GC_DELREF(obj) == 0)) {
39956
+ zend_objects_store_del(obj);
39957
+ }
39959
39958
} else if (EXPECTED(Z_TYPE_P(container) <= IS_FALSE)) {
39960
39959
HashTable *ht;
39961
39960
zend_uchar old_type;
@@ -43679,13 +43678,17 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ASSIGN_DIM_OP_SPEC_CV_TMPVAR_H
43679
43678
if (EXPECTED(Z_TYPE_P(container) == IS_OBJECT)) {
43680
43679
zend_object *obj = Z_OBJ_P(container);
43681
43680
43681
+ GC_ADDREF(obj);
43682
43682
dim = _get_zval_ptr_var(opline->op2.var EXECUTE_DATA_CC);
43683
43683
if ((IS_TMP_VAR|IS_VAR) == IS_CV && UNEXPECTED(Z_ISUNDEF_P(dim))) {
43684
- ZEND_VM_TAIL_CALL(zend_assign_dim_op_obj_undef_helper_SPEC(obj ZEND_OPCODE_HANDLER_ARGS_PASSTHRU_CC) );
43684
+ dim = ZVAL_UNDEFINED_OP2( );
43685
43685
} else if ((IS_TMP_VAR|IS_VAR) == IS_CONST && Z_EXTRA_P(dim) == ZEND_EXTRA_VALUE) {
43686
43686
dim++;
43687
43687
}
43688
43688
zend_binary_assign_op_obj_dim(obj, dim OPLINE_CC EXECUTE_DATA_CC);
43689
+ if (UNEXPECTED(GC_DELREF(obj) == 0)) {
43690
+ zend_objects_store_del(obj);
43691
+ }
43689
43692
} else if (EXPECTED(Z_TYPE_P(container) <= IS_FALSE)) {
43690
43693
HashTable *ht;
43691
43694
zend_uchar old_type;
@@ -46544,13 +46547,17 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ASSIGN_DIM_OP_SPEC_CV_UNUSED_H
46544
46547
if (EXPECTED(Z_TYPE_P(container) == IS_OBJECT)) {
46545
46548
zend_object *obj = Z_OBJ_P(container);
46546
46549
46550
+ GC_ADDREF(obj);
46547
46551
dim = NULL;
46548
46552
if (IS_UNUSED == IS_CV && UNEXPECTED(Z_ISUNDEF_P(dim))) {
46549
- ZEND_VM_TAIL_CALL(zend_assign_dim_op_obj_undef_helper_SPEC(obj ZEND_OPCODE_HANDLER_ARGS_PASSTHRU_CC) );
46553
+ dim = ZVAL_UNDEFINED_OP2( );
46550
46554
} else if (IS_UNUSED == IS_CONST && Z_EXTRA_P(dim) == ZEND_EXTRA_VALUE) {
46551
46555
dim++;
46552
46556
}
46553
46557
zend_binary_assign_op_obj_dim(obj, dim OPLINE_CC EXECUTE_DATA_CC);
46558
+ if (UNEXPECTED(GC_DELREF(obj) == 0)) {
46559
+ zend_objects_store_del(obj);
46560
+ }
46554
46561
} else if (EXPECTED(Z_TYPE_P(container) <= IS_FALSE)) {
46555
46562
HashTable *ht;
46556
46563
zend_uchar old_type;
@@ -48912,13 +48919,17 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ASSIGN_DIM_OP_SPEC_CV_CV_HANDL
48912
48919
if (EXPECTED(Z_TYPE_P(container) == IS_OBJECT)) {
48913
48920
zend_object *obj = Z_OBJ_P(container);
48914
48921
48922
+ GC_ADDREF(obj);
48915
48923
dim = EX_VAR(opline->op2.var);
48916
48924
if (IS_CV == IS_CV && UNEXPECTED(Z_ISUNDEF_P(dim))) {
48917
- ZEND_VM_TAIL_CALL(zend_assign_dim_op_obj_undef_helper_SPEC(obj ZEND_OPCODE_HANDLER_ARGS_PASSTHRU_CC) );
48925
+ dim = ZVAL_UNDEFINED_OP2( );
48918
48926
} else if (IS_CV == IS_CONST && Z_EXTRA_P(dim) == ZEND_EXTRA_VALUE) {
48919
48927
dim++;
48920
48928
}
48921
48929
zend_binary_assign_op_obj_dim(obj, dim OPLINE_CC EXECUTE_DATA_CC);
48930
+ if (UNEXPECTED(GC_DELREF(obj) == 0)) {
48931
+ zend_objects_store_del(obj);
48932
+ }
48922
48933
} else if (EXPECTED(Z_TYPE_P(container) <= IS_FALSE)) {
48923
48934
HashTable *ht;
48924
48935
zend_uchar old_type;
0 commit comments