94 // of the worker thread calling this function can be helpful in |
94 // of the worker thread calling this function can be helpful in |
95 // partitioning the work to be done. It should be the same as |
95 // partitioning the work to be done. It should be the same as |
96 // the "i" passed to the calling thread's work(i) function. |
96 // the "i" passed to the calling thread's work(i) function. |
97 // In the sequential case this param will be ignored. |
97 // In the sequential case this param will be ignored. |
98 void oops_into_collection_set_do(OopsInHeapRegionClosure* blk, |
98 void oops_into_collection_set_do(OopsInHeapRegionClosure* blk, |
99 CodeBlobToOopClosure* code_root_cl, |
99 CodeBlobClosure* code_root_cl, |
100 uint worker_i); |
100 uint worker_i); |
101 |
101 |
102 // Prepare for and cleanup after an oops_into_collection_set_do |
102 // Prepare for and cleanup after an oops_into_collection_set_do |
103 // call. Must call each of these once before and after (in sequential |
103 // call. Must call each of these once before and after (in sequential |
104 // code) any threads call oops_into_collection_set_do. (This offers an |
104 // code) any threads call oops_into_collection_set_do. (This offers an |
106 // parallel iteration over the CS's RS.) |
106 // parallel iteration over the CS's RS.) |
107 void prepare_for_oops_into_collection_set_do(); |
107 void prepare_for_oops_into_collection_set_do(); |
108 void cleanup_after_oops_into_collection_set_do(); |
108 void cleanup_after_oops_into_collection_set_do(); |
109 |
109 |
110 void scanRS(OopsInHeapRegionClosure* oc, |
110 void scanRS(OopsInHeapRegionClosure* oc, |
111 CodeBlobToOopClosure* code_root_cl, |
111 CodeBlobClosure* code_root_cl, |
112 uint worker_i); |
112 uint worker_i); |
113 |
113 |
114 void updateRS(DirtyCardQueue* into_cset_dcq, uint worker_i); |
114 void updateRS(DirtyCardQueue* into_cset_dcq, uint worker_i); |
115 |
115 |
116 CardTableModRefBS* ct_bs() { return _ct_bs; } |
116 CardTableModRefBS* ct_bs() { return _ct_bs; } |