United StatesChange Country, Oracle Worldwide Web Sites Communities I am a... I want to...
Bug ID: JDK-6850846 G1: extend G1 marking verification
JDK-6850846 : G1: extend G1 marking verification

Details
Type:
Enhancement
Submit Date:
2009-06-12
Status:
Resolved
Updated Date:
2010-05-05
Project Name:
JDK
Resolved Date:
2009-06-30
Component:
hotspot
OS:
generic
Sub-Component:
gc
CPU:
generic
Priority:
P4
Resolution:
Fixed
Affected Versions:
hs16,7
Fixed Versions:
hs16 (b05)

Related Reports
Backport:
Backport:
Relates:

Sub Tasks

Description
G1 uses two different versions of the marking information:

- "prev" is the last one completed (which is guaranteed to be consistent and complete, i.e., no live object should be pointing to a dead object, but maybe no up-to-date) and
- "next" is the marking information that is being computed next (and which might be incomplete, as we might be half-way through completing it)

Heap verification in G1 also checks the consistency of the "prev" marking information (given that it's the only marking information that we can trust to be complete). However, we would also like to check the consistency of the "next" marking information at the only place where we can, which is the end of the remark phase. 

This CR proposes to change the G1 verification code to either use the "prev" or "next" marking info, depending on what the caller needs.

Additionally, it adds verification of the "next" marking info at the end of the remark (conditional on the VerifyDuringGC flag) and removes the #ifndef PRODUCT from the verification at the end of cleanup (it's good to be able to do heap / marking verification in a product build).

                                    

Comments
EVALUATION

See Description.
                                     
2009-06-12
EVALUATION

http://hg.openjdk.java.net/jdk7/hotspot-gc/hotspot/rev/830ca2573896
                                     
2009-06-19



Hardware and Software, Engineered to Work Together