< 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 >