RFR: 8371297: C2: assert triggerred in BoolTest::BoolTest

Dean Long dlong at openjdk.org
Wed Nov 5 21:23:04 UTC 2025


On Tue, 4 Nov 2025 22:18:13 GMT, Hamlin Li <mli at openjdk.org> wrote:

> Hi,
> Can you help to review this patch?
> 
> Not sure how this one slipped in (https://github.com/openjdk/jdk/pull/28047/), I think it passed my local test and github CI test at that time.
> Please check https://bugs.openjdk.org/browse/JDK-8371297 for details.
> 
> Thanks!

src/hotspot/share/opto/vtransform.cpp line 1427:

> 1425:   const BoolTest bt(m);
> 1426:   tty->print(" test=%s", m == _test._mask ? "" : "unsigned ");
> 1427:   bt.dump_on(tty);

I was wondering why we pass the raw mask around instead of keeping it encapsulated in a BoolTest object.  Elsewhere I saw code like this: 
`cond->get_con() & (BoolTest::unsigned_compare - 1)`
which seems to be making fragile assumptions about BoolTest internals.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/28141#discussion_r2496215037


More information about the hotspot-compiler-dev mailing list