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