244 return (HeapWord*)_heap.block_start((uintptr_t)addr);
245 }
246
247 size_t ZCollectedHeap::block_size(const HeapWord* addr) const {
248 size_t size_in_bytes = _heap.block_size((uintptr_t)addr);
249 return ZUtils::bytes_to_words(size_in_bytes);
250 }
251
252 bool ZCollectedHeap::block_is_obj(const HeapWord* addr) const {
253 return _heap.block_is_obj((uintptr_t)addr);
254 }
255
256 void ZCollectedHeap::register_nmethod(nmethod* nm) {
257 ZNMethod::register_nmethod(nm);
258 }
259
260 void ZCollectedHeap::unregister_nmethod(nmethod* nm) {
261 ZNMethod::unregister_nmethod(nm);
262 }
263
264 void ZCollectedHeap::verify_nmethod(nmethod* nm) {
265 // Does nothing
266 }
267
268 WorkGang* ZCollectedHeap::get_safepoint_workers() {
269 return _runtime_workers.workers();
270 }
271
272 jlong ZCollectedHeap::millis_since_last_gc() {
273 return ZStatCycle::time_since_last() / MILLIUNITS;
274 }
275
276 void ZCollectedHeap::gc_threads_do(ThreadClosure* tc) const {
277 tc->do_thread(_director);
278 tc->do_thread(_driver);
279 tc->do_thread(_stat);
280 _heap.worker_threads_do(tc);
281 _runtime_workers.threads_do(tc);
282 }
|
244 return (HeapWord*)_heap.block_start((uintptr_t)addr);
245 }
246
247 size_t ZCollectedHeap::block_size(const HeapWord* addr) const {
248 size_t size_in_bytes = _heap.block_size((uintptr_t)addr);
249 return ZUtils::bytes_to_words(size_in_bytes);
250 }
251
252 bool ZCollectedHeap::block_is_obj(const HeapWord* addr) const {
253 return _heap.block_is_obj((uintptr_t)addr);
254 }
255
256 void ZCollectedHeap::register_nmethod(nmethod* nm) {
257 ZNMethod::register_nmethod(nm);
258 }
259
260 void ZCollectedHeap::unregister_nmethod(nmethod* nm) {
261 ZNMethod::unregister_nmethod(nm);
262 }
263
264 void ZCollectedHeap::flush_nmethod(nmethod* nm) {
265 ZNMethod::flush_nmethod(nm);
266 }
267
268 void ZCollectedHeap::verify_nmethod(nmethod* nm) {
269 // Does nothing
270 }
271
272 WorkGang* ZCollectedHeap::get_safepoint_workers() {
273 return _runtime_workers.workers();
274 }
275
276 jlong ZCollectedHeap::millis_since_last_gc() {
277 return ZStatCycle::time_since_last() / MILLIUNITS;
278 }
279
280 void ZCollectedHeap::gc_threads_do(ThreadClosure* tc) const {
281 tc->do_thread(_director);
282 tc->do_thread(_driver);
283 tc->do_thread(_stat);
284 _heap.worker_threads_do(tc);
285 _runtime_workers.threads_do(tc);
286 }
|