< prev index next >

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

Print this page

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

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

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