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