< prev index next >

src/hotspot/share/gc/shared/genOopClosures.inline.hpp

Print this page

        

*** 23,41 **** */ #ifndef SHARE_VM_GC_SHARED_GENOOPCLOSURES_INLINE_HPP #define SHARE_VM_GC_SHARED_GENOOPCLOSURES_INLINE_HPP - #include "gc/serial/defNewGeneration.hpp" #include "gc/shared/cardTableRS.hpp" #include "gc/shared/genCollectedHeap.hpp" #include "gc/shared/genOopClosures.hpp" #include "gc/shared/generation.hpp" #include "gc/shared/space.hpp" #include "oops/access.inline.hpp" #include "oops/compressedOops.inline.hpp" #include "oops/oop.inline.hpp" inline OopsInGenClosure::OopsInGenClosure(Generation* gen) : ExtendedOopClosure(gen->ref_processor()), _orig_gen(gen), _rs(NULL) { set_generation(gen); } --- 23,43 ---- */ #ifndef SHARE_VM_GC_SHARED_GENOOPCLOSURES_INLINE_HPP #define SHARE_VM_GC_SHARED_GENOOPCLOSURES_INLINE_HPP #include "gc/shared/cardTableRS.hpp" #include "gc/shared/genCollectedHeap.hpp" #include "gc/shared/genOopClosures.hpp" #include "gc/shared/generation.hpp" #include "gc/shared/space.hpp" #include "oops/access.inline.hpp" #include "oops/compressedOops.inline.hpp" #include "oops/oop.inline.hpp" + #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); }
*** 76,85 **** --- 78,89 ---- if (!_scanned_cld->has_modified_oops()) { _scanned_cld->record_modified_oops(); } } + #if INCLUDE_SERIALGC + // NOTE! Any changes made here should also be made // in FastScanClosure::do_oop_work() template <class T> inline void ScanClosure::do_oop_work(T* p) { T heap_oop = RawAccess<>::oop_load(p); // Should we copy the obj?
*** 127,136 **** --- 131,142 ---- } 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); if (!CompressedOops::is_null(heap_oop)) { oop obj = CompressedOops::decode_not_null(heap_oop); if ((HeapWord*)obj < _boundary) {
*** 140,149 **** --- 146,157 ---- } 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. template <class T> inline void ScanWeakRefClosure::do_oop_work(T* p) { oop obj = RawAccess<OOP_NOT_NULL>::oop_load(p); // weak references are sometimes scanned twice; must check
*** 156,161 **** --- 164,171 ---- } 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
< prev index next >