@@ -3523,7 +3523,11 @@ static ZEND_VM_HOT ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_RETURN_SPEC_CONST_
3523
3523
if (Z_OPT_REFCOUNTED_P(retval_ptr)) {
3524
3524
if (EXPECTED(!Z_OPT_ISREF_P(retval_ptr))) {
3525
3525
if (EXPECTED(!(EX_CALL_INFO() & ZEND_CALL_CODE))) {
3526
+ zend_refcounted *ref = Z_COUNTED_P(retval_ptr);
3526
3527
ZVAL_COPY_VALUE(return_value, retval_ptr);
3528
+ if (GC_MAY_LEAK(ref)) {
3529
+ gc_possible_root(ref);
3530
+ }
3527
3531
ZVAL_NULL(retval_ptr);
3528
3532
break;
3529
3533
} else {
@@ -17798,7 +17802,11 @@ static ZEND_VM_HOT ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_RETURN_SPEC_TMP_HA
17798
17802
if (Z_OPT_REFCOUNTED_P(retval_ptr)) {
17799
17803
if (EXPECTED(!Z_OPT_ISREF_P(retval_ptr))) {
17800
17804
if (EXPECTED(!(EX_CALL_INFO() & ZEND_CALL_CODE))) {
17805
+ zend_refcounted *ref = Z_COUNTED_P(retval_ptr);
17801
17806
ZVAL_COPY_VALUE(return_value, retval_ptr);
17807
+ if (GC_MAY_LEAK(ref)) {
17808
+ gc_possible_root(ref);
17809
+ }
17802
17810
ZVAL_NULL(retval_ptr);
17803
17811
break;
17804
17812
} else {
@@ -20634,7 +20642,11 @@ static ZEND_VM_HOT ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_RETURN_SPEC_VAR_HA
20634
20642
if (Z_OPT_REFCOUNTED_P(retval_ptr)) {
20635
20643
if (EXPECTED(!Z_OPT_ISREF_P(retval_ptr))) {
20636
20644
if (EXPECTED(!(EX_CALL_INFO() & ZEND_CALL_CODE))) {
20645
+ zend_refcounted *ref = Z_COUNTED_P(retval_ptr);
20637
20646
ZVAL_COPY_VALUE(return_value, retval_ptr);
20647
+ if (GC_MAY_LEAK(ref)) {
20648
+ gc_possible_root(ref);
20649
+ }
20638
20650
ZVAL_NULL(retval_ptr);
20639
20651
break;
20640
20652
} else {
@@ -37001,7 +37013,11 @@ static ZEND_VM_HOT ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_RETURN_SPEC_CV_HAN
37001
37013
if (Z_OPT_REFCOUNTED_P(retval_ptr)) {
37002
37014
if (EXPECTED(!Z_OPT_ISREF_P(retval_ptr))) {
37003
37015
if (EXPECTED(!(EX_CALL_INFO() & ZEND_CALL_CODE))) {
37016
+ zend_refcounted *ref = Z_COUNTED_P(retval_ptr);
37004
37017
ZVAL_COPY_VALUE(return_value, retval_ptr);
37018
+ if (GC_MAY_LEAK(ref)) {
37019
+ gc_possible_root(ref);
37020
+ }
37005
37021
ZVAL_NULL(retval_ptr);
37006
37022
break;
37007
37023
} else {
@@ -53788,7 +53804,11 @@ ZEND_API void execute_ex(zend_execute_data *ex)
53788
53804
if (Z_OPT_REFCOUNTED_P(retval_ptr)) {
53789
53805
if (EXPECTED(!Z_OPT_ISREF_P(retval_ptr))) {
53790
53806
if (EXPECTED(!(EX_CALL_INFO() & ZEND_CALL_CODE))) {
53807
+ zend_refcounted *ref = Z_COUNTED_P(retval_ptr);
53791
53808
ZVAL_COPY_VALUE(return_value, retval_ptr);
53809
+ if (GC_MAY_LEAK(ref)) {
53810
+ gc_possible_root(ref);
53811
+ }
53792
53812
ZVAL_NULL(retval_ptr);
53793
53813
break;
53794
53814
} else {
@@ -55262,7 +55282,11 @@ ZEND_API void execute_ex(zend_execute_data *ex)
55262
55282
if (Z_OPT_REFCOUNTED_P(retval_ptr)) {
55263
55283
if (EXPECTED(!Z_OPT_ISREF_P(retval_ptr))) {
55264
55284
if (EXPECTED(!(EX_CALL_INFO() & ZEND_CALL_CODE))) {
55285
+ zend_refcounted *ref = Z_COUNTED_P(retval_ptr);
55265
55286
ZVAL_COPY_VALUE(return_value, retval_ptr);
55287
+ if (GC_MAY_LEAK(ref)) {
55288
+ gc_possible_root(ref);
55289
+ }
55266
55290
ZVAL_NULL(retval_ptr);
55267
55291
break;
55268
55292
} else {
@@ -55548,7 +55572,11 @@ ZEND_API void execute_ex(zend_execute_data *ex)
55548
55572
if (Z_OPT_REFCOUNTED_P(retval_ptr)) {
55549
55573
if (EXPECTED(!Z_OPT_ISREF_P(retval_ptr))) {
55550
55574
if (EXPECTED(!(EX_CALL_INFO() & ZEND_CALL_CODE))) {
55575
+ zend_refcounted *ref = Z_COUNTED_P(retval_ptr);
55551
55576
ZVAL_COPY_VALUE(return_value, retval_ptr);
55577
+ if (GC_MAY_LEAK(ref)) {
55578
+ gc_possible_root(ref);
55579
+ }
55552
55580
ZVAL_NULL(retval_ptr);
55553
55581
break;
55554
55582
} else {
@@ -56630,7 +56658,11 @@ ZEND_API void execute_ex(zend_execute_data *ex)
56630
56658
if (Z_OPT_REFCOUNTED_P(retval_ptr)) {
56631
56659
if (EXPECTED(!Z_OPT_ISREF_P(retval_ptr))) {
56632
56660
if (EXPECTED(!(EX_CALL_INFO() & ZEND_CALL_CODE))) {
56661
+ zend_refcounted *ref = Z_COUNTED_P(retval_ptr);
56633
56662
ZVAL_COPY_VALUE(return_value, retval_ptr);
56663
+ if (GC_MAY_LEAK(ref)) {
56664
+ gc_possible_root(ref);
56665
+ }
56634
56666
ZVAL_NULL(retval_ptr);
56635
56667
break;
56636
56668
} else {
0 commit comments