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