Skip to content

Commit ef5844a

Browse files
authored
Use the immutable twin of temporary op_array (#16861)
1 parent 27a9965 commit ef5844a

File tree

1 file changed

+5
-0
lines changed

1 file changed

+5
-0
lines changed

ext/opcache/jit/zend_jit_trace.c

+5
Original file line numberDiff line numberDiff line change
@@ -7167,6 +7167,11 @@ static zend_jit_trace_stop zend_jit_compile_root_trace(zend_jit_trace_rec *trace
71677167
t->polymorphism = 0;
71687168
t->jmp_table_size = 0;
71697169
t->op_array = trace_buffer[0].op_array;
7170+
if (!(t->op_array->fn_flags & ZEND_ACC_IMMUTABLE)) {
7171+
zend_jit_op_array_trace_extension *jit_extension =
7172+
(zend_jit_op_array_trace_extension*)ZEND_FUNC_INFO(t->op_array);
7173+
t->op_array = jit_extension->op_array;
7174+
}
71707175
t->opline = trace_buffer[1].opline;
71717176
t->exit_info = exit_info;
71727177
t->stack_map = NULL;

0 commit comments

Comments
 (0)