From: Dmitry Stogov Date: Mon, 28 Sep 2020 13:18:06 +0000 (+0300) Subject: Fixed usage of invalid frame for exit point X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=d1ddccdc194887373aaede37b7edc4ff166f0580;p=php Fixed usage of invalid frame for exit point --- diff --git a/ext/opcache/jit/zend_jit_trace.c b/ext/opcache/jit/zend_jit_trace.c index 9cfbcb0cf3..9b01a0fcca 100644 --- a/ext/opcache/jit/zend_jit_trace.c +++ b/ext/opcache/jit/zend_jit_trace.c @@ -5322,6 +5322,7 @@ done: while (prev_opline->opcode == ZEND_EXT_FCALL_BEGIN || prev_opline->opcode == ZEND_TICKS) { prev_opline--; } + JIT_G(current_frame) = call; if ((prev_opline->opcode == ZEND_SEND_ARRAY || prev_opline->opcode == ZEND_SEND_UNPACK || prev_opline->opcode == ZEND_CHECK_UNDEF_ARGS) @@ -5334,6 +5335,7 @@ done: && !zend_jit_trace_opline_guard(&dasm_state, (p+1)->opline)) { goto jit_failure; } + JIT_G(current_frame) = frame; } }