Integrated: 8263002: Remove CDS MiscCode region
Ioi Lam
iklam at openjdk.java.net
Wed Mar 10 06:11:10 UTC 2021
On Sun, 7 Mar 2021 06:26:00 GMT, Ioi Lam <iklam at openjdk.org> wrote:
> The CDS MiscCode region is used for:
> (a) C++ vtables
> (b) Method trampolines
>
> (a) can be moved to the ReadWrite region
> (b) were introduced in JDK-8145221 so we can delay writing into Methods. This was intended to improve copy-on-write sharing to reduce memory footprint. However, this hasn't been shown to have any significant effect (footprint of metadata usually is much smaller than the Java heap), and introduces a lot of complexity in the HotSpot code.
>
> Removing (b) will make it easier to implement JDK-8026297 (Generating AdapterHandlerEntry during CDS dump), which will further improve start-up time.
>
> ============
> Other benefits of removing the MiscCode region:
>
> - We no longer have a read/write/executable region. This address the concern in JDK-8262922.
> - We can enable CDS on macOS/AArch64, which does not allow read/write/executable regions. (JDK-8253795)
This pull request has now been integrated.
Changeset: d8a9c3ca
Author: Ioi Lam <iklam at openjdk.org>
URL: https://git.openjdk.java.net/jdk/commit/d8a9c3ca
Stats: 658 lines in 39 files changed: 17 ins; 542 del; 99 mod
8263002: Remove CDS MiscCode region
Reviewed-by: coleenp, dholmes
-------------
PR: https://git.openjdk.java.net/jdk/pull/2861
More information about the hotspot-dev
mailing list