comparison src/share/vm/gc_implementation/shared/mutableNUMASpace.hpp @ 263:12eea04c8b06

6672698: mangle_unused_area() should not remangle the entire heap at each collection. Summary: Maintain a high water mark for the allocations in a space and mangle only up to that high water mark. Reviewed-by: ysr, apetrusenko
author jmasa
date Wed, 09 Jul 2008 15:08:55 -0700
parents d1635bf93939
children d6340ab4105b
comparison
equal deleted inserted replaced
225:286bee59f34b 263:12eea04c8b06
169 public: 169 public:
170 GrowableArray<LGRPSpace*>* lgrp_spaces() const { return _lgrp_spaces; } 170 GrowableArray<LGRPSpace*>* lgrp_spaces() const { return _lgrp_spaces; }
171 MutableNUMASpace(); 171 MutableNUMASpace();
172 virtual ~MutableNUMASpace(); 172 virtual ~MutableNUMASpace();
173 // Space initialization. 173 // Space initialization.
174 virtual void initialize(MemRegion mr, bool clear_space); 174 virtual void initialize(MemRegion mr, bool clear_space, bool mangle_space);
175 // Update space layout if necessary. Do all adaptive resizing job. 175 // Update space layout if necessary. Do all adaptive resizing job.
176 virtual void update(); 176 virtual void update();
177 // Update allocation rate averages. 177 // Update allocation rate averages.
178 virtual void accumulate_statistics(); 178 virtual void accumulate_statistics();
179 179
180 virtual void clear(); 180 virtual void clear(bool mangle_space);
181 virtual void mangle_unused_area(); 181 virtual void mangle_unused_area() PRODUCT_RETURN;
182 virtual void mangle_unused_area_complete() PRODUCT_RETURN;
183 virtual void mangle_region(MemRegion mr) PRODUCT_RETURN;
184 virtual void check_mangled_unused_area(HeapWord* limit) PRODUCT_RETURN;
185 virtual void check_mangled_unused_area_complete() PRODUCT_RETURN;
186 virtual void set_top_for_allocations(HeapWord* v) PRODUCT_RETURN;
187 virtual void set_top_for_allocations() PRODUCT_RETURN;
188
182 virtual void ensure_parsability(); 189 virtual void ensure_parsability();
183 virtual size_t used_in_words() const; 190 virtual size_t used_in_words() const;
184 virtual size_t free_in_words() const; 191 virtual size_t free_in_words() const;
185 virtual size_t tlab_capacity(Thread* thr) const; 192 virtual size_t tlab_capacity(Thread* thr) const;
186 virtual size_t unsafe_max_tlab_alloc(Thread* thr) const; 193 virtual size_t unsafe_max_tlab_alloc(Thread* thr) const;