RFR: 8329417: Remove objects with no pointers from relocation bitmap [v2]

Calvin Cheung ccheung at openjdk.org
Fri Apr 19 16:49:56 UTC 2024


On Thu, 18 Apr 2024 20:36:13 GMT, Matias Saavedra Silva <matsaave at openjdk.org> wrote:

>> Both the read-write and read-only regions of the relocation bitmap contain metaspace objects with no pointers which do not need to be relocated. By sorting the maps, objects with no pointers can bubble to the top and the bitmap can trim the "leading zeros" thus reducing the archive size and reducing the number of pages. Verified with tier 1-5 tests.
>
> Matias Saavedra Silva has updated the pull request incrementally with one additional commit since the last revision:
> 
>   Reverted assert message change

Looks good. I've a minor suggestion.

src/hotspot/share/cds/archiveBuilder.hpp line 170:

> 168:     bool read_only()      const    { return _read_only;    }
> 169:     bool has_embedded_pointer() const { return _has_embedded_pointer; }
> 170:     void found_embedded_pointer()  { _has_embedded_pointer = true; }

I'd suggest changing the function name to `set_has_embedded_pointer`.
We already have similar name (`set_has_native_pointers`) in heapShared.hpp.

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

PR Review: https://git.openjdk.org/jdk/pull/18803#pullrequestreview-2011917147
PR Review Comment: https://git.openjdk.org/jdk/pull/18803#discussion_r1572651696


More information about the hotspot-runtime-dev mailing list