hotspot/src/share/vm/gc_interface/collectedHeap.hpp
changeset 4636 90e004691873
parent 4030 4c471254865e
child 4637 af4d405aacc1
equal deleted inserted replaced
4578:8c2778d19ffa 4636:90e004691873
   125   static inline size_t filler_array_hdr_size();
   125   static inline size_t filler_array_hdr_size();
   126   static inline size_t filler_array_min_size();
   126   static inline size_t filler_array_min_size();
   127   static inline size_t filler_array_max_size();
   127   static inline size_t filler_array_max_size();
   128 
   128 
   129   DEBUG_ONLY(static void fill_args_check(HeapWord* start, size_t words);)
   129   DEBUG_ONLY(static void fill_args_check(HeapWord* start, size_t words);)
   130   DEBUG_ONLY(static void zap_filler_array(HeapWord* start, size_t words);)
   130   DEBUG_ONLY(static void zap_filler_array(HeapWord* start, size_t words, bool zap = true);)
   131 
   131 
   132   // Fill with a single array; caller must ensure filler_array_min_size() <=
   132   // Fill with a single array; caller must ensure filler_array_min_size() <=
   133   // words <= filler_array_max_size().
   133   // words <= filler_array_max_size().
   134   static inline void fill_with_array(HeapWord* start, size_t words);
   134   static inline void fill_with_array(HeapWord* start, size_t words, bool zap = true);
   135 
   135 
   136   // Fill with a single object (either an int array or a java.lang.Object).
   136   // Fill with a single object (either an int array or a java.lang.Object).
   137   static inline void fill_with_object_impl(HeapWord* start, size_t words);
   137   static inline void fill_with_object_impl(HeapWord* start, size_t words, bool zap = true);
   138 
   138 
   139   // Verification functions
   139   // Verification functions
   140   virtual void check_for_bad_heap_word_value(HeapWord* addr, size_t size)
   140   virtual void check_for_bad_heap_word_value(HeapWord* addr, size_t size)
   141     PRODUCT_RETURN;
   141     PRODUCT_RETURN;
   142   virtual void check_for_non_bad_heap_word_value(HeapWord* addr, size_t size)
   142   virtual void check_for_non_bad_heap_word_value(HeapWord* addr, size_t size)
   336   // region and has slightly less overhead.
   336   // region and has slightly less overhead.
   337   static size_t min_fill_size() {
   337   static size_t min_fill_size() {
   338     return size_t(align_object_size(oopDesc::header_size()));
   338     return size_t(align_object_size(oopDesc::header_size()));
   339   }
   339   }
   340 
   340 
   341   static void fill_with_objects(HeapWord* start, size_t words);
   341   static void fill_with_objects(HeapWord* start, size_t words, bool zap = true);
   342 
   342 
   343   static void fill_with_object(HeapWord* start, size_t words);
   343   static void fill_with_object(HeapWord* start, size_t words, bool zap = true);
   344   static void fill_with_object(MemRegion region) {
   344   static void fill_with_object(MemRegion region, bool zap = true) {
   345     fill_with_object(region.start(), region.word_size());
   345     fill_with_object(region.start(), region.word_size(), zap);
   346   }
   346   }
   347   static void fill_with_object(HeapWord* start, HeapWord* end) {
   347   static void fill_with_object(HeapWord* start, HeapWord* end, bool zap = true) {
   348     fill_with_object(start, pointer_delta(end, start));
   348     fill_with_object(start, pointer_delta(end, start), zap);
   349   }
   349   }
   350 
   350 
   351   // Some heaps may offer a contiguous region for shared non-blocking
   351   // Some heaps may offer a contiguous region for shared non-blocking
   352   // allocation, via inlined code (by exporting the address of the top and
   352   // allocation, via inlined code (by exporting the address of the top and
   353   // end fields defining the extent of the contiguous allocation region.)
   353   // end fields defining the extent of the contiguous allocation region.)