-
Notifications
You must be signed in to change notification settings - Fork 172
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Fix bad guard assumptions around OSR points.
Prior to this, it was possible that a condition checked before an OSR point would always hold after it. This was not a good assumption, as at the point OSR happens the current value in the interpreted code may not have met the guard. To fix this, first ensure that the osrpoint instruction starts a new basic block (this was typically the case anyway due to its placement). Then make this a successor of the entry point, which is what we do for excieption handlers also. The invalidation of guards will then fall naturally out of fact merging at PHI nodes.
- Loading branch information
Showing
1 changed file
with
24 additions
and
4 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters