8263227: C2: inconsistent spilling due to dead nodes in exception block #3303
This change eliminates dead multi-nodes created by call-catch cleanup after GCM. Eliminating all dead code created by call-catch cleanup avoids potential issues when splitting the live range of call result values, see the analysis in the bug report for details. This solution is the least invasive of the three alternatives proposed in the bug report (the other two are constraining global code motion and extending live-range splitting).
The change also extends the control-flow graph verification pass to catch similar live-range splitting issues earlier (with
@robcasloz This change now passes all automated pre-integration checks.
After integration, the commit message for the final commit will be:
At the time when this comment was updated there had been 510 new commits pushed to the
As there are no conflicts, your changes will automatically be rebased on top of these commits when integrating. If you prefer to avoid this automatic rebasing, please check the documentation for the /integrate command for further details.
Done, see results in the related discussion (#3303 (comment)).
1 similar comment
@robcasloz Since your change was applied there have been 510 commits pushed to the
Your commit was automatically rebased without conflicts.
Pushed as commit d81b046.