JDK-8080232 : Eagerly promote objects in nmethod to reduce scanning in CMS
Type:Enhancement
Component:hotspot
Sub-Component:gc
Affected Version:9
Priority:P4
Status:Resolved
Resolution:Withdrawn
Submitted:2015-05-12
Updated:2018-06-21
Resolved:2016-02-17
The Version table provides details related to the release that this issue/RFE will be addressed.
Unresolved : Release in which this issue/RFE will be addressed. Resolved: Release in which this issue/RFE has been resolved. Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.
Implement the optimization equivalent to 7144296 in ParNew for CMS
Comments
Looks like I picked this ticket by mistake. I filed a new ticket for my fix: JDK-8150013.
17-02-2016
We ran into this issue at Twitter. Pruning the scavengable nmethod list after fixing the relocations improves the time it takes walk over this list by three orders of magnitude.
15-02-2016
Priorities are such that this will likely never be fixed as an RFE. If it becomes a customer issue, it can be fixed then.
02-11-2015
If this is not the same RFE as JDK-7145572, please change the title of either (or both) to distinguish them. Right now anyone who sees the titles of these two will think they describe the same issue.
18-05-2015
7145572 is compiler work creates two lists: (1) includes nmethods that contain pointers to the young gen and (2) and those that don't. List (1) gets scanned at young collections and can be trimmed when an nmethods no longer has any pointers into the young gen. Both lists get scanned after a full GC.
This optimization promotes objects pointed to by nmethods so that the nmethod can be moved from list (1) to list (2) so that list (1) can be trimmed.
I don't know why this is not needed for ParallelGC (7145572) so I'm not sure why it is needed for CMS.