During the investigation of JDK-8153843 we noticed that the code for printing gc+humongous logging accesses the klass of the objects that are reclaimed via the size() method during eager reclaim.
At the moment this is not critical as eager reclaim only over selects humongous objects of typeArray kind, which is never unloaded.
However this should be fixed in preparation for more extensive reclamation.
One idea would be to only access obj->size() in the log message if it is safe to do so, otherwise print an estimate (using regions), or just the number of regions.
At the moment this is not critical as eager reclaim only over selects humongous objects of typeArray kind, which is never unloaded.
However this should be fixed in preparation for more extensive reclamation.
One idea would be to only access obj->size() in the log message if it is safe to do so, otherwise print an estimate (using regions), or just the number of regions.
- relates to
-
JDK-8153843 G1CardLiveDataHelper incorrectly sets next_live_bytes on dead humongous regions
-
- Resolved
-
-
JDK-8177704 Regression in SPECjvm2008.sparse-large because of changes to marking cycle in JDK-8017744
-
- Closed
-