RFR: 8371964: C2 compilation asserts with "Unexpected load/store size" [v2]

Christian Hagedorn chagedorn at openjdk.org
Thu Nov 20 13:03:51 UTC 2025


On Thu, 20 Nov 2025 10:18:40 GMT, Quan Anh Mai <qamai at openjdk.org> wrote:

>> 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?

Thanks for the update! If it's a short running test/config, then I think it would be good to have this extra config to cover the changes of this patch.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/28410#discussion_r2545981102


More information about the hotspot-compiler-dev mailing list