Mercurial > hg > graal-compiler
comparison src/share/vm/gc_implementation/g1/g1CollectedHeap.hpp @ 616:4f360ec815ba
6720309: G1: don't synchronously update RSet during evacuation pauses
6720334: G1: don't update RSets of collection set regions during an evacuation pause
Summary: Introduced a deferred update mechanism for delaying the rset updates during the collection pause
Reviewed-by: apetrusenko, tonyp
author | iveresov |
---|---|
date | Fri, 06 Mar 2009 13:50:14 -0800 |
parents | 58054a18d735 |
children | 7bb995fbd3c0 6c4cea9bfa11 |
comparison
equal
deleted
inserted
replaced
615:c6c601a0f2d6 | 616:4f360ec815ba |
---|---|
455 // The g1 remembered set of the heap. | 455 // The g1 remembered set of the heap. |
456 G1RemSet* _g1_rem_set; | 456 G1RemSet* _g1_rem_set; |
457 // And it's mod ref barrier set, used to track updates for the above. | 457 // And it's mod ref barrier set, used to track updates for the above. |
458 ModRefBarrierSet* _mr_bs; | 458 ModRefBarrierSet* _mr_bs; |
459 | 459 |
460 // A set of cards that cover the objects for which the Rsets should be updated | |
461 // concurrently after the collection. | |
462 DirtyCardQueueSet _dirty_card_queue_set; | |
463 | |
460 // The Heap Region Rem Set Iterator. | 464 // The Heap Region Rem Set Iterator. |
461 HeapRegionRemSetIterator** _rem_set_iterator; | 465 HeapRegionRemSetIterator** _rem_set_iterator; |
462 | 466 |
463 // The closure used to refine a single card. | 467 // The closure used to refine a single card. |
464 RefineCardTableEntryClosure* _refine_cte_cl; | 468 RefineCardTableEntryClosure* _refine_cte_cl; |
664 public: | 668 public: |
665 void set_refine_cte_cl_concurrency(bool concurrent); | 669 void set_refine_cte_cl_concurrency(bool concurrent); |
666 | 670 |
667 RefToScanQueue *task_queue(int i); | 671 RefToScanQueue *task_queue(int i); |
668 | 672 |
673 // A set of cards where updates happened during the GC | |
674 DirtyCardQueueSet& dirty_card_queue_set() { return _dirty_card_queue_set; } | |
675 | |
669 // Create a G1CollectedHeap with the specified policy. | 676 // Create a G1CollectedHeap with the specified policy. |
670 // Must call the initialize method afterwards. | 677 // Must call the initialize method afterwards. |
671 // May not return if something goes wrong. | 678 // May not return if something goes wrong. |
672 G1CollectedHeap(G1CollectorPolicy* policy); | 679 G1CollectedHeap(G1CollectorPolicy* policy); |
673 | 680 |