JDK 23 |
---|
23 b14Fixed |
Duplicate :
|
|
Relates :
|
|
Relates :
|
|
Relates :
|
|
Relates :
|
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
|