Skip to content

Commit

Permalink
Correct assertion
Browse files Browse the repository at this point in the history
  • Loading branch information
dstogov committed Jul 27, 2020
1 parent fbb18e4 commit ee00f51
Showing 1 changed file with 9 additions and 1 deletion.
10 changes: 9 additions & 1 deletion ext/opcache/jit/zend_jit_trace.c
Original file line number Diff line number Diff line change
Expand Up @@ -743,7 +743,15 @@ static int zend_jit_trace_restrict_ssa_var_info(const zend_op_array *op_array, c
tssa->var_info[ssa_var].type &= info->type;
if (info->ce) {
if (tssa->var_info[ssa_var].ce) {
ZEND_ASSERT(tssa->var_info[ssa_var].ce == info->ce);
if (tssa->var_info[ssa_var].ce != info->ce) {
if (instanceof_function(tssa->var_info[ssa_var].ce, info->ce)) {
/* everything fine */
} else if (instanceof_function(info->ce, tssa->var_info[ssa_var].ce)) {
// TODO: TSSA may miss Pi() functions and corresponding instanceof() constraints ???
} else {
ZEND_UNREACHABLE();
}
}
tssa->var_info[ssa_var].is_instanceof =
tssa->var_info[ssa_var].is_instanceof && info->is_instanceof;
} else {
Expand Down

0 comments on commit ee00f51

Please sign in to comment.