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

Reorder CDS archived heap to speed up relocation

XMLWordPrintable

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

      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

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

              Created:
              Updated:
              Resolved: