RFR: 8324751: C2 SuperWord: Aliasing Analysis runtime check [v11]

Emanuel Peter epeter at openjdk.org
Mon Aug 18 06:38:26 UTC 2025


On Sun, 17 Aug 2025 21:52:41 GMT, Vladimir Kozlov <kvn at openjdk.org> wrote:

>> src/hotspot/share/opto/mempointer.hpp line 403:
>> 
>>> 401: //   Given:
>>> 402: //     (C0) pointer p and its MemPointer mp, which is constructed with safe decompositions.
>>> 403: //     (C1) a summand "scale_v * v" that occurs in mp.
>> 
>> What is `v` here? And related `scale_v`?  In previous text you used `scale_i * variable_i`. Is it the same.
>
> Based on new comment at line 44 this is induction variable (iv). Consider explaining that `v` is induction variable to avoid confusion.  I first thought it represents all kind of variables used in index expressions.

I added some additional comments that should make it a bit more clear. The thing is that I don't want to use `iv` here already, because `MemPointer` can be used outside loops as well (e.g. `MergeStores`). Only `VPointer` have the concept of loops and `iv`. I try to keep those separated clearly. But I added a comment now that points to the application in `VPointer`.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/24278#discussion_r2281423700


More information about the hotspot-compiler-dev mailing list