Java Solaris Communities Sun Store Join SDN My Profile Why Join?
 
Bug Database
Bug Detail
Quick Lists
Top 25 Bugs
Top 25 RFE's
Recently Closed Bugs
Printable Page Printable Page


Bug Database
Bug ID: 6724367
Votes 0
Synopsis par compact could clear less young gen summary data
Category hotspot:garbage_collector
Reported Against
Release Fixed hs14(b03)
State 10-Fix Delivered, request for enhancement
Priority: 3-Medium
Related Bugs
Submit Date 10-JUL-2008
Description
The par compaction summary phase makes two passes over each Space in the GC heap.  The first pass updates the data as if each Space were to be compacted completely (i.e., leaving no dead space) into itself.  This is used to determine how much data is live in the Space and allows a dense prefix to be computed where applicable (the old gen and the perm gen).  The second pass then computes the final destinations.  Live data from the young gen Spaces is normally copied to the old gen, assuming it will fit.  For young gen spaces that fit into the old gen, certain fields of the summary data must be cleared.  More data than necessary is being cleared.
Posted Date : 2008-07-10 02:23:37.0
Work Around
N/A
Evaluation
The problem occurs only for Spaces in the young gen that are non-empty at the start of a full gc.  Since -XX:+ScavengeBeforeFullGC is enabled by default, full GCs occur after a scavenge which normally empties eden.  So 95% of the time, only To space contains data while Eden and From space are empty.

For each non-empty space in the young gen, the summary phase currently clears data from space->bottom() to space->top() (the top() value before the start of the full gc).  However, it is only necessary to clear from space->bottom() to the the "new top" for the space, where "new top" refers to the value computed by the first pass of the summary phase (which computes values to compact the space completely into itself).  The "new top" is usually significantly less than space->top(), so less clearing can be done.
Posted Date : 2008-07-10 02:23:37.0

http://hg.openjdk.java.net/jdk7/hotspot-gc/hotspot/rev/2214b226b7f0
Posted Date : 2008-07-12 02:06:25.0
Comments
  
  Include a link with my name & email   


PLEASE NOTE: JDK6 is formerly known as Project Mustang