< prev index next >
src/hotspot/share/gc/shared/genOopClosures.inline.hpp
Print this page
*** 36,46 ****
#if INCLUDE_SERIALGC
#include "gc/serial/defNewGeneration.inline.hpp"
#endif
inline OopsInGenClosure::OopsInGenClosure(Generation* gen) :
! ExtendedOopClosure(gen->ref_processor()), _orig_gen(gen), _rs(NULL) {
set_generation(gen);
}
inline void OopsInGenClosure::set_generation(Generation* gen) {
_gen = gen;
--- 36,46 ----
#if INCLUDE_SERIALGC
#include "gc/serial/defNewGeneration.inline.hpp"
#endif
inline OopsInGenClosure::OopsInGenClosure(Generation* gen) :
! OopIterateClosure(gen->ref_processor()), _orig_gen(gen), _rs(NULL) {
set_generation(gen);
}
inline void OopsInGenClosure::set_generation(Generation* gen) {
_gen = gen;
*** 71,80 ****
--- 71,83 ----
if ((HeapWord*)obj < gen_boundary()) {
rs()->write_ref_field_gc_par(p, obj);
}
}
+ inline BasicOopsInGenClosure::BasicOopsInGenClosure(Generation* gen) : OopsInGenClosure(gen) {
+ }
+
inline void OopsInClassLoaderDataOrGenClosure::do_cld_barrier() {
assert(_scanned_cld != NULL, "Must be");
if (!_scanned_cld->has_modified_oops()) {
_scanned_cld->record_modified_oops();
}
*** 103,114 ****
do_barrier(p);
}
}
}
! inline void ScanClosure::do_oop_nv(oop* p) { ScanClosure::do_oop_work(p); }
! inline void ScanClosure::do_oop_nv(narrowOop* p) { ScanClosure::do_oop_work(p); }
// NOTE! Any changes made here should also be made
// in ScanClosure::do_oop_work()
template <class T> inline void FastScanClosure::do_oop_work(T* p) {
T heap_oop = RawAccess<>::oop_load(p);
--- 106,117 ----
do_barrier(p);
}
}
}
! inline void ScanClosure::do_oop(oop* p) { ScanClosure::do_oop_work(p); }
! inline void ScanClosure::do_oop(narrowOop* p) { ScanClosure::do_oop_work(p); }
// NOTE! Any changes made here should also be made
// in ScanClosure::do_oop_work()
template <class T> inline void FastScanClosure::do_oop_work(T* p) {
T heap_oop = RawAccess<>::oop_load(p);
*** 128,139 ****
}
}
}
}
! inline void FastScanClosure::do_oop_nv(oop* p) { FastScanClosure::do_oop_work(p); }
! inline void FastScanClosure::do_oop_nv(narrowOop* p) { FastScanClosure::do_oop_work(p); }
#endif // INCLUDE_SERIALGC
template <class T> void FilteringClosure::do_oop_work(T* p) {
T heap_oop = RawAccess<>::oop_load(p);
--- 131,142 ----
}
}
}
}
! inline void FastScanClosure::do_oop(oop* p) { FastScanClosure::do_oop_work(p); }
! inline void FastScanClosure::do_oop(narrowOop* p) { FastScanClosure::do_oop_work(p); }
#endif // INCLUDE_SERIALGC
template <class T> void FilteringClosure::do_oop_work(T* p) {
T heap_oop = RawAccess<>::oop_load(p);
*** 143,154 ****
_cl->do_oop(p);
}
}
}
! void FilteringClosure::do_oop_nv(oop* p) { FilteringClosure::do_oop_work(p); }
! void FilteringClosure::do_oop_nv(narrowOop* p) { FilteringClosure::do_oop_work(p); }
#if INCLUDE_SERIALGC
// Note similarity to ScanClosure; the difference is that
// the barrier set is taken care of outside this closure.
--- 146,157 ----
_cl->do_oop(p);
}
}
}
! inline void FilteringClosure::do_oop(oop* p) { FilteringClosure::do_oop_work(p); }
! inline void FilteringClosure::do_oop(narrowOop* p) { FilteringClosure::do_oop_work(p); }
#if INCLUDE_SERIALGC
// Note similarity to ScanClosure; the difference is that
// the barrier set is taken care of outside this closure.
*** 161,171 ****
: _g->copy_to_survivor_space(obj);
RawAccess<OOP_NOT_NULL>::oop_store(p, new_obj);
}
}
! inline void ScanWeakRefClosure::do_oop_nv(oop* p) { ScanWeakRefClosure::do_oop_work(p); }
! inline void ScanWeakRefClosure::do_oop_nv(narrowOop* p) { ScanWeakRefClosure::do_oop_work(p); }
#endif // INCLUDE_SERIALGC
#endif // SHARE_VM_GC_SHARED_GENOOPCLOSURES_INLINE_HPP
--- 164,174 ----
: _g->copy_to_survivor_space(obj);
RawAccess<OOP_NOT_NULL>::oop_store(p, new_obj);
}
}
! inline void ScanWeakRefClosure::do_oop(oop* p) { ScanWeakRefClosure::do_oop_work(p); }
! inline void ScanWeakRefClosure::do_oop(narrowOop* p) { ScanWeakRefClosure::do_oop_work(p); }
#endif // INCLUDE_SERIALGC
#endif // SHARE_VM_GC_SHARED_GENOOPCLOSURES_INLINE_HPP
< prev index next >