RFR: 8250989: Consolidate buffer allocation code for CDS static/dynamic dumping [v3]

Coleen Phillimore coleenp at openjdk.java.net
Sat Feb 6 14:41:54 UTC 2021


On Sat, 6 Feb 2021 07:42:13 GMT, Ioi Lam <iklam at openjdk.org> wrote:

>> Before this PR, when a static CDS archive is dumped, we would unconditionally allocate a 4GB ReservedSpace and use that as the buffer for writing the archive content. We usually don't need such a big ReservedSpace. this also unnecessarily complicates Metaspace::global_initialize().
>> 
>> After this PR, both we first load all the classes and then allocate a buffer with an appropriate size.
>> 
>> I also simplified the pointer relocation code that prepares the archive to be mapped at the "requested location" (usually 0x800000000), and improved the comments.
>> 
>> We used to have lots of special cases for adjusting pointers during dynamic dump. All of those are removed.
>> 
>> Reviewers, please start with
>> - Header comments in archiveBuilder.hpp that describe the overall process of archive dumping
>> - `MetaspaceShared::initialize_for_static_dump()`
>> - `ArchiveBuilder::reserve_buffer()`
>> - Comments around `RelocateBufferToRequested` in archiveBuilder.cpp
>
> Ioi Lam 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 eight additional commits since the last revision:
> 
>  - @coleenp and @tstuefe comments
>  - Merge branch 'master' into 8250989-consolidate-dump-buffer-alloc
>  - @calvinccheung and @tstuefe comments
>  - fixed whitespace
>  - clean up and comments
>  - move remaining functions to archiveBuilder.cpp
>  - renamed "default" to "requested"
>  - started

src/hotspot/share/memory/archiveBuilder.hpp line 353:

> 351: 
> 352:   static ArchiveBuilder* current() {
> 353:     assert_is_vm_thread();

Ok, thank you!

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

PR: https://git.openjdk.java.net/jdk/pull/2296


More information about the hotspot-runtime-dev mailing list