RFR: 8360561: PhaseIdealLoop::create_new_if_for_predicate hits "must be a uct if pattern" assert

Marc Chevalier mchevalier at openjdk.org
Thu Jul 31 11:14:53 UTC 2025


On Tue, 29 Jul 2025 06:55:42 GMT, Marc Chevalier <mchevalier at openjdk.org> wrote:

>> test/hotspot/jtreg/compiler/igvn/CmpDisjointButNonOrderedRanges2.java line 30:
>> 
>>> 28:  *          Comparing such values in such range with != should always be true.
>>> 29:  * @modules java.base/jdk.internal.util
>>> 30:  * @run main/othervm -Xbatch
>> 
>> Since these two new tests use specific JVM options, do these tests needed '@requires vm.flagless' directive.
>
> I'm not very sure how that works, so I'm not sure... But I don't think so, also from looking at other examples with many flags, of a similar kind, without this directive. I think I could use more explanations of how that works in details.

After gathering more info, I think we don't need flagless, and so we should avoid it. The reason is that despite needing some flags to reproduce the crash (at least, reliably), the test should not crash at all, even with more flags. It might become more or less interesting, but it should still not crash. In this meaning, the test is still correct even with more flags, so flagless is not needed. And who knows, maybe sprinkling additional flags on this test will eventually uncover another issue!

-------------

PR Review Comment: https://git.openjdk.org/jdk/pull/26504#discussion_r2241853532


More information about the hotspot-compiler-dev mailing list