39 friend class VMStructs; 40 41 private: 42 ZCollectorPolicy* _collector_policy; 43 SoftRefPolicy _soft_ref_policy; 44 ZBarrierSet _barrier_set; 45 ZInitialize _initialize; 46 ZHeap _heap; 47 ZDirector* _director; 48 ZDriver* _driver; 49 ZStat* _stat; 50 ZRuntimeWorkers _runtime_workers; 51 52 virtual HeapWord* allocate_new_tlab(size_t min_size, 53 size_t requested_size, 54 size_t* actual_size); 55 56 public: 57 static ZCollectedHeap* heap(); 58 59 using CollectedHeap::ensure_parsability; 60 using CollectedHeap::resize_all_tlabs; 61 62 ZCollectedHeap(ZCollectorPolicy* policy); 63 virtual Name kind() const; 64 virtual const char* name() const; 65 virtual jint initialize(); 66 virtual void initialize_serviceability(); 67 virtual void stop(); 68 69 virtual CollectorPolicy* collector_policy() const; 70 virtual SoftRefPolicy* soft_ref_policy(); 71 72 virtual size_t max_capacity() const; 73 virtual size_t capacity() const; 74 virtual size_t used() const; 75 76 virtual bool is_maximal_no_gc() const; 77 virtual bool is_scavengable(oop obj); 78 virtual bool is_in(const void* p) const; 79 virtual bool is_in_closed_subset(const void* p) const; 80 81 virtual HeapWord* mem_allocate(size_t size, bool* gc_overhead_limit_was_exceeded); 82 virtual MetaWord* satisfy_failed_metadata_allocation(ClassLoaderData* loader_data, 83 size_t size, 84 Metaspace::MetadataType mdtype); 85 virtual void collect(GCCause::Cause cause); 86 virtual void collect_as_vm_thread(GCCause::Cause cause); 87 virtual void do_full_collection(bool clear_all_soft_refs); 88 89 virtual bool supports_tlab_allocation() const; 90 virtual size_t tlab_capacity(Thread* thr) const; 91 virtual size_t tlab_used(Thread* thr) const; 92 virtual size_t max_tlab_size() const; 93 virtual size_t unsafe_max_tlab_alloc(Thread* thr) const; 94 95 virtual bool can_elide_tlab_store_barriers() const; 96 virtual bool can_elide_initializing_store_barrier(oop new_obj); 97 virtual bool card_mark_must_follow_store() const; 98 99 virtual GrowableArray<GCMemoryManager*> memory_managers(); | 39 friend class VMStructs; 40 41 private: 42 ZCollectorPolicy* _collector_policy; 43 SoftRefPolicy _soft_ref_policy; 44 ZBarrierSet _barrier_set; 45 ZInitialize _initialize; 46 ZHeap _heap; 47 ZDirector* _director; 48 ZDriver* _driver; 49 ZStat* _stat; 50 ZRuntimeWorkers _runtime_workers; 51 52 virtual HeapWord* allocate_new_tlab(size_t min_size, 53 size_t requested_size, 54 size_t* actual_size); 55 56 public: 57 static ZCollectedHeap* heap(); 58 59 ZCollectedHeap(ZCollectorPolicy* policy); 60 virtual Name kind() const; 61 virtual const char* name() const; 62 virtual jint initialize(); 63 virtual void initialize_serviceability(); 64 virtual void stop(); 65 66 virtual CollectorPolicy* collector_policy() const; 67 virtual SoftRefPolicy* soft_ref_policy(); 68 69 virtual size_t max_capacity() const; 70 virtual size_t capacity() const; 71 virtual size_t used() const; 72 73 virtual bool is_maximal_no_gc() const; 74 virtual bool is_scavengable(oop obj); 75 virtual bool is_in(const void* p) const; 76 virtual bool is_in_closed_subset(const void* p) const; 77 78 virtual void fill_with_dummy_object(HeapWord* start, HeapWord* end, bool zap); 79 80 virtual HeapWord* mem_allocate(size_t size, bool* gc_overhead_limit_was_exceeded); 81 virtual MetaWord* satisfy_failed_metadata_allocation(ClassLoaderData* loader_data, 82 size_t size, 83 Metaspace::MetadataType mdtype); 84 virtual void collect(GCCause::Cause cause); 85 virtual void collect_as_vm_thread(GCCause::Cause cause); 86 virtual void do_full_collection(bool clear_all_soft_refs); 87 88 virtual bool supports_tlab_allocation() const; 89 virtual size_t tlab_capacity(Thread* thr) const; 90 virtual size_t tlab_used(Thread* thr) const; 91 virtual size_t max_tlab_size() const; 92 virtual size_t unsafe_max_tlab_alloc(Thread* thr) const; 93 94 virtual bool can_elide_tlab_store_barriers() const; 95 virtual bool can_elide_initializing_store_barrier(oop new_obj); 96 virtual bool card_mark_must_follow_store() const; 97 98 virtual GrowableArray<GCMemoryManager*> memory_managers(); |