307 } |
307 } |
308 |
308 |
309 |
309 |
310 // Mark nmethods for unloading if they contain otherwise unreachable |
310 // Mark nmethods for unloading if they contain otherwise unreachable |
311 // oops. |
311 // oops. |
312 void CodeCache::do_unloading(BoolObjectClosure* is_alive, |
312 void CodeCache::do_unloading(BoolObjectClosure* is_alive, bool unloading_occurred) { |
313 OopClosure* keep_alive, |
|
314 bool unloading_occurred) { |
|
315 assert_locked_or_safepoint(CodeCache_lock); |
313 assert_locked_or_safepoint(CodeCache_lock); |
316 FOR_ALL_ALIVE_NMETHODS(nm) { |
314 FOR_ALL_ALIVE_NMETHODS(nm) { |
317 nm->do_unloading(is_alive, keep_alive, unloading_occurred); |
315 nm->do_unloading(is_alive, unloading_occurred); |
318 } |
316 } |
319 } |
317 } |
320 |
318 |
321 void CodeCache::blobs_do(CodeBlobClosure* f) { |
319 void CodeCache::blobs_do(CodeBlobClosure* f) { |
322 assert_locked_or_safepoint(CodeCache_lock); |
320 assert_locked_or_safepoint(CodeCache_lock); |