From: Dmitry Stogov Date: Thu, 13 Jun 2019 21:29:22 +0000 (+0300) Subject: Fixed incorect register allocation in ZTS build X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=5883dbcb1883b0e88c43244a72713d907adcb6cd;p=php Fixed incorect register allocation in ZTS build --- diff --git a/ext/opcache/jit/zend_jit_x86.dasc b/ext/opcache/jit/zend_jit_x86.dasc index a400288c11..4501edbc7a 100644 --- a/ext/opcache/jit/zend_jit_x86.dasc +++ b/ext/opcache/jit/zend_jit_x86.dasc @@ -10518,6 +10518,18 @@ static zend_regset zend_jit_get_scratch_regset(zend_op_array *op_array, zend_ssa break; } +#if ZTS + /* %r0 is used to check EG(vm_interrupt) */ + { + uint32_t b = ssa->cfg.map[line]; + + if ((ssa->cfg.blocks[b].flags & ZEND_BB_LOOP_HEADER) != 0 + && ssa->cfg.blocks[b].start == line) { + ZEND_REGSET_INCL(regset, ZREG_R0); + } + } +#endif + return regset; }