< prev index next >

src/share/vm/gc_implementation/g1/heapRegion.hpp

Print this page
rev 7555 : [mq]: propagate_scanrs_closure

*** 65,85 **** // knows how to get the G1 heap and how to use the bitmap // in the concurrent marker used by G1 to filter remembered // sets. class HeapRegionDCTOC : public DirtyCardToOopClosure { ! public: ! // Specification of possible DirtyCardToOopClosure filtering. ! enum FilterKind { ! NoFilterKind, ! IntoCSFilterKind, ! OutOfRegionFilterKind ! }; ! ! protected: HeapRegion* _hr; ! FilterKind _fk; G1CollectedHeap* _g1; // Walk the given memory region from bottom to (actual) top // looking for objects and applying the oop closure (_cl) to // them. The base implementation of this treats the area as --- 65,77 ---- // knows how to get the G1 heap and how to use the bitmap // in the concurrent marker used by G1 to filter remembered // sets. class HeapRegionDCTOC : public DirtyCardToOopClosure { ! private: HeapRegion* _hr; ! G1ParPushHeapRSClosure* _rs_scan; G1CollectedHeap* _g1; // Walk the given memory region from bottom to (actual) top // looking for objects and applying the oop closure (_cl) to // them. The base implementation of this treats the area as
*** 88,100 **** // or possibly more efficient walking. void walk_mem_region(MemRegion mr, HeapWord* bottom, HeapWord* top); public: HeapRegionDCTOC(G1CollectedHeap* g1, ! HeapRegion* hr, ExtendedOopClosure* cl, ! CardTableModRefBS::PrecisionStyle precision, ! FilterKind fk); }; // The complicating factor is that BlockOffsetTable diverged // significantly, and we need functionality that is only in the G1 version. // So I copied that code, which led to an alternate G1 version of --- 80,91 ---- // or possibly more efficient walking. void walk_mem_region(MemRegion mr, HeapWord* bottom, HeapWord* top); public: HeapRegionDCTOC(G1CollectedHeap* g1, ! HeapRegion* hr, G1ParPushHeapRSClosure* cl, ! CardTableModRefBS::PrecisionStyle precision); }; // The complicating factor is that BlockOffsetTable diverged // significantly, and we need functionality that is only in the G1 version. // So I copied that code, which led to an alternate G1 version of
< prev index next >