Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
More precise handling of reads of deopt-marked ins
Previously, we would consider reads by an instruction that might deopt post-optimization as if they were being read after that deoptimization, and so could preserve write instructions for the sake of deopt when there was no need to do so. With this change, we will not. This allows a small number of additional instruction deletions. For example, the post-optimized bytecode for a "read a million line file" benchmark is 32 bytes smaller after this, which amounts to a little less code to JIT and a little less work every iteration. According to callgrind, for that benchmark - and with JIT enabled - it's worth 15 million CPU insturctions saved, or 15 per iteration of the loop.
- Loading branch information