< prev index next >
src/hotspot/share/gc/shenandoah/shenandoahRootProcessor.inline.hpp
Print this page
rev 59972 : 8250841: Shenandoah: need to reset/finish dead counters for StringTable/ResolvedMethodTable during STW root processing
@@ -74,10 +74,18 @@
ShenandoahWeakRoots<CONCURRENT>::ShenandoahWeakRoots() :
_jni_roots(OopStorageSet::jni_weak(), ShenandoahPhaseTimings::JNIWeakRoots),
_string_table_roots(OopStorageSet::string_table_weak(), ShenandoahPhaseTimings::StringTableRoots),
_resolved_method_table_roots(OopStorageSet::resolved_method_table_weak(), ShenandoahPhaseTimings::ResolvedMethodTableRoots),
_vm_roots(OopStorageSet::vm_weak(), ShenandoahPhaseTimings::VMWeakRoots) {
+ StringTable::reset_dead_counter();
+ ResolvedMethodTable::reset_dead_counter();
+}
+
+template <bool CONCURRENT>
+ShenandoahWeakRoots<CONCURRENT>::~ShenandoahWeakRoots() {
+ StringTable::finish_dead_counter();
+ ResolvedMethodTable::finish_dead_counter();
}
template <bool CONCURRENT>
template <typename Closure>
void ShenandoahWeakRoots<CONCURRENT>::oops_do(Closure* cl, uint worker_id) {
< prev index next >