JDK-8067655 : Clean up G1 remembered set oop iteration
  • Type: Enhancement
  • Component: hotspot
  • Sub-Component: gc
  • Affected Version: 9
  • Priority: P4
  • Status: Resolved
  • Resolution: Fixed
  • Submitted: 2014-12-16
  • Updated: 2015-10-20
  • Resolved: 2014-12-18
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.

To download the current JDK release, click here.
8u45Fixed 9 b45Fixed
G1's primary closure for iterating over oops to find references into the collection set is registered with the de-virtualization macros (oop_oop_iterate_nv).
This functionality depends on the static types being propagated through all the layers, something which is not done currently.
Suggested fix is to properly propagate the G1ParPushHeapRSClosure type all the way down to the oop_Iterate call and doing some drive-by cleanups to facilitate this change.