RFR: 8323972: C2 compilation fails with assert(!x->as_Loop()->is_loop_nest_inner_loop()) failed: loop was transformed

Roland Westrelin roland at openjdk.org
Mon Mar 18 17:25:30 UTC 2024


On Tue, 12 Mar 2024 17:42:09 GMT, Emanuel Peter <epeter at openjdk.org> wrote:

> Looks reasonable, but these ad-hoc CastII also make me nervous.

I agree with that. Still feels like the most reasonable fix for this particular issue.

> test/hotspot/jtreg/compiler/longcountedloops/TestInaccurateInnerLoopLimit.java line 40:
> 
>> 38: 
>> 39:     public static void test() {
>> 40:         for (long i = 9223372034707292164L; i > 9223372034707292158L; i += -2L) { }
> 
> I'm always amazed at how such simple tests can fail. Is there any way we can improve the test coverage for Long loops?

Fuzzer test cases that call `Objects.checkIndex()` I suppose would possibly catch bugs.

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

PR Comment: https://git.openjdk.org/jdk/pull/17965#issuecomment-2004514402
PR Review Comment: https://git.openjdk.org/jdk/pull/17965#discussion_r1528969620


More information about the hotspot-compiler-dev mailing list