< prev index next >

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

Print this page
rev 7555 : [mq]: propagate_scanrs_closure

*** 31,40 **** --- 31,41 ---- // collection set. class G1CollectedHeap; class CardTableModRefBarrierSet; class ConcurrentG1Refine; + class G1ParPushHeapRSClosure; // A G1RemSet in which each heap region has a rem set that records the // external heap references into it. Uses a mod ref bs to track updates, // so that they can be used to update the individual region remsets.
*** 66,76 **** size_t* _cards_scanned; size_t _total_cards_scanned; // Used for caching the closure that is responsible for scanning // references into the collection set. ! OopsInHeapRegionClosure** _cset_rs_update_cl; // Print the given summary info virtual void print_summary_info(G1RemSetSummary * summary, const char * header = NULL); public: // This is called to reset dual hash tables after the gc pause --- 67,77 ---- size_t* _cards_scanned; size_t _total_cards_scanned; // Used for caching the closure that is responsible for scanning // references into the collection set. ! G1ParPushHeapRSClosure** _cset_rs_update_cl; // Print the given summary info virtual void print_summary_info(G1RemSetSummary * summary, const char * header = NULL); public: // This is called to reset dual hash tables after the gc pause
*** 93,103 **** // The "worker_i" param is for the parallel case where the id // of the worker thread calling this function can be helpful in // partitioning the work to be done. It should be the same as // the "i" passed to the calling thread's work(i) function. // In the sequential case this param will be ignored. ! void oops_into_collection_set_do(OopsInHeapRegionClosure* blk, CodeBlobClosure* code_root_cl, uint worker_i); // Prepare for and cleanup after an oops_into_collection_set_do // call. Must call each of these once before and after (in sequential --- 94,104 ---- // The "worker_i" param is for the parallel case where the id // of the worker thread calling this function can be helpful in // partitioning the work to be done. It should be the same as // the "i" passed to the calling thread's work(i) function. // In the sequential case this param will be ignored. ! void oops_into_collection_set_do(G1ParPushHeapRSClosure* blk, CodeBlobClosure* code_root_cl, uint worker_i); // Prepare for and cleanup after an oops_into_collection_set_do // call. Must call each of these once before and after (in sequential
*** 105,115 **** // opportunity to sequential setup and teardown of structures needed by a // parallel iteration over the CS's RS.) void prepare_for_oops_into_collection_set_do(); void cleanup_after_oops_into_collection_set_do(); ! void scanRS(OopsInHeapRegionClosure* oc, CodeBlobClosure* code_root_cl, uint worker_i); void updateRS(DirtyCardQueue* into_cset_dcq, uint worker_i); --- 106,116 ---- // opportunity to sequential setup and teardown of structures needed by a // parallel iteration over the CS's RS.) void prepare_for_oops_into_collection_set_do(); void cleanup_after_oops_into_collection_set_do(); ! void scanRS(G1ParPushHeapRSClosure* oc, CodeBlobClosure* code_root_cl, uint worker_i); void updateRS(DirtyCardQueue* into_cset_dcq, uint worker_i);
< prev index next >