--- old/src/hotspot/share/gc/shared/collectedHeap.hpp 2018-10-18 14:45:43.830139774 +0200 +++ new/src/hotspot/share/gc/shared/collectedHeap.hpp 2018-10-18 14:45:43.508125948 +0200 @@ -110,9 +110,6 @@ protected: bool _is_gc_active; - // Used for filler objects (static, but initialized in ctor). - static size_t _filler_array_max_size; - unsigned int _total_collections; // ... started unsigned int _total_full_collections; // ... started NOT_PRODUCT(volatile size_t _promotion_failure_alot_count;) @@ -147,19 +144,6 @@ virtual HeapWord* mem_allocate(size_t size, bool* gc_overhead_limit_was_exceeded) = 0; - // Filler object utilities. - static inline size_t filler_array_hdr_size(); - static inline size_t filler_array_min_size(); - - DEBUG_ONLY(static void fill_args_check(HeapWord* start, size_t words);) - DEBUG_ONLY(static void zap_filler_array(HeapWord* start, size_t words, bool zap = true);) - - // Fill with a single array; caller must ensure filler_array_min_size() <= - // words <= filler_array_max_size(). - static inline void fill_with_array(HeapWord* start, size_t words, bool zap = true); - - // Fill with a single object (either an int array or a java.lang.Object). - static inline void fill_with_object_impl(HeapWord* start, size_t words, bool zap = true); virtual void trace_heap(GCWhen::Type when, const GCTracer* tracer); @@ -179,10 +163,6 @@ Z }; - static inline size_t filler_array_max_size() { - return _filler_array_max_size; - } - virtual Name kind() const = 0; virtual const char* name() const = 0; @@ -287,31 +267,6 @@ virtual oop array_allocate(Klass* klass, int size, int length, bool do_zero, TRAPS); virtual oop class_allocate(Klass* klass, int size, TRAPS); - // Utilities for turning raw memory into filler objects. - // - // min_fill_size() is the smallest region that can be filled. - // fill_with_objects() can fill arbitrary-sized regions of the heap using - // multiple objects. fill_with_object() is for regions known to be smaller - // than the largest array of integers; it uses a single object to fill the - // region and has slightly less overhead. - static size_t min_fill_size() { - return size_t(align_object_size(oopDesc::header_size())); - } - - static void fill_with_objects(HeapWord* start, size_t words, bool zap = true); - - static void fill_with_object(HeapWord* start, size_t words, bool zap = true); - static void fill_with_object(MemRegion region, bool zap = true) { - fill_with_object(region.start(), region.word_size(), zap); - } - static void fill_with_object(HeapWord* start, HeapWord* end, bool zap = true) { - fill_with_object(start, pointer_delta(end, start), zap); - } - - virtual void fill_with_dummy_object(HeapWord* start, HeapWord* end, bool zap); - virtual size_t min_dummy_object_size() const; - size_t tlab_alloc_reserve() const; - // Return the address "addr" aligned by "alignment_in_bytes" if such // an address is below "end". Return NULL otherwise. inline static HeapWord* align_allocation_or_fail(HeapWord* addr,