< prev index next >
src/share/vm/gc/g1/g1RemSet.cpp
Print this page
rev 9770 : imported patch 8145674-fix-includes-and-forward-declarations-in-g1remset-files
rev 9773 : imported patch 8145672-remove-dependency-of-g1fromcardcache-to-heapregionremset
rev 9774 : [mq]: 8145672-jmasa-comments
*** 23,35 ****
--- 23,37 ----
*/
#include "precompiled.hpp"
#include "gc/g1/concurrentG1Refine.hpp"
#include "gc/g1/concurrentG1RefineThread.hpp"
+ #include "gc/g1/dirtyCardQueue.hpp"
#include "gc/g1/g1BlockOffsetTable.inline.hpp"
#include "gc/g1/g1CollectedHeap.inline.hpp"
#include "gc/g1/g1CollectorPolicy.hpp"
+ #include "gc/g1/g1FromCardCache.hpp"
#include "gc/g1/g1GCPhaseTimes.hpp"
#include "gc/g1/g1HotCardCache.hpp"
#include "gc/g1/g1OopClosures.inline.hpp"
#include "gc/g1/g1RemSet.inline.hpp"
#include "gc/g1/heapRegion.inline.hpp"
*** 74,83 ****
--- 76,93 ----
assert(_cset_rs_update_cl[i] == NULL, "it should be");
}
FREE_C_HEAP_ARRAY(G1ParPushHeapRSClosure*, _cset_rs_update_cl);
}
+ uint G1RemSet::num_par_rem_sets() {
+ return MAX2(DirtyCardQueueSet::num_par_ids() + ConcurrentG1Refine::thread_num(), ParallelGCThreads);
+ }
+
+ void G1RemSet::initialize(uint max_regions) {
+ G1FromCardCache::initialize(num_par_rem_sets(), max_regions);
+ }
+
ScanRSClosure::ScanRSClosure(G1ParPushHeapRSClosure* oc,
CodeBlobClosure* code_root_cl,
uint worker_i) :
_oc(oc),
_code_root_cl(code_root_cl),
< prev index next >