United StatesChange Country, Oracle Worldwide Web Sites Communities I am a... I want to...
Bug ID: JDK-8005032 G1: Cleanup serial reference processing closures in concurrent marking
JDK-8005032 : G1: Cleanup serial reference processing closures in concurrent marking

Details
Type:
Enhancement
Submit Date:
2012-12-13
Status:
Resolved
Updated Date:
2013-05-14
Project Name:
JDK
Resolved Date:
2013-02-06
Component:
hotspot
OS:
Sub-Component:
gc
CPU:
Priority:
P4
Resolution:
Fixed
Affected Versions:
Fixed Versions:
hs25 (b18)

Related Reports
Backport:
Backport:
Backport:
Relates:

Sub Tasks

Description
The serial reference processing closures in concurrent marking operate directly upon the global marking stack. These closures should be cleaned up or improved:

* We should use instances on the parallel reference processing closures in the serial code. The worker id to use is 0.
* If we choose to keep the serial specific closures, they should be changed to observe the G1RefProcDrainInterval flag.

Since reference processing takes place in the remark pause - we would like to avoid marking stack overflows this late in the marking cycle.

Either solution will reduce the likelihood of seeing a stack overflow during reference processing.
                                    

Comments
Please see description.
                                     
2012-12-13
URL:   http://hg.openjdk.java.net/hsx/hotspot-gc/hotspot/rev/f90b9bceb8e5
User:  johnc
Date:  2013-02-06 08:45:05 +0000

                                     
2013-02-06
URL:   http://hg.openjdk.java.net/hsx/hsx25/hotspot/rev/f90b9bceb8e5
User:  amurillo
Date:  2013-02-08 19:17:42 +0000

                                     
2013-02-08



Hardware and Software, Engineered to Work Together