diff options
-rw-r--r-- | ext/opcache/jit/zend_jit_x86.dasc | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/ext/opcache/jit/zend_jit_x86.dasc b/ext/opcache/jit/zend_jit_x86.dasc index a255b3bdd9..a3bd4a36d6 100644 --- a/ext/opcache/jit/zend_jit_x86.dasc +++ b/ext/opcache/jit/zend_jit_x86.dasc @@ -1823,6 +1823,13 @@ static int zend_jit_throw_cannot_pass_by_ref_stub(dasm_State **Dst) | mov r1, OP:r0->result.var |.endif | SET_Z_TYPE_INFO RX+r1, IS_UNDEF + | // last EX(call) frame may be delayed + | cmp RX, EX->call + | je >1 + | mov r1, EX->call + | mov EX:RX->prev_execute_data, r1 + | mov EX->call, RX + |1: | mov RX, r0 |.if X64 | xor CARG1, CARG1 |