summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitry Stogov <dmitry@zend.com>2021-01-26 21:31:51 +0300
committerDmitry Stogov <dmitry@zend.com>2021-01-26 21:31:51 +0300
commitb6bfb27b8e1d2b57b650302e2aac956034b2111e (patch)
tree1687197b3c9274d112062cbf2337e489785b50db
parentf8be72a58c3b7c031df8c4f505954ac8ce10fc9d (diff)
parent64622979f94bbc7b976bbd67d610004d050cdec3 (diff)
downloadphp-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.dasc8
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