< prev index next >
src/hotspot/share/gc/shared/collectedHeap.hpp
Print this page
@@ -108,13 +108,10 @@
MemRegion _reserved;
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;)
NOT_PRODUCT(volatile size_t _promotion_failure_alot_gc_number;)
@@ -145,23 +142,10 @@
// mem_allocate() should never be
// called to allocate TLABs, only individual objects.
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);
// Verification functions
virtual void check_for_non_bad_heap_word_value(HeapWord* addr, size_t size)
@@ -177,14 +161,10 @@
G1,
Epsilon,
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;
/**
@@ -285,35 +265,10 @@
virtual oop obj_allocate(Klass* klass, int size, TRAPS);
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,
HeapWord* end,
unsigned short alignment_in_bytes);
< prev index next >