mirror of
https://github.com/php/php-src.git
synced 2026-04-29 11:13:36 +02:00
Merge branch 'PHP-8.0'
* PHP-8.0: Fixed incorrect invariant guard motion
This commit is contained in:
@@ -3488,7 +3488,9 @@ static const void *zend_jit_trace(zend_jit_trace_rec *trace_buffer, uint32_t par
|
||||
} else if ((info & MAY_BE_GUARD) != 0
|
||||
&& (trace_buffer->stop == ZEND_JIT_TRACE_STOP_LOOP
|
||||
|| trace_buffer->stop == ZEND_JIT_TRACE_STOP_RECURSIVE_CALL
|
||||
|| trace_buffer->stop == ZEND_JIT_TRACE_STOP_RECURSIVE_RET)
|
||||
|| (trace_buffer->stop == ZEND_JIT_TRACE_STOP_RECURSIVE_RET
|
||||
&& (opline-1)->result_type == IS_VAR
|
||||
&& EX_VAR_TO_NUM((opline-1)->result.var) == i))
|
||||
&& (ssa->vars[i].use_chain != -1
|
||||
|| (ssa->vars[i].phi_use_chain
|
||||
&& !(ssa->var_info[ssa->vars[i].phi_use_chain->ssa_var].type & MAY_BE_GUARD)))) {
|
||||
|
||||
Reference in New Issue
Block a user