< prev index next >
src/hotspot/share/gc/z/zRootsIterator.hpp
Print this page
*** 28,81 ****
#include "memory/allocation.hpp"
#include "memory/iterator.hpp"
#include "utilities/globalDefinitions.hpp"
template <typename T, void (T::*F)(OopClosure*)>
! class ZSerialOopsDo VALUE_OBJ_CLASS_SPEC {
private:
T* const _iter;
volatile bool _claimed;
public:
ZSerialOopsDo(T* iter);
void oops_do(OopClosure* cl);
};
template <typename T, void (T::*F)(OopClosure*)>
! class ZParallelOopsDo VALUE_OBJ_CLASS_SPEC {
private:
T* const _iter;
volatile bool _completed;
public:
ZParallelOopsDo(T* iter);
void oops_do(OopClosure* cl);
};
template <typename T, void (T::*F)(BoolObjectClosure*, OopClosure*)>
! class ZSerialUnlinkOrOopsDo VALUE_OBJ_CLASS_SPEC {
private:
T* const _iter;
volatile bool _claimed;
public:
ZSerialUnlinkOrOopsDo(T* iter);
void unlink_or_oops_do(BoolObjectClosure* is_alive, OopClosure* cl);
};
template <typename T, void (T::*F)(BoolObjectClosure*, OopClosure*)>
! class ZParallelUnlinkOrOopsDo VALUE_OBJ_CLASS_SPEC {
private:
T* const _iter;
volatile bool _completed;
public:
ZParallelUnlinkOrOopsDo(T* iter);
void unlink_or_oops_do(BoolObjectClosure* is_alive, OopClosure* cl);
};
! class ZRootsIterator VALUE_OBJ_CLASS_SPEC {
private:
void do_universe(OopClosure* cl);
void do_jni_handles(OopClosure* cl);
void do_jni_weak_handles(OopClosure* cl);
void do_object_synchronizer(OopClosure* cl);
--- 28,81 ----
#include "memory/allocation.hpp"
#include "memory/iterator.hpp"
#include "utilities/globalDefinitions.hpp"
template <typename T, void (T::*F)(OopClosure*)>
! class ZSerialOopsDo {
private:
T* const _iter;
volatile bool _claimed;
public:
ZSerialOopsDo(T* iter);
void oops_do(OopClosure* cl);
};
template <typename T, void (T::*F)(OopClosure*)>
! class ZParallelOopsDo {
private:
T* const _iter;
volatile bool _completed;
public:
ZParallelOopsDo(T* iter);
void oops_do(OopClosure* cl);
};
template <typename T, void (T::*F)(BoolObjectClosure*, OopClosure*)>
! class ZSerialUnlinkOrOopsDo {
private:
T* const _iter;
volatile bool _claimed;
public:
ZSerialUnlinkOrOopsDo(T* iter);
void unlink_or_oops_do(BoolObjectClosure* is_alive, OopClosure* cl);
};
template <typename T, void (T::*F)(BoolObjectClosure*, OopClosure*)>
! class ZParallelUnlinkOrOopsDo {
private:
T* const _iter;
volatile bool _completed;
public:
ZParallelUnlinkOrOopsDo(T* iter);
void unlink_or_oops_do(BoolObjectClosure* is_alive, OopClosure* cl);
};
! class ZRootsIterator {
private:
void do_universe(OopClosure* cl);
void do_jni_handles(OopClosure* cl);
void do_jni_weak_handles(OopClosure* cl);
void do_object_synchronizer(OopClosure* cl);
*** 108,118 ****
~ZRootsIterator();
void oops_do(OopClosure* cl, bool visit_jvmti_weak_export = false);
};
! class ZWeakRootsIterator VALUE_OBJ_CLASS_SPEC {
private:
void do_jni_weak_handles(BoolObjectClosure* is_alive, OopClosure* cl);
void do_jvmti_weak_export(BoolObjectClosure* is_alive, OopClosure* cl);
void do_trace(BoolObjectClosure* is_alive, OopClosure* cl);
void do_symbol_table(BoolObjectClosure* is_alive, OopClosure* cl);
--- 108,118 ----
~ZRootsIterator();
void oops_do(OopClosure* cl, bool visit_jvmti_weak_export = false);
};
! class ZWeakRootsIterator {
private:
void do_jni_weak_handles(BoolObjectClosure* is_alive, OopClosure* cl);
void do_jvmti_weak_export(BoolObjectClosure* is_alive, OopClosure* cl);
void do_trace(BoolObjectClosure* is_alive, OopClosure* cl);
void do_symbol_table(BoolObjectClosure* is_alive, OopClosure* cl);
*** 130,140 ****
void unlink_or_oops_do(BoolObjectClosure* is_alive, OopClosure* cl);
void oops_do(OopClosure* cl);
};
! class ZConcurrentWeakRootsIterator VALUE_OBJ_CLASS_SPEC {
private:
OopStorage::ParState<true /* concurrent */, false /* is_const */> _par_state;
void do_jni_weak_handles(OopClosure* cl);
--- 130,140 ----
void unlink_or_oops_do(BoolObjectClosure* is_alive, OopClosure* cl);
void oops_do(OopClosure* cl);
};
! class ZConcurrentWeakRootsIterator {
private:
OopStorage::ParState<true /* concurrent */, false /* is_const */> _par_state;
void do_jni_weak_handles(OopClosure* cl);
*** 144,154 ****
ZConcurrentWeakRootsIterator();
void oops_do(OopClosure* cl);
};
! class ZThreadRootsIterator VALUE_OBJ_CLASS_SPEC {
private:
void do_threads(OopClosure* cl);
ZParallelOopsDo<ZThreadRootsIterator, &ZThreadRootsIterator::do_threads> _threads;
--- 144,154 ----
ZConcurrentWeakRootsIterator();
void oops_do(OopClosure* cl);
};
! class ZThreadRootsIterator {
private:
void do_threads(OopClosure* cl);
ZParallelOopsDo<ZThreadRootsIterator, &ZThreadRootsIterator::do_threads> _threads;
< prev index next >