22 *
23 */
24
25 #ifndef SHARE_GC_SHARED_OOPSTORAGESETPARSTATE_HPP
26 #define SHARE_GC_SHARED_OOPSTORAGESETPARSTATE_HPP
27
28 #include "gc/shared/oopStorageParState.hpp"
29 #include "gc/shared/oopStorageSet.hpp"
30 #include "utilities/valueObjArray.hpp"
31
32 template <bool concurrent, bool is_const>
33 class OopStorageSetStrongParState {
34 typedef OopStorage::ParState<concurrent, is_const> ParStateType;
35 typedef ValueObjArray<ParStateType, OopStorageSet::strong_count> ParStateArray;
36
37 ParStateArray _par_states;
38
39 public:
40 OopStorageSetStrongParState();
41
42 template <typename Closure>
43 void oops_do(Closure* cl);
44 };
45
46 #endif // SHARE_GC_SHARED_OOPSTORAGESETPARSTATE_HPP
|
22 *
23 */
24
25 #ifndef SHARE_GC_SHARED_OOPSTORAGESETPARSTATE_HPP
26 #define SHARE_GC_SHARED_OOPSTORAGESETPARSTATE_HPP
27
28 #include "gc/shared/oopStorageParState.hpp"
29 #include "gc/shared/oopStorageSet.hpp"
30 #include "utilities/valueObjArray.hpp"
31
32 template <bool concurrent, bool is_const>
33 class OopStorageSetStrongParState {
34 typedef OopStorage::ParState<concurrent, is_const> ParStateType;
35 typedef ValueObjArray<ParStateType, OopStorageSet::strong_count> ParStateArray;
36
37 ParStateArray _par_states;
38
39 public:
40 OopStorageSetStrongParState();
41
42 template <typename ClosureType>
43 void oops_do(ClosureType* cl);
44 };
45
46 template <bool concurrent, bool is_const>
47 class OopStorageSetWeakParState {
48 typedef OopStorage::ParState<concurrent, is_const> ParStateType;
49 typedef ValueObjArray<ParStateType, OopStorageSet::weak_count> ParStateArray;
50
51 ParStateArray _par_states;
52
53 public:
54 OopStorageSetWeakParState();
55
56 template <typename ClosureType>
57 void oops_do(ClosureType* cl);
58
59 void notify();
60 };
61
62 #endif // SHARE_GC_SHARED_OOPSTORAGESETPARSTATE_HPP
|