RFR: 8324751: C2 SuperWord: Aliasing Analysis runtime check [v8]
Emanuel Peter
epeter at openjdk.org
Tue Aug 12 16:55:20 UTC 2025
On Mon, 11 Aug 2025 08:16:03 GMT, Manuel Hässig <mhaessig at openjdk.org> wrote:
>> Emanuel Peter has updated the pull request incrementally with one additional commit since the last revision:
>>
>> use Scenarios
>
> src/hotspot/share/opto/mempointer.cpp line 85:
>
>> 83: }
>> 84: // Bail out if scale is NaN.
>> 85: if (scale.is_NaN()) {
>
> If I understand correctly, then a summand cannot be NaN anymore? Do you still bail out somewhere in raw summands if you encounter NaN?
Let me try to find an answer here...
At least there is an assert in the constructor of `MemPointer`:
for (int i = 0; i < summands.length(); i++) {
const MemPointerSummand& s = summands.at(i);
assert(s.variable() != nullptr, "variable cannot be null");
assert(!s.scale().is_NaN(), "non-NaN scale");
}
for (int i = 0; i < raw_summands.length(); i++) {
const MemPointerRawSummand& s = raw_summands.at(i);
assert(!s.scaleI().is_NaN(), "non-NaN scale");
assert(!s.scaleL().is_NaN(), "non-NaN scale");
}
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/24278#discussion_r2270554176
More information about the hotspot-compiler-dev
mailing list