Skip to content

Commit 061b46e

Browse files
realFlowControlarnaud-lb
authored andcommitted
Save opline in zend_jit_hot_func()
Closes GH-18289
1 parent bd9f03a commit 061b46e

File tree

2 files changed

+5
-0
lines changed

2 files changed

+5
-0
lines changed

NEWS

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ PHP NEWS
3333

3434
- Opcache:
3535
. Fixed bug GH-18294 (assertion failure zend_jit_ir.c). (nielsdos)
36+
. Fixed bug GH-18289 (Fix segfault in JIT). (Florian Engelhardt)
3637

3738
- OpenSSL:
3839
. Fix memory leak in openssl_sign() when passing invalid algorithm.

ext/opcache/jit/zend_jit.c

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3033,6 +3033,10 @@ void ZEND_FASTCALL zend_jit_hot_func(zend_execute_data *execute_data, const zend
30333033
op_array->opcodes[i].handler = jit_extension->orig_handlers[i];
30343034
}
30353035

3036+
#ifdef HAVE_GCC_GLOBAL_REGS
3037+
EX(opline) = opline;
3038+
#endif
3039+
30363040
/* perform real JIT for this function */
30373041
zend_real_jit_func(op_array, NULL, opline, ZEND_JIT_ON_HOT_COUNTERS);
30383042
} zend_catch {

0 commit comments

Comments
 (0)