RFR: 8376125: Out of memory in the CDS archive error with lot of classes [v9]

Ioi Lam iklam at openjdk.org
Wed Feb 18 09:05:11 UTC 2026


On Tue, 17 Feb 2026 21:21:04 GMT, Xue-Lei Andrew Fan <xuelei at openjdk.org> wrote:

>> src/hotspot/share/cds/archiveBuilder.cpp line 327:
>> 
>>> 325:   // On 32-bit: use 256MB + AOT code size due to limited virtual address space.
>>> 326:   size_t buffer_size = LP64_ONLY(AOTCompressedPointers::MaxMetadataOffsetBytes)
>>> 327:                        NOT_LP64(256 * M + AOTCodeCache::max_aot_code_size());
>> 
>> When `CompactObjectHeaders` are enabled, we should reserve a smaller size to avoid assertion.
>
> The AOTCompressedPointers::MaxMetadataOffsetBytes now is set to 3.5GB.  I think the size is OK if CompactObjectHeaders is enabled.

I see. I think we should also mention this in aotCompressedPointers.hpp:


// ...to address up to ~32GB on 64-bit platforms. We currently limit the MaxMetadataOffsetBytes
// to about 3.5 GB to be compatible with +CompactObjectHeaders.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/29494#discussion_r2821155717


More information about the serviceability-dev mailing list