United StatesChange Country, Oracle Worldwide Web Sites Communities I am a... I want to...
Bug ID: JDK-7039627 G1: avoid BOT updates for survivor allocations and dirty survivor regions incrementally
JDK-7039627 : G1: avoid BOT updates for survivor allocations and dirty survivor regions incrementally

Details
Type:
Enhancement
Submit Date:
2011-04-26
Status:
Closed
Updated Date:
2012-01-10
Project Name:
JDK
Resolved Date:
2011-09-30
Component:
hotspot
OS:
generic
Sub-Component:
gc
CPU:
generic
Priority:
P3
Resolution:
Fixed
Affected Versions:
hs21
Fixed Versions:
hs22 (b02)

Related Reports
Backport:
Backport:
Relates:
Relates:

Sub Tasks

Description
Currently when we allocate objects into survivor regions during GC we actually update the BOT even though we don't need to (we'll never have to scan cards on survivor regions so we won't need to do BOT look-ups for those regions). Additionally, we dirty the cards on the survivor regions as an extra pass at the end of the GC.

We should improve the above by:

a) Avoid BOT updates for survivor regions (like we do for mutator allocations), and
b) Dirty the cards on survivor regions incrementally, upon every allocation (like, again, we do for mutator allocations)

We now have a G1AllocRegion abstraction in G1 (pushed as part of 7023151) that we use for mutator allocation regions. We should re-use it for GC allocation regions too given that we currently have a lot of code replication.

                                    

Comments
EVALUATION

See Description.
                                     
2011-04-26
EVALUATION

http://hg.openjdk.java.net/hsx/hotspot-gc/hotspot/rev/f44782f04dd4
                                     
2011-08-12
EVALUATION

http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/rev/f44782f04dd4
                                     
2011-08-17
EVALUATION

http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/f44782f04dd4
                                     
2011-08-17
EVALUATION

See main CR
                                     
2011-09-12



Hardware and Software, Engineered to Work Together