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