diff a/src/hotspot/share/gc/shared/oopStorageSetParState.hpp b/src/hotspot/share/gc/shared/oopStorageSetParState.hpp --- a/src/hotspot/share/gc/shared/oopStorageSetParState.hpp +++ b/src/hotspot/share/gc/shared/oopStorageSetParState.hpp @@ -37,10 +37,26 @@ ParStateArray _par_states; public: OopStorageSetStrongParState(); - template - void oops_do(Closure* cl); + template + void oops_do(ClosureType* cl); +}; + +template +class OopStorageSetWeakParState { + typedef OopStorage::ParState ParStateType; + typedef ValueObjArray ParStateArray; + + ParStateArray _par_states; + +public: + OopStorageSetWeakParState(); + + template + void oops_do(ClosureType* cl); + + void notify(); }; #endif // SHARE_GC_SHARED_OOPSTORAGESETPARSTATE_HPP