< prev index next >

src/share/vm/gc/shared/space.hpp

Print this page
rev 12906 : [mq]: gc_interface

*** 24,34 **** #ifndef SHARE_VM_GC_SHARED_SPACE_HPP #define SHARE_VM_GC_SHARED_SPACE_HPP #include "gc/shared/blockOffsetTable.hpp" ! #include "gc/shared/cardTableModRefBS.hpp" #include "gc/shared/workgroup.hpp" #include "memory/allocation.hpp" #include "memory/iterator.hpp" #include "memory/memRegion.hpp" #include "oops/markOop.hpp" --- 24,34 ---- #ifndef SHARE_VM_GC_SHARED_SPACE_HPP #define SHARE_VM_GC_SHARED_SPACE_HPP #include "gc/shared/blockOffsetTable.hpp" ! #include "gc/shared/cardTable.hpp" #include "gc/shared/workgroup.hpp" #include "memory/allocation.hpp" #include "memory/iterator.hpp" #include "memory/memRegion.hpp" #include "oops/markOop.hpp"
*** 178,188 **** // Create and return a new dirty card to oop closure. Can be // overridden to return the appropriate type of closure // depending on the type of space in which the closure will // operate. ResourceArea allocated. virtual DirtyCardToOopClosure* new_dcto_cl(ExtendedOopClosure* cl, ! CardTableModRefBS::PrecisionStyle precision, HeapWord* boundary, bool parallel); // If "p" is in the space, returns the address of the start of the // "block" that contains "p". We say "block" instead of "object" since --- 178,188 ---- // Create and return a new dirty card to oop closure. Can be // overridden to return the appropriate type of closure // depending on the type of space in which the closure will // operate. ResourceArea allocated. virtual DirtyCardToOopClosure* new_dcto_cl(ExtendedOopClosure* cl, ! CardTable::PrecisionStyle precision, HeapWord* boundary, bool parallel); // If "p" is in the space, returns the address of the start of the // "block" that contains "p". We say "block" instead of "object" since
*** 250,260 **** class DirtyCardToOopClosure: public MemRegionClosureRO { protected: ExtendedOopClosure* _cl; Space* _sp; ! CardTableModRefBS::PrecisionStyle _precision; HeapWord* _boundary; // If non-NULL, process only non-NULL oops // pointing below boundary. HeapWord* _min_done; // ObjHeadPreciseArray precision requires // a downwards traversal; this is the // lowest location already done (or, --- 250,260 ---- class DirtyCardToOopClosure: public MemRegionClosureRO { protected: ExtendedOopClosure* _cl; Space* _sp; ! CardTable::PrecisionStyle _precision; HeapWord* _boundary; // If non-NULL, process only non-NULL oops // pointing below boundary. HeapWord* _min_done; // ObjHeadPreciseArray precision requires // a downwards traversal; this is the // lowest location already done (or,
*** 279,289 **** // or possibly more efficient walking. virtual void walk_mem_region(MemRegion mr, HeapWord* bottom, HeapWord* top); public: DirtyCardToOopClosure(Space* sp, ExtendedOopClosure* cl, ! CardTableModRefBS::PrecisionStyle precision, HeapWord* boundary) : _sp(sp), _cl(cl), _precision(precision), _boundary(boundary), _min_done(NULL) { NOT_PRODUCT(_last_bottom = NULL); NOT_PRODUCT(_last_explicit_min_done = NULL); --- 279,289 ---- // or possibly more efficient walking. virtual void walk_mem_region(MemRegion mr, HeapWord* bottom, HeapWord* top); public: DirtyCardToOopClosure(Space* sp, ExtendedOopClosure* cl, ! CardTable::PrecisionStyle precision, HeapWord* boundary) : _sp(sp), _cl(cl), _precision(precision), _boundary(boundary), _min_done(NULL) { NOT_PRODUCT(_last_bottom = NULL); NOT_PRODUCT(_last_explicit_min_done = NULL);
*** 613,623 **** set_concurrent_iteration_safe_limit(compaction_top()); } // Override. DirtyCardToOopClosure* new_dcto_cl(ExtendedOopClosure* cl, ! CardTableModRefBS::PrecisionStyle precision, HeapWord* boundary, bool parallel); // Apply "blk->do_oop" to the addresses of all reference fields in objects // starting with the _saved_mark_word, which was noted during a generation's --- 613,623 ---- set_concurrent_iteration_safe_limit(compaction_top()); } // Override. DirtyCardToOopClosure* new_dcto_cl(ExtendedOopClosure* cl, ! CardTable::PrecisionStyle precision, HeapWord* boundary, bool parallel); // Apply "blk->do_oop" to the addresses of all reference fields in objects // starting with the _saved_mark_word, which was noted during a generation's
*** 688,698 **** HeapWord* bottom, HeapWord* top, FilteringClosure* cl) = 0; public: FilteringDCTOC(Space* sp, ExtendedOopClosure* cl, ! CardTableModRefBS::PrecisionStyle precision, HeapWord* boundary) : DirtyCardToOopClosure(sp, cl, precision, boundary) {} }; // A dirty card to oop closure for contiguous spaces --- 688,698 ---- HeapWord* bottom, HeapWord* top, FilteringClosure* cl) = 0; public: FilteringDCTOC(Space* sp, ExtendedOopClosure* cl, ! CardTable::PrecisionStyle precision, HeapWord* boundary) : DirtyCardToOopClosure(sp, cl, precision, boundary) {} }; // A dirty card to oop closure for contiguous spaces
*** 717,727 **** HeapWord* bottom, HeapWord* top, FilteringClosure* cl); public: ContiguousSpaceDCTOC(ContiguousSpace* sp, ExtendedOopClosure* cl, ! CardTableModRefBS::PrecisionStyle precision, HeapWord* boundary) : FilteringDCTOC(sp, cl, precision, boundary) {} }; --- 717,727 ---- HeapWord* bottom, HeapWord* top, FilteringClosure* cl); public: ContiguousSpaceDCTOC(ContiguousSpace* sp, ExtendedOopClosure* cl, ! CardTable::PrecisionStyle precision, HeapWord* boundary) : FilteringDCTOC(sp, cl, precision, boundary) {} };
< prev index next >