RFR: 8371964: C2 compilation asserts with "Unexpected load/store size" [v2]
Quan Anh Mai
qamai at openjdk.org
Thu Nov 20 10:23:14 UTC 2025
On Thu, 20 Nov 2025 09:46:31 GMT, Christian Hagedorn <chagedorn at openjdk.org> wrote:
>> Quan Anh Mai has updated the pull request incrementally with one additional commit since the last revision:
>>
>> assert post_loop_opts
>
> src/hotspot/share/opto/vectornode.cpp line 1152:
>
>> 1150: // Dead node, should go away
>> 1151: return nullptr;
>> 1152: }
>
> Do I understand correctly that this widening/removal of the `CastLL` node is happening on an actual dead path that is going to be removed anyway?
>
> It sounds like this problem is specific to post loop opts IGVN phases where we are allowed to widen `CastII/LL` nodes. Could we assert that this bailout only happens after post loop opts?
>
> Apart from that, I think your fix is reasonable. Were you able to also extract a reproducer?
Done, running `compiler/arraycopy/TestArrayCopyDisjoint.java` with `-XX:+UnlockDiagnosticVMOptions -XX:-TieredCompilation -XX:+StressArrayCopyMacroNode -XX:+StressLCM -XX:+StressGCM -XX:+StressIGVN -XX:+StressCCP -XX:+StressMacroExpansion -XX:+StressMethodHandleLinkerInlining -XX:+StressCompiledExceptionHandlers -XX:VerifyConstraintCasts=1 -XX:+StressLoopPeeling` encounters this issue. Do you think it is necessary to add a separate case for that test, then?
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/28410#discussion_r2545301464
More information about the hotspot-compiler-dev
mailing list