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