145 // in an effort to maintain a large chunk at the end of the heap. |
145 // in an effort to maintain a large chunk at the end of the heap. |
146 HeapWord* _nearLargestChunk; |
146 HeapWord* _nearLargestChunk; |
147 |
147 |
148 // Used to keep track of limit of sweep for the space |
148 // Used to keep track of limit of sweep for the space |
149 HeapWord* _sweep_limit; |
149 HeapWord* _sweep_limit; |
|
150 |
|
151 // Stable value of used(). |
|
152 size_t _used_stable; |
150 |
153 |
151 // Support for compacting cms |
154 // Support for compacting cms |
152 HeapWord* cross_threshold(HeapWord* start, HeapWord* end); |
155 HeapWord* cross_threshold(HeapWord* start, HeapWord* end); |
153 HeapWord* forward(oop q, size_t size, CompactPoint* cp, HeapWord* compact_top); |
156 HeapWord* forward(oop q, size_t size, CompactPoint* cp, HeapWord* compact_top); |
154 |
157 |
341 // try to bump down the address and the allocator will try to bump it up. |
344 // try to bump down the address and the allocator will try to bump it up. |
342 // For now, however, we'll just use the default used_region() |
345 // For now, however, we'll just use the default used_region() |
343 // which overestimates the region by returning the entire |
346 // which overestimates the region by returning the entire |
344 // committed region (this is safe, but inefficient). |
347 // committed region (this is safe, but inefficient). |
345 |
348 |
|
349 // Returns monotonically increasing stable used space bytes for CMS. |
|
350 // This is required for jstat and other memory monitoring tools |
|
351 // that might otherwise see inconsistent used space values during a garbage |
|
352 // collection, promotion or allocation into compactibleFreeListSpace. |
|
353 // The value returned by this function might be smaller than the |
|
354 // actual value. |
|
355 size_t used_stable() const; |
|
356 // Recalculate and cache the current stable used() value. Only to be called |
|
357 // in places where we can be sure that the result is stable. |
|
358 void recalculate_used_stable(); |
|
359 |
346 // Returns a subregion of the space containing all the objects in |
360 // Returns a subregion of the space containing all the objects in |
347 // the space. |
361 // the space. |
348 MemRegion used_region() const { |
362 MemRegion used_region() const { |
349 return MemRegion(bottom(), |
363 return MemRegion(bottom(), |
350 BlockOffsetArrayUseUnallocatedBlock ? |
364 BlockOffsetArrayUseUnallocatedBlock ? |