88 size_t used() const; 89 size_t allocated() const; 90 size_t reclaimed() const; 91 92 size_t tlab_capacity() const; 93 size_t tlab_used() const; 94 size_t max_tlab_size() const; 95 size_t unsafe_max_tlab_alloc() const; 96 97 bool is_in(uintptr_t addr) const; 98 99 // Block 100 uintptr_t block_start(uintptr_t addr) const; 101 size_t block_size(uintptr_t addr) const; 102 bool block_is_obj(uintptr_t addr) const; 103 104 // Raw pagetable exposed for barriers 105 ZPageTableEntry* pagetable_addr() const; 106 107 // Workers 108 void set_boost_worker_threads(bool boost); 109 void worker_threads_do(ThreadClosure* tc) const; 110 void print_worker_threads_on(outputStream* st) const; 111 112 // Reference processing 113 ReferenceDiscoverer* reference_discoverer(); 114 void set_soft_reference_policy(bool clear); 115 116 // Non-strong reference processing 117 void process_non_strong_references(); 118 119 // Page allocation 120 ZPage* alloc_page(uint8_t type, size_t size, ZAllocationFlags flags); 121 void undo_alloc_page(ZPage* page); 122 bool retain_page(ZPage* page); 123 void release_page(ZPage* page, bool reclaimed); 124 125 // Object allocation 126 uintptr_t alloc_tlab(size_t size); 127 uintptr_t alloc_object(size_t size); | 88 size_t used() const; 89 size_t allocated() const; 90 size_t reclaimed() const; 91 92 size_t tlab_capacity() const; 93 size_t tlab_used() const; 94 size_t max_tlab_size() const; 95 size_t unsafe_max_tlab_alloc() const; 96 97 bool is_in(uintptr_t addr) const; 98 99 // Block 100 uintptr_t block_start(uintptr_t addr) const; 101 size_t block_size(uintptr_t addr) const; 102 bool block_is_obj(uintptr_t addr) const; 103 104 // Raw pagetable exposed for barriers 105 ZPageTableEntry* pagetable_addr() const; 106 107 // Workers 108 uint nconcurrent_worker_threads() const; 109 uint nconcurrent_no_boost_worker_threads() const; 110 void set_boost_worker_threads(bool boost); 111 void worker_threads_do(ThreadClosure* tc) const; 112 void print_worker_threads_on(outputStream* st) const; 113 114 // Reference processing 115 ReferenceDiscoverer* reference_discoverer(); 116 void set_soft_reference_policy(bool clear); 117 118 // Non-strong reference processing 119 void process_non_strong_references(); 120 121 // Page allocation 122 ZPage* alloc_page(uint8_t type, size_t size, ZAllocationFlags flags); 123 void undo_alloc_page(ZPage* page); 124 bool retain_page(ZPage* page); 125 void release_page(ZPage* page, bool reclaimed); 126 127 // Object allocation 128 uintptr_t alloc_tlab(size_t size); 129 uintptr_t alloc_object(size_t size); |