RFR(S): 7143490: G1: Remove HeapRegion::_top_at_conc_mark_count

Bengt Rutisson bengt.rutisson at oracle.com
Tue Apr 3 13:04:28 UTC 2012


Hi John,

I think your changes look good.

Just a question for my understanding. You say "The value of 
_top_at_conc_mark_count is now the same as NTAMS". You are probably 
correct, but in HeapRegion::note_self_forwarding_removal_start() the old 
code was:

  if (during_initial_mark) {
     ...
     _next_top_at_mark_start = top();
     set_top_at_conc_mark_count(bottom());
     ...

Here we set NTAMS and _top_at_conc_mark_count() to different values. I 
assume that this did not have any effect, but can you explain why?

Thanks,
Bengt

On 2012-04-03 01:45, John Cuthbertson wrote:
> Hi Everyone,
>
> Here's my contribution to the cleanup week.
>
> Can I have a couple of volunteers review the changes for this CR? The 
> webrev can be found at: 
> http://cr.openjdk.java.net/~johnc/7143490/webrev.0/
>
> Summary:
> As a result of Tony's recent marking changes (associated with the 
> marking of survivors) the field HeapRegion::_top_at_conc_mark_count is 
> no longer required. The value of _top_at_conc_mark_count is now the 
> same as NTAMS. Additionally I simplified the verification code that 
> sets the bits in the live card bitmap and refactored the closures that 
> finalize and verify the liveness counting data to avoid code duplication.
>
> Testing: I inserted a 500ms sleep in the marking cycle between the 
> remark and cleanup pauses to ensure that at least one evacuation pause 
> was seen during this phase, and ran the GC test suite with several 
> marking thresholds (2, 5, and 10%) and verification enabled.
>
> Thanks,
>
> JohnC




More information about the hotspot-gc-dev mailing list