Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Account for deopt all vs. deopt on difference
When we are doing a deopt all, the bytecode position is the op we will return to. Thus we need to account for being one past the end of the inline in that case (inclusive), but to *not* do it for a failed guard that is immediately following a depot, otherwise we'll end up wrongly uninlining an inline we were not in. (This may need a further look, as in the worst case <= may also be correct for any post-deopt point, while < is for pre-deopt points, but we don't currently have that info to hand. In any case, the fact that pre-deopt points are now hugely common but before they were really rare is reason enough for this issue to have gone missed before now.)
- Loading branch information