Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8263002

Remove CDS MiscCode region

    XMLWordPrintable

Details

    • b13

    Description

      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)

      Attachments

        Issue Links

          Activity

            People

              iklam Ioi Lam
              iklam Ioi Lam
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: