Skip to content

Commit

Permalink
Fix unbalanced NEW call_level in JIT
Browse files Browse the repository at this point in the history
For NEW followed by DO_FCALL, we handle both together and skip
over the DO_FCALL, which means that the call_level for it will
not be decremented. Do so explicitly instead.
  • Loading branch information
nikic committed Jul 13, 2021
1 parent 2cac73d commit d550c84
Showing 1 changed file with 3 additions and 0 deletions.
3 changes: 3 additions & 0 deletions ext/opcache/jit/zend_jit.c
Original file line number Diff line number Diff line change
Expand Up @@ -4034,6 +4034,9 @@ static int zend_jit(const zend_op_array *op_array, zend_ssa *ssa, const zend_op
zend_jit_do_fcall(&dasm_state, next_opline, op_array, ssa, call_level, b + 1, NULL);
}
}

/* We skip over the DO_FCALL, so decrement call_level ourselves. */
call_level--;
}
break;
default:
Expand Down

0 comments on commit d550c84

Please sign in to comment.