< prev index next >

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

Print this page
rev 7171 : 8060025: Object copy time regressions after JDK-8031323 and JDK-8057536
Summary: Evaluate and improve object copy time by micro-optimizations and splitting out slow and fast paths aggressively.
Reviewed-by: kbarrett, mgerdin, jmasa
Contributed-by: Tony Printezis <tprintezis@twitter.com>, Thomas Schatzl <thomas.schatzl@oracle.com>
rev 7178 : 8067655: Clean up G1 remembered set oop iteration
Summary: Pass on the static type G1ParPushHeapRSClosure to allow oop_iterate devirtualization
Reviewed-by: jmasa, kbarrett


 788   DirtyCardQueueSet _into_cset_dirty_card_queue_set;
 789 
 790   // After a collection pause, make the regions in the CS into free
 791   // regions.
 792   void free_collection_set(HeapRegion* cs_head, EvacuationInfo& evacuation_info);
 793 
 794   // Abandon the current collection set without recording policy
 795   // statistics or updating free lists.
 796   void abandon_collection_set(HeapRegion* cs_head);
 797 
 798   // Applies "scan_non_heap_roots" to roots outside the heap,
 799   // "scan_rs" to roots inside the heap (having done "set_region" to
 800   // indicate the region in which the root resides),
 801   // and does "scan_metadata" If "scan_rs" is
 802   // NULL, then this step is skipped.  The "worker_i"
 803   // param is for use with parallel roots processing, and should be
 804   // the "i" of the calling parallel worker thread's work(i) function.
 805   // In the sequential case this param will be ignored.
 806   void g1_process_roots(OopClosure* scan_non_heap_roots,
 807                         OopClosure* scan_non_heap_weak_roots,
 808                         OopsInHeapRegionClosure* scan_rs,
 809                         CLDClosure* scan_strong_clds,
 810                         CLDClosure* scan_weak_clds,
 811                         CodeBlobClosure* scan_strong_code,
 812                         uint worker_i);
 813 
 814   // The concurrent marker (and the thread it runs in.)
 815   ConcurrentMark* _cm;
 816   ConcurrentMarkThread* _cmThread;
 817   bool _mark_in_progress;
 818 
 819   // The concurrent refiner.
 820   ConcurrentG1Refine* _cg1r;
 821 
 822   // The parallel task queues
 823   RefToScanQueueSet *_task_queues;
 824 
 825   // True iff a evacuation has failed in the current collection.
 826   bool _evacuation_failed;
 827 
 828   EvacuationFailedInfo* _evacuation_failed_info_array;




 788   DirtyCardQueueSet _into_cset_dirty_card_queue_set;
 789 
 790   // After a collection pause, make the regions in the CS into free
 791   // regions.
 792   void free_collection_set(HeapRegion* cs_head, EvacuationInfo& evacuation_info);
 793 
 794   // Abandon the current collection set without recording policy
 795   // statistics or updating free lists.
 796   void abandon_collection_set(HeapRegion* cs_head);
 797 
 798   // Applies "scan_non_heap_roots" to roots outside the heap,
 799   // "scan_rs" to roots inside the heap (having done "set_region" to
 800   // indicate the region in which the root resides),
 801   // and does "scan_metadata" If "scan_rs" is
 802   // NULL, then this step is skipped.  The "worker_i"
 803   // param is for use with parallel roots processing, and should be
 804   // the "i" of the calling parallel worker thread's work(i) function.
 805   // In the sequential case this param will be ignored.
 806   void g1_process_roots(OopClosure* scan_non_heap_roots,
 807                         OopClosure* scan_non_heap_weak_roots,
 808                         G1ParPushHeapRSClosure* scan_rs,
 809                         CLDClosure* scan_strong_clds,
 810                         CLDClosure* scan_weak_clds,
 811                         CodeBlobClosure* scan_strong_code,
 812                         uint worker_i);
 813 
 814   // The concurrent marker (and the thread it runs in.)
 815   ConcurrentMark* _cm;
 816   ConcurrentMarkThread* _cmThread;
 817   bool _mark_in_progress;
 818 
 819   // The concurrent refiner.
 820   ConcurrentG1Refine* _cg1r;
 821 
 822   // The parallel task queues
 823   RefToScanQueueSet *_task_queues;
 824 
 825   // True iff a evacuation has failed in the current collection.
 826   bool _evacuation_failed;
 827 
 828   EvacuationFailedInfo* _evacuation_failed_info_array;


< prev index next >