< prev index next >
src/hotspot/share/gc/z/zRootsIterator.hpp
Print this page
*** 109,121 ****
void oops_do(ZRootsIteratorClosure* cl, bool visit_jvmti_weak_export = false);
};
class ZConcurrentRootsIterator {
private:
! ZOopStorageIterator _jni_handles_iter;
! ZOopStorageIterator _vm_handles_iter;
! int _cld_claim;
void do_jni_handles(ZRootsIteratorClosure* cl);
void do_vm_handles(ZRootsIteratorClosure* cl);
void do_class_loader_data_graph(ZRootsIteratorClosure* cl);
--- 109,121 ----
void oops_do(ZRootsIteratorClosure* cl, bool visit_jvmti_weak_export = false);
};
class ZConcurrentRootsIterator {
private:
! ZOopStorageIterator _jni_handles_iter;
! ZOopStorageIterator _vm_handles_iter;
! const int _cld_claim;
void do_jni_handles(ZRootsIteratorClosure* cl);
void do_vm_handles(ZRootsIteratorClosure* cl);
void do_class_loader_data_graph(ZRootsIteratorClosure* cl);
*** 128,144 ****
~ZConcurrentRootsIterator();
void oops_do(ZRootsIteratorClosure* cl);
};
class ZWeakRootsIterator {
private:
void do_jvmti_weak_export(BoolObjectClosure* is_alive, ZRootsIteratorClosure* cl);
void do_jfr_weak(BoolObjectClosure* is_alive, ZRootsIteratorClosure* cl);
! ZSerialWeakOopsDo<ZWeakRootsIterator, &ZWeakRootsIterator::do_jvmti_weak_export> _jvmti_weak_export;
! ZSerialWeakOopsDo<ZWeakRootsIterator, &ZWeakRootsIterator::do_jfr_weak> _jfr_weak;
public:
ZWeakRootsIterator();
~ZWeakRootsIterator();
--- 128,162 ----
~ZConcurrentRootsIterator();
void oops_do(ZRootsIteratorClosure* cl);
};
+ class ZConcurrentRootsIteratorClaimStrong : public ZConcurrentRootsIterator {
+ public:
+ ZConcurrentRootsIteratorClaimStrong() :
+ ZConcurrentRootsIterator(ClassLoaderData::_claim_strong) {}
+ };
+
+ class ZConcurrentRootsIteratorClaimOther : public ZConcurrentRootsIterator {
+ public:
+ ZConcurrentRootsIteratorClaimOther() :
+ ZConcurrentRootsIterator(ClassLoaderData::_claim_other) {}
+ };
+
+ class ZConcurrentRootsIteratorClaimNone : public ZConcurrentRootsIterator {
+ public:
+ ZConcurrentRootsIteratorClaimNone() :
+ ZConcurrentRootsIterator(ClassLoaderData::_claim_none) {}
+ };
+
class ZWeakRootsIterator {
private:
void do_jvmti_weak_export(BoolObjectClosure* is_alive, ZRootsIteratorClosure* cl);
void do_jfr_weak(BoolObjectClosure* is_alive, ZRootsIteratorClosure* cl);
! ZSerialWeakOopsDo<ZWeakRootsIterator, &ZWeakRootsIterator::do_jvmti_weak_export> _jvmti_weak_export;
! ZSerialWeakOopsDo<ZWeakRootsIterator, &ZWeakRootsIterator::do_jfr_weak> _jfr_weak;
public:
ZWeakRootsIterator();
~ZWeakRootsIterator();
< prev index next >