< prev index next >
src/share/vm/gc/g1/g1RemSet.hpp
Print this page
rev 12939 : imported patch 8162928-micro-optimizations-in-remembered-set-scan
rev 12941 : [mq]: 8177707-specialize-refine-card
rev 12942 : [mq]: 8177707-review-kim-sangheon
rev 12944 : imported patch 8178148-more-detailed-scan-rs-logging
*** 106,119 ****
// 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.
! //
! // Returns the number of cards scanned while looking for pointers
! // into the collection set.
! size_t oops_into_collection_set_do(G1ParPushHeapRSClosure* cl,
CodeBlobClosure* heap_region_codeblobs,
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
--- 106,116 ----
// 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* cl,
CodeBlobClosure* heap_region_codeblobs,
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
*** 121,131 ****
// 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();
! size_t scan_rem_set(G1ParPushHeapRSClosure* oops_in_heap_closure,
CodeBlobClosure* heap_region_codeblobs,
uint worker_i);
G1RemSetScanState* scan_state() const { return _scan_state; }
--- 118,128 ----
// 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 scan_rem_set(G1ParPushHeapRSClosure* oops_in_heap_closure,
CodeBlobClosure* heap_region_codeblobs,
uint worker_i);
G1RemSetScanState* scan_state() const { return _scan_state; }
*** 183,194 ****
};
class G1ScanRSClosure : public HeapRegionClosure {
G1RemSetScanState* _scan_state;
! size_t _cards_done;
! size_t _cards;
G1CollectedHeap* _g1h;
G1ParPushHeapRSClosure* _push_heap_cl;
CodeBlobClosure* _code_root_cl;
--- 180,193 ----
};
class G1ScanRSClosure : public HeapRegionClosure {
G1RemSetScanState* _scan_state;
! size_t _cards_scanned;
! size_t _cards_claimed;
! size_t _cards_skipped;
!
G1CollectedHeap* _g1h;
G1ParPushHeapRSClosure* _push_heap_cl;
CodeBlobClosure* _code_root_cl;
*** 211,222 ****
double strong_code_root_scan_time_sec() {
return _strong_code_root_scan_time_sec;
}
! size_t cards_done() { return _cards_done;}
! size_t cards_looked_up() { return _cards;}
};
class UpdateRSOopClosure: public ExtendedOopClosure {
HeapRegion* _from;
G1RemSet* _rs;
--- 210,222 ----
double strong_code_root_scan_time_sec() {
return _strong_code_root_scan_time_sec;
}
! size_t cards_scanned() { return _cards_scanned; }
! size_t cards_claimed() { return _cards_claimed; }
! size_t cards_skipped() { return _cards_skipped; }
};
class UpdateRSOopClosure: public ExtendedOopClosure {
HeapRegion* _from;
G1RemSet* _rs;
< prev index next >