< prev index next >

src/hotspot/share/gc/shared/collectedHeap.hpp

Print this page

146   // Create a new tlab. All TLAB allocations must go through this.
147   // To allow more flexible TLAB allocations min_size specifies
148   // the minimum size needed, while requested_size is the requested
149   // size based on ergonomics. The actually allocated size will be
150   // returned in actual_size.
151   virtual HeapWord* allocate_new_tlab(size_t min_size,
152                                       size_t requested_size,
153                                       size_t* actual_size);
154 
155   // Reinitialize tlabs before resuming mutators.
156   virtual void resize_all_tlabs();
157 
158   // Raw memory allocation facilities
159   // The obj and array allocate methods are covers for these methods.
160   // mem_allocate() should never be
161   // called to allocate TLABs, only individual objects.
162   virtual HeapWord* mem_allocate(size_t size,
163                                  bool* gc_overhead_limit_was_exceeded) = 0;
164 
165   // Filler object utilities.
166   static inline size_t filler_array_hdr_size();
167   static inline size_t filler_array_min_size();
168 
169   static inline void zap_filler_array_with(HeapWord* start, size_t words, juint value);
170   DEBUG_ONLY(static void fill_args_check(HeapWord* start, size_t words);)
171   DEBUG_ONLY(static void zap_filler_array(HeapWord* start, size_t words, bool zap = true);)
172 
173   // Fill with a single array; caller must ensure filler_array_min_size() <=
174   // words <= filler_array_max_size().
175   static inline void fill_with_array(HeapWord* start, size_t words, bool zap = true);
176 
177   // Fill with a single object (either an int array or a java.lang.Object).
178   static inline void fill_with_object_impl(HeapWord* start, size_t words, bool zap = true);
179 
180   virtual void trace_heap(GCWhen::Type when, const GCTracer* tracer);
181 
182   // Verification functions
183   virtual void check_for_non_bad_heap_word_value(HeapWord* addr, size_t size)
184     PRODUCT_RETURN;
185   debug_only(static void check_for_valid_allocation_state();)
186 

146   // Create a new tlab. All TLAB allocations must go through this.
147   // To allow more flexible TLAB allocations min_size specifies
148   // the minimum size needed, while requested_size is the requested
149   // size based on ergonomics. The actually allocated size will be
150   // returned in actual_size.
151   virtual HeapWord* allocate_new_tlab(size_t min_size,
152                                       size_t requested_size,
153                                       size_t* actual_size);
154 
155   // Reinitialize tlabs before resuming mutators.
156   virtual void resize_all_tlabs();
157 
158   // Raw memory allocation facilities
159   // The obj and array allocate methods are covers for these methods.
160   // mem_allocate() should never be
161   // called to allocate TLABs, only individual objects.
162   virtual HeapWord* mem_allocate(size_t size,
163                                  bool* gc_overhead_limit_was_exceeded) = 0;
164 
165   // Filler object utilities.

166   static inline size_t filler_array_min_size();
167 
168   static inline void zap_filler_array_with(HeapWord* start, size_t words, juint value);
169   DEBUG_ONLY(static void fill_args_check(HeapWord* start, size_t words);)
170   DEBUG_ONLY(static void zap_filler_array(HeapWord* start, size_t words, bool zap = true);)
171 
172   // Fill with a single array; caller must ensure filler_array_min_size() <=
173   // words <= filler_array_max_size().
174   static inline void fill_with_array(HeapWord* start, size_t words, bool zap = true);
175 
176   // Fill with a single object (either an int array or a java.lang.Object).
177   static inline void fill_with_object_impl(HeapWord* start, size_t words, bool zap = true);
178 
179   virtual void trace_heap(GCWhen::Type when, const GCTracer* tracer);
180 
181   // Verification functions
182   virtual void check_for_non_bad_heap_word_value(HeapWord* addr, size_t size)
183     PRODUCT_RETURN;
184   debug_only(static void check_for_valid_allocation_state();)
185 
< prev index next >