diff options
author | Dmitry Stogov <dmitry@zend.com> | 2021-01-26 21:31:51 +0300 |
---|---|---|
committer | Dmitry Stogov <dmitry@zend.com> | 2021-01-26 21:31:51 +0300 |
commit | b6bfb27b8e1d2b57b650302e2aac956034b2111e (patch) | |
tree | 1687197b3c9274d112062cbf2337e489785b50db | |
parent | f8be72a58c3b7c031df8c4f505954ac8ce10fc9d (diff) | |
parent | 64622979f94bbc7b976bbd67d610004d050cdec3 (diff) | |
download | php-git-b6bfb27b8e1d2b57b650302e2aac956034b2111e.tar.gz |
Merge branch 'PHP-8.0'
* PHP-8.0:
Fixed observer API and JIT compatibility
-rw-r--r-- | ext/opcache/jit/zend_jit_x86.dasc | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/ext/opcache/jit/zend_jit_x86.dasc b/ext/opcache/jit/zend_jit_x86.dasc index daf735076b..5700a92ff1 100644 --- a/ext/opcache/jit/zend_jit_x86.dasc +++ b/ext/opcache/jit/zend_jit_x86.dasc @@ -11413,6 +11413,14 @@ static int zend_jit_return(dasm_State **Dst, const zend_op *opline, const zend_o } if (ZEND_OBSERVER_ENABLED) { + if (Z_MODE(op1_addr) == IS_REG) { + zend_jit_addr dst = ZEND_ADDR_MEM_ZVAL(ZREG_FP, opline->op1.var); + + if (!zend_jit_spill_store(Dst, op1_addr, dst, op1_info, 1)) { + return 0; + } + op1_addr = dst; + } | LOAD_ZVAL_ADDR FCARG2a, op1_addr | mov FCARG1a, FP | SET_EX_OPLINE opline, r0 |