RFR: 8338912: CDS: Segmented roots array [v5]
Aleksey Shipilev
shade at openjdk.org
Mon Sep 9 17:56:07 UTC 2024
On Mon, 9 Sep 2024 12:04:53 GMT, Aleksey Shipilev <shade at openjdk.org> wrote:
>> Attempt to drop the min region alignment with [JDK-8337828](https://bugs.openjdk.org/browse/JDK-8337828) highlights an interesting trouble. The roots array we are creating during the dump time can easily be larger than the min region alignment. We are currently "lucky" none of our tests hit this limit. AFAICS, about 128K classes would be enough to hit the current 1M min region alignment. Dropping the min region alignment to 256K starts to fail the test with "only" 30K classes, [JDK-8338856](https://bugs.openjdk.org/browse/JDK-8338856).
>>
>> We can slice that heap root array, and thus untie the roots count from the min region alignment. I am submitting something that works, but this might not be the final form for it. I would like @iklam to poke holes in this approach :)
>>
>> Additional testing:
>> - [x] macos-aarch64-server-fastdebug, `runtime/cds`
>> - [ ] linux-aarch64-server-fastdebug, `all`
>> - [ ] linux-x86_64-server-fastdebug, `all`
>
> Aleksey Shipilev has updated the pull request incrementally with two additional commits since the last revision:
>
> - Replace divisions with power-of-two math
> - Renames, adjustments after review
I don't quite understand the Windows `DeterministicDump` failure. Is there anything specific about CDS and Windows that makes it only fail there?
-------------
PR Comment: https://git.openjdk.org/jdk/pull/20858#issuecomment-2338730555
More information about the hotspot-runtime-dev
mailing list