RFR: 8274145: C2: Incorrect computation after JDK-8269752
Roland Westrelin
roland at openjdk.java.net
Mon Sep 27 09:27:29 UTC 2021
The bug happens because an If node that follows a CountedLoop is
replaced by the CountedLoopEnd node of the main loop. Further
unrolling happens after the If is replaced which causes the condition
of the CountedLoopEnd node to change. This is made possible by
JDK-8269752. The fix I propose is to detect that corner case and
prevent the If to be replaced in that case.
-------------
Commit messages:
- fix & test
Changes: https://git.openjdk.java.net/jdk/pull/5712/files
Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=5712&range=00
Issue: https://bugs.openjdk.java.net/browse/JDK-8274145
Stats: 149 lines in 3 files changed: 148 ins; 0 del; 1 mod
Patch: https://git.openjdk.java.net/jdk/pull/5712.diff
Fetch: git fetch https://git.openjdk.java.net/jdk pull/5712/head:pull/5712
PR: https://git.openjdk.java.net/jdk/pull/5712
More information about the hotspot-compiler-dev
mailing list