RFR: 8293531: C2: some vectorapi tests fail assert "Not monotonic" with flag -XX:TypeProfileLevel=222
Jatin Bhateja
jbhateja at openjdk.org
Tue Oct 11 12:25:45 UTC 2022
Problem occurs in iterative DF analysis during CCP optimization, meet operations drops the speculative types before converging participating lattice values since [include_speculative argument it receives is always set to false ](https://github.com/openjdk/jdk/blob/master/src/hotspot/share/opto/type.hpp#L231)where as [equality check ](https://github.com/openjdk/jdk/blob/master/src/hotspot/share/opto/phaseX.cpp#L1751) in the failing assertion is performed against original type still carrying the speculative type.
To fix this, type comparison in the assertion should also be done after stripping the speculative type, with this change intermittent assertion failures in several vector API tests reported in the bug report are no longer seen.
Kindly review and share your feedback.
Best Regards,
Jatin
-------------
Commit messages:
- 8293531: C2: some vectorapi tests fail assert "Not monotonic" with flag -XX:TypeProfileLevel=222
Changes: https://git.openjdk.org/jdk/pull/10648/files
Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=10648&range=00
Issue: https://bugs.openjdk.org/browse/JDK-8293531
Stats: 1 line in 1 file changed: 0 ins; 0 del; 1 mod
Patch: https://git.openjdk.org/jdk/pull/10648.diff
Fetch: git fetch https://git.openjdk.org/jdk pull/10648/head:pull/10648
PR: https://git.openjdk.org/jdk/pull/10648
More information about the hotspot-compiler-dev
mailing list