Skip to content

Commit f722512

Browse files
committed
Move invariant type guard out of loop
1 parent 7553c69 commit f722512

File tree

1 file changed

+2
-1
lines changed

1 file changed

+2
-1
lines changed

ext/opcache/jit/zend_jit_trace.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2005,7 +2005,8 @@ static zend_ssa *zend_jit_trace_build_tssa(zend_jit_trace_rec *trace_buffer, uin
20052005
ssa_var_info[phi->ssa_var].type = t & ~MAY_BE_GUARD;
20062006
}
20072007
} else if ((t1 & (MAY_BE_ANY|MAY_BE_UNDEF|MAY_BE_REF)) == (t & (MAY_BE_ANY|MAY_BE_UNDEF|MAY_BE_REF))) {
2008-
if (!(t1 & MAY_BE_GUARD)) {
2008+
if (!(t1 & MAY_BE_GUARD)
2009+
|| is_checked_guard(tssa, ssa_opcodes, phi->sources[1], phi->ssa_var)) {
20092010
ssa_var_info[phi->ssa_var].type = t & ~MAY_BE_GUARD;
20102011
ssa_var_info[phi->sources[0]].type = t | MAY_BE_GUARD;
20112012
}

0 commit comments

Comments
 (0)