1.1 --- a/src/share/vm/gc_implementation/g1/g1CollectedHeap.hpp Sat Jul 31 15:10:59 2010 +0100 1.2 +++ b/src/share/vm/gc_implementation/g1/g1CollectedHeap.hpp Mon Aug 02 12:51:43 2010 -0700 1.3 @@ -505,6 +505,12 @@ 1.4 // A function to check the consistency of dirty card logs. 1.5 void check_ct_logs_at_safepoint(); 1.6 1.7 + // A DirtyCardQueueSet that is used to hold cards that contain 1.8 + // references into the current collection set. This is used to 1.9 + // update the remembered sets of the regions in the collection 1.10 + // set in the event of an evacuation failure. 1.11 + DirtyCardQueueSet _into_cset_dirty_card_queue_set; 1.12 + 1.13 // After a collection pause, make the regions in the CS into free 1.14 // regions. 1.15 void free_collection_set(HeapRegion* cs_head); 1.16 @@ -661,6 +667,13 @@ 1.17 // A set of cards where updates happened during the GC 1.18 DirtyCardQueueSet& dirty_card_queue_set() { return _dirty_card_queue_set; } 1.19 1.20 + // A DirtyCardQueueSet that is used to hold cards that contain 1.21 + // references into the current collection set. This is used to 1.22 + // update the remembered sets of the regions in the collection 1.23 + // set in the event of an evacuation failure. 1.24 + DirtyCardQueueSet& into_cset_dirty_card_queue_set() 1.25 + { return _into_cset_dirty_card_queue_set; } 1.26 + 1.27 // Create a G1CollectedHeap with the specified policy. 1.28 // Must call the initialize method afterwards. 1.29 // May not return if something goes wrong. 1.30 @@ -715,7 +728,9 @@ 1.31 OrderAccess::fence(); 1.32 } 1.33 1.34 - void iterate_dirty_card_closure(bool concurrent, int worker_i); 1.35 + void iterate_dirty_card_closure(CardTableEntryClosure* cl, 1.36 + DirtyCardQueue* into_cset_dcq, 1.37 + bool concurrent, int worker_i); 1.38 1.39 // The shared block offset table array. 1.40 G1BlockOffsetSharedArray* bot_shared() const { return _bot_shared; }