< prev index next >
src/share/vm/gc/g1/g1OopClosures.hpp
Print this page
*** 105,115 ****
class G1ParCopyHelper : public OopClosure {
protected:
G1CollectedHeap* _g1;
G1ParScanThreadState* _par_scan_state;
uint _worker_id; // Cache value from par_scan_state.
- Klass* _scanned_klass;
G1ConcurrentMark* _cm;
// Mark the object if it's not already marked. This is used to mark
// objects pointed to by roots that are guaranteed not to move
// during the GC (i.e., non-CSet objects). It is MT-safe.
--- 105,114 ----
*** 120,133 ****
// GC. It is MT-safe.
inline void mark_forwarded_object(oop from_obj, oop to_obj);
G1ParCopyHelper(G1CollectedHeap* g1, G1ParScanThreadState* par_scan_state);
~G1ParCopyHelper() { }
-
- public:
- void set_scanned_klass(Klass* k) { _scanned_klass = k; }
- template <class T> inline void do_klass_barrier(T* p, oop new_obj);
};
enum G1Barrier {
G1BarrierNone,
G1BarrierKlass
--- 119,128 ----
*** 148,167 ****
template <class T> void do_oop_work(T* p);
virtual void do_oop(oop* p) { do_oop_work(p); }
virtual void do_oop(narrowOop* p) { do_oop_work(p); }
};
- class G1KlassScanClosure : public KlassClosure {
- G1ParCopyHelper* _closure;
- bool _process_only_dirty;
- int _count;
- public:
- G1KlassScanClosure(G1ParCopyHelper* closure, bool process_only_dirty)
- : _process_only_dirty(process_only_dirty), _closure(closure), _count(0) {}
- void do_klass(Klass* klass);
- };
-
// Closure for iterating over object fields during concurrent marking
class G1CMOopClosure : public MetadataAwareOopClosure {
protected:
G1ConcurrentMark* _cm;
private:
--- 143,152 ----
< prev index next >