< prev index next >

src/share/vm/gc/g1/g1CollectedHeap.hpp

Print this page
rev 11552 : imported patch 8159978-collection-set-as-array
rev 11553 : imported patch 8159978-erikh-review

*** 776,792 **** DirtyCardQueueSet _dirty_card_queue_set; // The closure used to refine a single card. RefineCardTableEntryClosure* _refine_cte_cl; ! // After a collection pause, make the regions in the CS into free // regions. ! void free_collection_set(HeapRegion* cs_head, EvacuationInfo& evacuation_info, const size_t* surviving_young_words); // Abandon the current collection set without recording policy // statistics or updating free lists. ! void abandon_collection_set(HeapRegion* cs_head); // The concurrent marker (and the thread it runs in.) G1ConcurrentMark* _cm; ConcurrentMarkThread* _cmThread; --- 776,792 ---- DirtyCardQueueSet _dirty_card_queue_set; // The closure used to refine a single card. RefineCardTableEntryClosure* _refine_cte_cl; ! // After a collection pause, convert the regions in the collection set into free // regions. ! void free_collection_set(G1CollectionSet* collection_set, EvacuationInfo& evacuation_info, const size_t* surviving_young_words); // Abandon the current collection set without recording policy // statistics or updating free lists. ! void abandon_collection_set(G1CollectionSet* collection_set); // The concurrent marker (and the thread it runs in.) G1ConcurrentMark* _cm; ConcurrentMarkThread* _cmThread;
*** 928,947 **** // _is_alive_non_header field is optional but doing so prevents // unnecessary additions to the discovered lists during reference // discovery. G1CMIsAliveClosure _is_alive_closure_cm; - // Cache used by G1CollectedHeap::start_cset_region_for_worker(). - HeapRegion** _worker_cset_start_region; - - // Time stamp to validate the regions recorded in the cache - // used by G1CollectedHeap::start_cset_region_for_worker(). - // The heap region entry for a given worker is valid iff - // the associated time stamp value matches the current value - // of G1CollectedHeap::_gc_time_stamp. - uint* _worker_cset_start_region_time_stamp; - volatile bool _free_regions_coming; public: void set_refine_cte_cl_concurrency(bool concurrent); --- 928,937 ----
*** 1209,1231 **** void heap_region_par_iterate(HeapRegionClosure* cl, uint worker_id, HeapRegionClaimer* hrclaimer, bool concurrent = false) const; - // Clear the cached cset start regions and (more importantly) - // the time stamps. Called when we reset the GC time stamp. - void clear_cset_start_regions(); - - // Given the id of a worker, obtain or calculate a suitable - // starting region for iterating over the current collection set. - HeapRegion* start_cset_region_for_worker(uint worker_i); - // Iterate over the regions (if any) in the current collection set. void collection_set_iterate(HeapRegionClosure* blk); ! // As above but starting from region r ! void collection_set_iterate_from(HeapRegion* r, HeapRegionClosure *blk); HeapRegion* next_compaction_region(const HeapRegion* from) const; // Returns the HeapRegion that contains addr. addr must not be NULL. template <class T> --- 1199,1216 ---- void heap_region_par_iterate(HeapRegionClosure* cl, uint worker_id, HeapRegionClaimer* hrclaimer, bool concurrent = false) const; // Iterate over the regions (if any) in the current collection set. void collection_set_iterate(HeapRegionClosure* blk); ! // Iterate over the regions (if any) in the current collection set. Starts the ! // iteration over the entire collection set so that the start regions of a given ! // worker id over the set active_workers are evenly spread across the set of ! // collection set regions. ! void collection_set_iterate_from(HeapRegionClosure *blk, uint worker_id); HeapRegion* next_compaction_region(const HeapRegion* from) const; // Returns the HeapRegion that contains addr. addr must not be NULL. template <class T>
< prev index next >