[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