JDK-8271870 : G1: Add objArray splitting when scanning object with evacuation failure
  • Type: Enhancement
  • Component: hotspot
  • Sub-Component: gc
  • Affected Version: 18
  • Priority: P4
  • Status: Open
  • Resolution: Unresolved
  • Submitted: 2021-08-04
  • Updated: 2024-09-13
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.
Other
tbdUnresolved
Related Reports
Relates :  
Relates :  
Relates :  
Relates :  
Description
During evacuation failure handling G1 does not split object arrays that failed copying for better parallelism like in the regular object copy path.
Comments
With JDK-8337709 this optimzation should now be doable.
13-09-2024

Objects in young gen can be half a region size. Half a region size is 16M (well, 256M soon), ie. up to ~4M (64M) pointers; currently these pointers are scanned by a single thread, without the task stepper - i.e. basically copying that array onto the task queue. That seems inefficient. Note that this is (probably) not easy to do, so let's not make this top priority (and optional) for a first cut.
09-11-2021

Not quite sure whether we need to split an array which failed evacuation.
09-11-2021