@@ -1826,6 +1826,9 @@ static void jit_ZVAL_PTR_DTOR(zend_jit_ctx *jit,
1826
1826
ir_END_list(end_inputs);
1827
1827
ir_IF_FALSE(if_may_not_leak);
1828
1828
1829
+ if (opline) {
1830
+ jit_SET_EX_OPLINE(jit, opline);
1831
+ }
1829
1832
ir_CALL_1(IR_VOID, ir_CONST_FC_FUNC(gc_possible_root), ref);
1830
1833
}
1831
1834
@@ -6518,6 +6521,9 @@ static int zend_jit_assign_to_variable(zend_jit_ctx *jit,
6518
6521
if (RC_MAY_BE_N(var_info) && (var_info & (MAY_BE_ARRAY|MAY_BE_OBJECT)) != 0) {
6519
6522
ir_ref if_may_leak = jit_if_GC_MAY_NOT_LEAK(jit, ref);
6520
6523
ir_IF_FALSE(if_may_leak);
6524
+ if (opline) {
6525
+ jit_SET_EX_OPLINE(jit, opline);
6526
+ }
6521
6527
ir_CALL_1(IR_VOID, ir_CONST_FC_FUNC(gc_possible_root), ref);
6522
6528
6523
6529
if (Z_MODE(var_addr) == IS_REG || Z_MODE(res_addr) == IS_REG) {
@@ -6545,6 +6551,9 @@ static int zend_jit_assign_to_variable(zend_jit_ctx *jit,
6545
6551
if (var_info & (MAY_BE_ARRAY|MAY_BE_OBJECT)) {
6546
6552
ir_ref if_may_leak = jit_if_GC_MAY_NOT_LEAK(jit, ref);
6547
6553
ir_IF_FALSE(if_may_leak);
6554
+ if (opline) {
6555
+ jit_SET_EX_OPLINE(jit, opline);
6556
+ }
6548
6557
ir_CALL_1(IR_VOID, ir_CONST_FC_FUNC(gc_possible_root), ref);
6549
6558
ir_END_list(simple_inputs);
6550
6559
ir_IF_TRUE(if_may_leak);
@@ -11410,6 +11419,9 @@ static int zend_jit_bind_global(zend_jit_ctx *jit, const zend_op *opline, uint32
11410
11419
ir_IF_TRUE(if_may_not_leak);
11411
11420
ir_END_list(end_inputs);
11412
11421
ir_IF_FALSE(if_may_not_leak);
11422
+ if (opline) {
11423
+ jit_SET_EX_OPLINE(jit, opline);
11424
+ }
11413
11425
ir_CALL_1(IR_VOID, ir_CONST_FC_FUNC(gc_possible_root), ref2);
11414
11426
}
11415
11427
if (op1_info & ((MAY_BE_ANY|MAY_BE_UNDEF) - (MAY_BE_OBJECT|MAY_BE_RESOURCE))) {
0 commit comments