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

Reorder CDS archived heap to speed up relocation

    XMLWordPrintable

Details

    • Enhancement
    • Resolution: Fixed
    • P4
    • 23
    • 16
    • hotspot
    • b14

    Description

      Many of the objects in the CDS archive heap have no non-null oop fields. (E.g., type arrays, or an object whose oop fields are all null).

      With the attached patch, we can see that more than 60% of the spaces used by the archived heap don't need to be marked by the oopmap.

      We should reorder the archived heap to segregate the objects that don't need marking. This will save space in the archive and improve start-up time (see also JDK-8251322)

      calculate_oopmap: objects = 15262 (507904 bytes, 332752 bytes don't need marking), embedded oops = 8408, nulls = 54
      Oopmap = 15872 bytes

      calculate_oopmap: objects = 4590 (335872 bytes, 178120 bytes don't need marking), embedded oops = 46487, nulls = 29019
      Oopmap = 10496 bytes

      (332752 + 178120) / (507904 + 335872.0) = 0.6054592688106796

      Attachments

        Issue Links

          Activity

            People

              matsaave Matias Saavedra Silva
              iklam Ioi Lam
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: