On Thu, 9 May 2024 18:31:24 GMT, Matias Saavedra Silva <matsa...@openjdk.org> 
wrote:

>> The beginning of the RW region contains pointers to c++ vtables which are 
>> always located at a fixed offset from the shared base address at runtime. 
>> This offset can be calculated at dumptime and stored with the read-only 
>> tables at the top of the RO region. As a further improvement, all the 
>> pointers to RO tables are replaced with offsets as well.
>> 
>> These changes will reduce the number of pointers in the RW and RO regions 
>> and will allow for the relocation bitmap size optimizations to be more 
>> effective. Verified with tier 1-5 tests.
>
> Matias Saavedra Silva has updated the pull request with a new target base due 
> to a merge or a rebase. The incremental webrev excludes the unrelated changes 
> brought in by the merge/rebase. The pull request contains 12 additional 
> commits since the last revision:
> 
>  - Merge branch 'master' into pointer_to_offset_8329418
>  - Ioi comments
>  - Chris comments and cleanup
>  - Merge branch 'master' into pointer_to_offset_8329418
>  - Cleanup
>  - Corrected SA
>  - Editing SA
>  - Fixed dynamic dumping
>  - Now works with -Xshare:on
>  - Adjusted serialization
>  - ... and 2 more: https://git.openjdk.org/jdk/compare/c6bab5bc...11f39483

LGTM. Just one small nit.

src/hotspot/share/cds/serializeClosure.hpp line 52:

> 50: 
> 51:   // Iterate on the pointers from p[0] through p[num_pointers-1]
> 52:   void do_ptrs(u_char* start, size_t size) {

I think it will be more consistent if we use the same `void** p` parameter as 
in `do_ptr()`. The `u_char*` here is a historical oddity and should be fixed.

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

Marked as reviewed by iklam (Reviewer).

PR Review: https://git.openjdk.org/jdk/pull/19107#pullrequestreview-2048708441
PR Review Comment: https://git.openjdk.org/jdk/pull/19107#discussion_r1595908706

Reply via email to