[lworld] RFR: 8311219: [lworld] VM option "InlineFieldMaxFlatSize" cannot work well [v4]

Jatin Bhateja jbhateja at openjdk.org
Thu Sep 7 07:29:05 UTC 2023


On Thu, 7 Sep 2023 06:53:15 GMT, Xiaohong Gong <xgong at openjdk.org> wrote:

>> src/hotspot/share/opto/inlinetypenode.cpp line 147:
>> 
>>> 145:     if (val1->is_InlineType()) {
>>> 146:       if (val2->is_Phi()) {
>>> 147:         val2 = gvn->transform(val2);
>> 
>> Can you also add an assertion check here to ensure val2 is always an InlineTypeNode which was pushed forward through PhiNode. Please add a test case exercising this control flow, if a test already exist then kindly mention it on this PR.
>
> `val2->as_InlineType()` has already contained the assertion. This original code makes test `compiler.valhalla.inlinetypes.TestNullableArrays` crashes with:
> 
> #
> # A fatal error has been detected by the Java Runtime Environment:
> #
> #  Internal Error (/mnt/local/code/valhalla/src/hotspot/share/opto/node.hpp:977), pid=302375, tid=302391
> #  assert(is_InlineType()) failed: invalid node class: Phi
> #
> # JRE version: OpenJDK Runtime Environment (22.0) (fastdebug build 22-internal-git-a477e90b5)
> # Java VM: OpenJDK 64-Bit Server VM (fastdebug 22-internal-git-a477e90b5, mixed mode, tiered, compressed oops, compressed class ptrs, g1 gc, linux-aarch64)
> # Problematic frame:
> # V  [libjvm.so+0xdbeaf8]  Node::as_InlineType() const [clone .part.0]+0x18
> #
> # Core dump will be written. Default location: Core dumps may be processed with "/usr/share/apport/apport -p%p -s%s -c%c -d%d -P%P -u%u -g%g -- %E" (or dumping to /mnt/local/code/jtreg/jtreg-git/build/images/jtreg/jtwork/hotspot/scratch/8/core.302375)
> #
> Unsupported internal testing APIs have been used.
> 
> 
> So I think it can touch this control flow?

Thanks, this should suffice.

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

PR Review Comment: https://git.openjdk.org/valhalla/pull/888#discussion_r1318195753



More information about the valhalla-dev mailing list