RFR: 8365256: RelocIterator should use indexes instead of pointers
Vladimir Kozlov
kvn at openjdk.org
Mon Aug 11 16:19:14 UTC 2025
On Thu, 31 Jul 2025 06:17:24 GMT, Johan Sjölen <jsjolen at openjdk.org> wrote:
> Hi,
>
> This PR replaces the `current` and `end` pointers with a `base` pointer alongside a `current` index and a `len`. This allows us to have `-1` as the initial value for current, while retaining `nullptr` as the 'dead' value for `_mutable_data`.
>
> Performance testing shows no difference/performance improvements on DaCapo Linux x64. I don't think that these are actual improvements, but at least there are no clear regressions.
>
> Testing: GHA
src/hotspot/share/code/relocInfo.hpp line 567:
> 565: relocInfo* _base; // base pointer into relocInfo array
> 566: int _current; // current index
> 567: int _len; // length
Yes, this keep the size the same. But you have opportunity to reduce it by moving `_data` before `_databuf` field.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/26569#discussion_r2267306514
More information about the hotspot-compiler-dev
mailing list