@@ -16646,6 +16646,11 @@ static bool zend_jit_may_be_in_reg(const zend_op_array *op_array, zend_ssa *ssa,
16646
16646
16647
16647
static void jit_frameless_icall0(zend_jit_ctx *jit, const zend_op *opline)
16648
16648
{
16649
+ if (GCC_GLOBAL_REGS) {
16650
+ // EX(opline) = opline
16651
+ ir_STORE(jit_EX(opline), jit_IP(jit));
16652
+ }
16653
+
16649
16654
void *function = zend_flf_handlers[opline->extended_value];
16650
16655
zend_jit_addr res_addr = RES_ADDR();
16651
16656
ir_ref res_ref = jit_ZVAL_ADDR(jit, res_addr);
@@ -16655,6 +16660,11 @@ static void jit_frameless_icall0(zend_jit_ctx *jit, const zend_op *opline)
16655
16660
16656
16661
static void jit_frameless_icall1(zend_jit_ctx *jit, const zend_op *opline, uint32_t op1_info)
16657
16662
{
16663
+ if (GCC_GLOBAL_REGS) {
16664
+ // EX(opline) = opline
16665
+ ir_STORE(jit_EX(opline), jit_IP(jit));
16666
+ }
16667
+
16658
16668
void *function = zend_flf_handlers[opline->extended_value];
16659
16669
zend_jit_addr res_addr = RES_ADDR();
16660
16670
zend_jit_addr op1_addr = OP1_ADDR();
@@ -16669,6 +16679,11 @@ static void jit_frameless_icall1(zend_jit_ctx *jit, const zend_op *opline, uint3
16669
16679
16670
16680
static void jit_frameless_icall2(zend_jit_ctx *jit, const zend_op *opline, uint32_t op1_info, uint32_t op2_info)
16671
16681
{
16682
+ if (GCC_GLOBAL_REGS) {
16683
+ // EX(opline) = opline
16684
+ ir_STORE(jit_EX(opline), jit_IP(jit));
16685
+ }
16686
+
16672
16687
void *function = zend_flf_handlers[opline->extended_value];
16673
16688
zend_jit_addr res_addr = RES_ADDR();
16674
16689
zend_jit_addr op1_addr = OP1_ADDR();
@@ -16688,6 +16703,11 @@ static void jit_frameless_icall2(zend_jit_ctx *jit, const zend_op *opline, uint3
16688
16703
16689
16704
static void jit_frameless_icall3(zend_jit_ctx *jit, const zend_op *opline, uint32_t op1_info, uint32_t op2_info, uint32_t op1_data_info)
16690
16705
{
16706
+ if (GCC_GLOBAL_REGS) {
16707
+ // EX(opline) = opline
16708
+ ir_STORE(jit_EX(opline), jit_IP(jit));
16709
+ }
16710
+
16691
16711
void *function = zend_flf_handlers[opline->extended_value];
16692
16712
zend_jit_addr res_addr = RES_ADDR();
16693
16713
zend_jit_addr op1_addr = OP1_ADDR();
0 commit comments