equal
deleted
inserted
replaced
760 // Evacuate the next set of optional regions. |
760 // Evacuate the next set of optional regions. |
761 void evacuate_next_optional_regions(G1ParScanThreadStateSet* per_thread_states); |
761 void evacuate_next_optional_regions(G1ParScanThreadStateSet* per_thread_states); |
762 |
762 |
763 public: |
763 public: |
764 void pre_evacuate_collection_set(G1EvacuationInfo& evacuation_info, G1ParScanThreadStateSet* pss); |
764 void pre_evacuate_collection_set(G1EvacuationInfo& evacuation_info, G1ParScanThreadStateSet* pss); |
765 void post_evacuate_collection_set(G1EvacuationInfo& evacuation_info, G1ParScanThreadStateSet* pss); |
765 void post_evacuate_collection_set(G1EvacuationInfo& evacuation_info, |
|
766 G1RedirtyCardsQueueSet* rdcqs, |
|
767 G1ParScanThreadStateSet* pss); |
766 |
768 |
767 void expand_heap_after_young_collection(); |
769 void expand_heap_after_young_collection(); |
768 // Update object copying statistics. |
770 // Update object copying statistics. |
769 void record_obj_copy_mem_stats(); |
771 void record_obj_copy_mem_stats(); |
770 |
772 |
772 G1HotCardCache* _hot_card_cache; |
774 G1HotCardCache* _hot_card_cache; |
773 |
775 |
774 // The g1 remembered set of the heap. |
776 // The g1 remembered set of the heap. |
775 G1RemSet* _rem_set; |
777 G1RemSet* _rem_set; |
776 |
778 |
777 // A set of cards that cover the objects for which the Rsets should be updated |
|
778 // concurrently after the collection. |
|
779 G1RedirtyCardsQueueSet _redirty_cards_queue_set; |
|
780 |
|
781 // After a collection pause, convert the regions in the collection set into free |
779 // After a collection pause, convert the regions in the collection set into free |
782 // regions. |
780 // regions. |
783 void free_collection_set(G1CollectionSet* collection_set, G1EvacuationInfo& evacuation_info, const size_t* surviving_young_words); |
781 void free_collection_set(G1CollectionSet* collection_set, G1EvacuationInfo& evacuation_info, const size_t* surviving_young_words); |
784 |
782 |
785 // Abandon the current collection set without recording policy |
783 // Abandon the current collection set without recording policy |
801 |
799 |
802 EvacuationFailedInfo* _evacuation_failed_info_array; |
800 EvacuationFailedInfo* _evacuation_failed_info_array; |
803 |
801 |
804 // Failed evacuations cause some logical from-space objects to have |
802 // Failed evacuations cause some logical from-space objects to have |
805 // forwarding pointers to themselves. Reset them. |
803 // forwarding pointers to themselves. Reset them. |
806 void remove_self_forwarding_pointers(); |
804 void remove_self_forwarding_pointers(G1RedirtyCardsQueueSet* rdcqs); |
807 |
805 |
808 // Restore the objects in the regions in the collection set after an |
806 // Restore the objects in the regions in the collection set after an |
809 // evacuation failure. |
807 // evacuation failure. |
810 void restore_after_evac_failure(); |
808 void restore_after_evac_failure(G1RedirtyCardsQueueSet* rdcqs); |
811 |
809 |
812 PreservedMarksSet _preserved_marks_set; |
810 PreservedMarksSet _preserved_marks_set; |
813 |
811 |
814 // Preserve the mark of "obj", if necessary, in preparation for its mark |
812 // Preserve the mark of "obj", if necessary, in preparation for its mark |
815 // word being overwritten with a self-forwarding-pointer. |
813 // word being overwritten with a self-forwarding-pointer. |
933 |
931 |
934 RefToScanQueue *task_queue(uint i) const; |
932 RefToScanQueue *task_queue(uint i) const; |
935 |
933 |
936 uint num_task_queues() const; |
934 uint num_task_queues() const; |
937 |
935 |
938 // A set of cards where updates happened during the GC |
|
939 G1RedirtyCardsQueueSet& redirty_cards_queue_set() { |
|
940 return _redirty_cards_queue_set; |
|
941 } |
|
942 |
|
943 // Create a G1CollectedHeap. |
936 // Create a G1CollectedHeap. |
944 // Must call the initialize method afterwards. |
937 // Must call the initialize method afterwards. |
945 // May not return if something goes wrong. |
938 // May not return if something goes wrong. |
946 G1CollectedHeap(); |
939 G1CollectedHeap(); |
947 |
940 |
1364 |
1357 |
1365 // Performs cleaning of data structures after class unloading. |
1358 // Performs cleaning of data structures after class unloading. |
1366 void complete_cleaning(BoolObjectClosure* is_alive, bool class_unloading_occurred); |
1359 void complete_cleaning(BoolObjectClosure* is_alive, bool class_unloading_occurred); |
1367 |
1360 |
1368 // Redirty logged cards in the refinement queue. |
1361 // Redirty logged cards in the refinement queue. |
1369 void redirty_logged_cards(); |
1362 void redirty_logged_cards(G1RedirtyCardsQueueSet* rdcqs); |
|
1363 |
1370 // Verification |
1364 // Verification |
1371 |
1365 |
1372 // Deduplicate the string |
1366 // Deduplicate the string |
1373 virtual void deduplicate_string(oop str); |
1367 virtual void deduplicate_string(oop str); |
1374 |
1368 |