Mercurial > hg > truffle
comparison src/share/vm/gc_implementation/g1/g1RemSet.hpp @ 20494:7baf47cb97cb
8048268: G1 Code Root Migration performs poorly
Summary: Replace G1CodeRootSet with a Hashtable based implementation, merge Code Root Migration phase into Code Root Scanning
Reviewed-by: jmasa, brutisso, tschatzl
author | mgerdin |
---|---|
date | Fri, 29 Aug 2014 13:12:21 +0200 |
parents | 02e61cf08ab3 |
children | 6948da6d7c13 |
comparison
equal
deleted
inserted
replaced
20493:152cf4afc11f | 20494:7baf47cb97cb |
---|---|
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; } |