United StatesChange Country, Oracle Worldwide Web Sites Communities I am a... I want to...
Bug ID: JDK-6989448 G1: refactor and simplify G1ParScanThreadState
JDK-6989448 : G1: refactor and simplify G1ParScanThreadState

Details
Type:
Enhancement
Submit Date:
2010-10-04
Status:
Closed
Updated Date:
2011-04-20
Project Name:
JDK
Resolved Date:
2011-04-20
Component:
hotspot
OS:
generic
Sub-Component:
gc
CPU:
generic
Priority:
P4
Resolution:
Fixed
Affected Versions:
hs20
Fixed Versions:
hs20 (b02)

Related Reports
Backport:
Backport:

Sub Tasks

Description
The G1ParScanThreadState code in g1CollectedHeap.* contains some replicated asserts in push_on_queue(), pop_from_queue(), trim_queue(), etc., that should be factored out and made consistent.  In addition, the changes for 6966222 enable trim_queue() to be significantly simplified.

                                    

Comments
EVALUATION

Coalesce the asserts and verification code from push_on_queue(), pop_from_queue(), pop_from_overflow_queue() and trim_queue() into debug-only methods verify_ref() and verify_task().

Simplify trim_queue() by adding a method deal_with_reference(StarTask ref) and using methods from OverflowTaskQueue.

Clean up termination timing in G1ParEvacuateFollowersClosure::do_void().

Remove refs_to_scan() and overflowed_refs_to_scan(); use OverflowTaskQueue::is_empty() instead.
                                     
2010-10-04
EVALUATION

http://hg.openjdk.java.net/jdk7/hotspot-gc/hotspot/rev/b14ec34b1e07
                                     
2010-10-12
SUGGESTED FIX

Attached as 6989448.patch.zip.
                                     
2010-10-12
EVALUATION

http://hg.openjdk.java.net/jdk7/build/hotspot/rev/b14ec34b1e07
                                     
2010-12-04



Hardware and Software, Engineered to Work Together