RFR: JDK-8330565 : C2: Multiple crashes with CTW after JDK-8316991 [v2]

Tobias Hartmann thartmann at openjdk.org
Wed May 15 17:33:04 UTC 2024


On Wed, 15 May 2024 04:11:36 GMT, Cesar Soares Lucas <cslucas at openjdk.org> wrote:

>> The `# assert(false) failed: Bad graph detected in build_loop_late` failure was caused because a string concatenation optimization using [this method](https://github.com/openjdk/jdk/blob/819f3d6fc70ff6fe54ac5f9033c17c3dd4326aa5/src/hotspot/share/opto/graphKit.cpp#L4115) adds AddP and LoadN nodes to IR graph as NotNull _and_ because RAM was not "nullyfing" phis merging nullable pointers. I was only able to reproduce this problem using a classfile/jar compiled using an "old" version of JDK.. because newer version use InvokeDynamic to do string concatenation.
>> 
>> Tested with JTREG tier1-4 on Linux x86_64 & ARM64.
>
> Cesar Soares Lucas has updated the pull request incrementally with one additional commit since the last revision:
> 
>   Refactor split_castpp_load_through_phi

Looks good to me too. I submitted testing.

test/hotspot/jtreg/compiler/c2/TestReduceAllocationAndNullableLoads.java line 33:

> 31:  * @run main/othervm -XX:CompileCommand=compileonly,*TestReduceAllocationAndNullableLoads*::*
> 32:  *                   -XX:CompileCommand=dontinline,*TestReduceAllocationAndNullableLoads*::*
> 33:  *                   -XX:-TieredCompilation -Xbatch -Xcomp -server

Suggestion:

 *                   -XX:-TieredCompilation -Xcomp -server


`-Xcomp` implies `-Xbatch`

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

Marked as reviewed by thartmann (Reviewer).

PR Review: https://git.openjdk.org/jdk/pull/19147#pullrequestreview-2058619005
PR Review Comment: https://git.openjdk.org/jdk/pull/19147#discussion_r1602009075


More information about the hotspot-compiler-dev mailing list