JDK-8311163 : Parallel: Improve large object handling during evacuation
  • Type: Enhancement
  • Component: hotspot
  • Sub-Component: gc
  • Affected Version: 22
  • Priority: P4
  • Status: Resolved
  • Resolution: Fixed
  • Submitted: 2023-06-30
  • Updated: 2024-10-01
  • Resolved: 2024-08-31
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.
JDK 24
24 b14Fixed
Related Reports
Blocks :  
Relates :  
Relates :  
Relates :  
Relates :  
Relates :  
Relates :  
Relates :  
Description
ParallelGC splits large objarrays into partial subtasks, a leading chunk and the remaining tail task (PartialArrayScanTask), with the tail pushed on the mark stack.  When a tail task is encountered, it is similarly split.

As discussed in JDK-8253237, there are some problems with this mechanism, as it may not provide as much parallelism as one might hope.  That change introduced some new infrastructure (PartialArrayTaskStepper) to manage splitting in a way that provides more opportunities for parallelism without flooding the mark stack.  Only G1 currently uses this mechanism.  ParallelGC should be enhanced to also use it.

Comments
Changeset: 4f071ce0 Branch: master Author: Kim Barrett <kbarrett@openjdk.org> Date: 2024-08-31 01:13:07 +0000 URL: https://git.openjdk.org/jdk/commit/4f071ce074b934d5610e213d348cff8326f1499d
31-08-2024

A pull request was submitted for review. Branch: master URL: https://git.openjdk.org/jdk/pull/20720 Date: 2024-08-27 00:16:10 +0000
27-08-2024

JDK-8337709 changed the API around PartialArrayTaskStepper.
13-08-2024

Once this has been fixed the workaround for JDK-8309960 should be re-evaluated and hopefully removed.
30-06-2023