src/hotspot/share/gc/cms/compactibleFreeListSpace.hpp

Print this page

        

*** 190,199 **** --- 190,202 ---- HeapWord* _nearLargestChunk; // Used to keep track of limit of sweep for the space HeapWord* _sweep_limit; + // Stable value of used(). + size_t _used_stable; + // Used to make the young collector update the mod union table MemRegionClosure* _preconsumptionDirtyCardClosure; // Support for compacting cms HeapWord* cross_threshold(HeapWord* start, HeapWord* end);
*** 410,419 **** --- 413,433 ---- // try to bump down the address and the allocator will try to bump it up. // For now, however, we'll just use the default used_region() // which overestimates the region by returning the entire // committed region (this is safe, but inefficient). + // Returns monotonically increasing stable used space bytes for CMS. + // This is required for jhat and other memory monitoring tools + // that might otherwise see inconsistent used space values during a garbage + // collection, promotion or allocation into compactibleFreeListSpace. + // The value returned by this function might be smaller than the + // actual value. + size_t used_stable() const; + // Recalculate and cache the current stable used() value. Only to be called + // in places where we can be sure that the result is stable. + void recalculate_used_stable(); + // Returns a subregion of the space containing all the objects in // the space. MemRegion used_region() const { return MemRegion(bottom(), BlockOffsetArrayUseUnallocatedBlock ?