< prev index next >
src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.hpp
Print this page
*** 931,951 ****
class IsAliveClosure: public BoolObjectClosure {
public:
virtual bool do_object_b(oop p);
};
- class KeepAliveClosure: public OopClosure {
- private:
- ParCompactionManager* _compaction_manager;
- protected:
- template <class T> inline void do_oop_work(T* p);
- public:
- KeepAliveClosure(ParCompactionManager* cm) : _compaction_manager(cm) { }
- virtual void do_oop(oop* p);
- virtual void do_oop(narrowOop* p);
- };
-
class FollowStackClosure: public VoidClosure {
private:
ParCompactionManager* _compaction_manager;
public:
FollowStackClosure(ParCompactionManager* cm) : _compaction_manager(cm) { }
--- 931,940 ----
*** 965,975 ****
class AdjustKlassClosure : public KlassClosure {
public:
void do_klass(Klass* klass);
};
- friend class KeepAliveClosure;
friend class FollowStackClosure;
friend class AdjustPointerClosure;
friend class AdjustKlassClosure;
friend class FollowKlassClosure;
friend class InstanceClassLoaderKlass;
--- 954,963 ----
*** 1335,1349 ****
inline bool PSParallelCompact::is_marked(oop obj) {
return mark_bitmap()->is_marked(obj);
}
- template <class T>
- inline void PSParallelCompact::KeepAliveClosure::do_oop_work(T* p) {
- mark_and_push(_compaction_manager, p);
- }
-
inline bool PSParallelCompact::print_phases() {
return _print_phases;
}
inline double PSParallelCompact::normal_distribution(double density) {
--- 1323,1332 ----
< prev index next >