85 G1HotCardCache* hot_card_cache); 86 ~G1RemSet(); 87 88 // Scan all cards in the non-collection set regions that potentially contain 89 // references into the current whole collection set. 90 void scan_heap_roots(G1ParScanThreadState* pss, 91 uint worker_id, 92 G1GCPhaseTimes::GCParPhases scan_phase, 93 G1GCPhaseTimes::GCParPhases objcopy_phase); 94 95 // Merge cards from various sources (remembered sets, hot card cache, log buffers) 96 // and calculate the cards that need to be scanned later (via scan_heap_roots()). 97 // If initial_evacuation is set, this is called during the initial evacuation. 98 void merge_heap_roots(bool initial_evacuation); 99 100 // Prepare for and cleanup after scanning the heap roots. Must be called 101 // once before and after in sequential code. 102 void prepare_for_scan_heap_roots(); 103 // Cleans the card table from temporary duplicate detection information. 104 void cleanup_after_scan_heap_roots(); 105 // Prepares the given region for heap root scanning. 106 void prepare_for_scan_heap_roots(uint region_idx); 107 108 // Do work for regions in the current increment of the collection set, scanning 109 // non-card based (heap) roots. 110 void scan_collection_set_regions(G1ParScanThreadState* pss, 111 uint worker_id, 112 G1GCPhaseTimes::GCParPhases scan_phase, 113 G1GCPhaseTimes::GCParPhases coderoots_phase, 114 G1GCPhaseTimes::GCParPhases objcopy_phase); 115 116 // Refine the card corresponding to "card_ptr". Safe to be called concurrently 117 // to the mutator. 118 void refine_card_concurrently(CardValue* card_ptr, 119 uint worker_id); 120 121 // Print accumulated summary info from the start of the VM. 122 void print_summary_info(); 123 124 // Print accumulated summary info from the last time called. 125 void print_periodic_summary_info(const char* header, uint period_count); 126 | 85 G1HotCardCache* hot_card_cache); 86 ~G1RemSet(); 87 88 // Scan all cards in the non-collection set regions that potentially contain 89 // references into the current whole collection set. 90 void scan_heap_roots(G1ParScanThreadState* pss, 91 uint worker_id, 92 G1GCPhaseTimes::GCParPhases scan_phase, 93 G1GCPhaseTimes::GCParPhases objcopy_phase); 94 95 // Merge cards from various sources (remembered sets, hot card cache, log buffers) 96 // and calculate the cards that need to be scanned later (via scan_heap_roots()). 97 // If initial_evacuation is set, this is called during the initial evacuation. 98 void merge_heap_roots(bool initial_evacuation); 99 100 // Prepare for and cleanup after scanning the heap roots. Must be called 101 // once before and after in sequential code. 102 void prepare_for_scan_heap_roots(); 103 // Cleans the card table from temporary duplicate detection information. 104 void cleanup_after_scan_heap_roots(); 105 // Excludes the given region from heap root scanning. 106 void exclude_region_from_scan(uint region_idx); 107 // Creates a snapshot of the current _top values at the start of collection to 108 // filter out card marks that we do not want to scan. 109 void prepare_region_for_scan(HeapRegion* region); 110 111 // Do work for regions in the current increment of the collection set, scanning 112 // non-card based (heap) roots. 113 void scan_collection_set_regions(G1ParScanThreadState* pss, 114 uint worker_id, 115 G1GCPhaseTimes::GCParPhases scan_phase, 116 G1GCPhaseTimes::GCParPhases coderoots_phase, 117 G1GCPhaseTimes::GCParPhases objcopy_phase); 118 119 // Refine the card corresponding to "card_ptr". Safe to be called concurrently 120 // to the mutator. 121 void refine_card_concurrently(CardValue* card_ptr, 122 uint worker_id); 123 124 // Print accumulated summary info from the start of the VM. 125 void print_summary_info(); 126 127 // Print accumulated summary info from the last time called. 128 void print_periodic_summary_info(const char* header, uint period_count); 129 |