comparison src/share/vm/gc_implementation/g1/heapRegion.cpp @ 1705:2d160770d2e5

6814437: G1: remove the _new_refs array Summary: The per-worker _new_refs array is used to hold references that point into the collection set. It is populated during RSet updating and subsequently processed. In the event of an evacuation failure it processed again to recreate the RSets of regions in the collection set. Remove the per-worker _new_refs array by processing the references directly. Use a DirtyCardQueue to hold the cards containing the references so that the RSets of regions in the collection set can be recreated when handling an evacuation failure. Reviewed-by: iveresov, jmasa, tonyp
author johnc
date Mon, 02 Aug 2010 12:51:43 -0700
parents 5cbac8938c4c
children bb847e31b836
comparison
equal deleted inserted replaced
1704:63f4675ac87d 1705:2d160770d2e5
681 // safely know if this region is young. 681 // safely know if this region is young.
682 if (is_young() && filter_young) { 682 if (is_young() && filter_young) {
683 return NULL; 683 return NULL;
684 } 684 }
685 685
686 assert(!is_young(), "check value of filter_young");
687
686 // We used to use "block_start_careful" here. But we're actually happy 688 // We used to use "block_start_careful" here. But we're actually happy
687 // to update the BOT while we do this... 689 // to update the BOT while we do this...
688 HeapWord* cur = block_start(mr.start()); 690 HeapWord* cur = block_start(mr.start());
689 assert(cur <= mr.start(), "Postcondition"); 691 assert(cur <= mr.start(), "Postcondition");
690 692