140 void post_initialize(); 141 void update_counters(); 142 143 // The alignment used for the various areas 144 size_t space_alignment() { return _collector_policy->space_alignment(); } 145 size_t generation_alignment() { return _collector_policy->gen_alignment(); } 146 147 // Return the (conservative) maximum heap alignment 148 static size_t conservative_max_heap_alignment() { 149 return CollectorPolicy::compute_heap_alignment(); 150 } 151 152 size_t capacity() const; 153 size_t used() const; 154 155 // Return "true" if all generations have reached the 156 // maximal committed limit that they can reach, without a garbage 157 // collection. 158 virtual bool is_maximal_no_gc() const; 159 160 // Return true if the reference points to an object that 161 // can be moved in a partial collection. For currently implemented 162 // generational collectors that means during a collection of 163 // the young gen. 164 virtual bool is_scavengable(oop obj); 165 virtual void register_nmethod(nmethod* nm); 166 virtual void verify_nmethod(nmethod* nmethod); 167 168 size_t max_capacity() const; 169 170 // Whether p is in the allocated part of the heap 171 bool is_in(const void* p) const; 172 173 bool is_in_reserved(const void* p) const; 174 175 bool is_in_young(oop p); // reserved part 176 bool is_in_old(oop p); // reserved part 177 178 // Memory allocation. "gc_time_limit_was_exceeded" will 179 // be set to true if the adaptive size policy determine that 180 // an excessive amount of time is being spent doing collections 181 // and caused a NULL to be returned. If a NULL is not returned, 182 // "gc_time_limit_was_exceeded" has an undefined meaning. 183 HeapWord* mem_allocate(size_t size, bool* gc_overhead_limit_was_exceeded); 184 185 // Allocation attempt(s) during a safepoint. It should never be called 186 // to allocate a new TLAB as this allocation might be satisfied out | 140 void post_initialize(); 141 void update_counters(); 142 143 // The alignment used for the various areas 144 size_t space_alignment() { return _collector_policy->space_alignment(); } 145 size_t generation_alignment() { return _collector_policy->gen_alignment(); } 146 147 // Return the (conservative) maximum heap alignment 148 static size_t conservative_max_heap_alignment() { 149 return CollectorPolicy::compute_heap_alignment(); 150 } 151 152 size_t capacity() const; 153 size_t used() const; 154 155 // Return "true" if all generations have reached the 156 // maximal committed limit that they can reach, without a garbage 157 // collection. 158 virtual bool is_maximal_no_gc() const; 159 160 virtual void register_nmethod(nmethod* nm); 161 virtual void unregister_nmethod(nmethod* nm); 162 virtual void verify_nmethod(nmethod* nm); 163 virtual void flush_nmethod(nmethod* nm); 164 165 void prune_nmethods(); 166 167 size_t max_capacity() const; 168 169 // Whether p is in the allocated part of the heap 170 bool is_in(const void* p) const; 171 172 bool is_in_reserved(const void* p) const; 173 174 bool is_in_young(oop p); // reserved part 175 bool is_in_old(oop p); // reserved part 176 177 // Memory allocation. "gc_time_limit_was_exceeded" will 178 // be set to true if the adaptive size policy determine that 179 // an excessive amount of time is being spent doing collections 180 // and caused a NULL to be returned. If a NULL is not returned, 181 // "gc_time_limit_was_exceeded" has an undefined meaning. 182 HeapWord* mem_allocate(size_t size, bool* gc_overhead_limit_was_exceeded); 183 184 // Allocation attempt(s) during a safepoint. It should never be called 185 // to allocate a new TLAB as this allocation might be satisfied out |