RFR: 8324751: C2 SuperWord: Aliasing Analysis runtime check [v8]
Manuel Hässig
mhaessig at openjdk.org
Wed Aug 13 15:52:21 UTC 2025
On Tue, 12 Aug 2025 17:02:11 GMT, Emanuel Peter <epeter at openjdk.org> wrote:
>> And I think there is already some filtering in `canonicalize_raw_summands`:
>>
>> // Keep summands with non-zero scale.
>> if (!scaleI.is_zero() && !scaleL.is_NaN()) {
>> _raw_summands.at_put(pos_put++, MemPointerRawSummand(variable, scaleI, scaleL, int_group));
>> }
>
> Ah, but the real work gets done here, in `MemPointer::make`:
>
> if (raw_summands.length() <= RAW_SUMMANDS_SIZE &&
> summands.length() <= SUMMANDS_SIZE &&
> has_no_NaN_in_con_and_summands(con, summands)) {
> return MemPointer(pointer, raw_summands, summands, con, size NOT_PRODUCT(COMMA trace));
> } else {
> return MemPointer::make_trivial(pointer, size NOT_PRODUCT(COMMA trace));
> }
Makes sense, thank you for the explanation :)
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/24278#discussion_r2273882298
More information about the hotspot-compiler-dev
mailing list