mirror of
https://github.com/openjdk/jdk.git
synced 2025-09-19 18:44:38 +02:00
8246433: Shenandoah: walk roots in more efficient order in ShenandoahRootUpdater
Reviewed-by: zgu
This commit is contained in:
parent
26a18414f6
commit
1314ca87c1
1 changed files with 9 additions and 6 deletions
|
@ -239,16 +239,19 @@ void ShenandoahRootUpdater::roots_do(uint worker_id, IsAlive* is_alive, KeepAliv
|
|||
|
||||
CLDToOopClosure clds(keep_alive, ClassLoaderData::_claim_strong);
|
||||
|
||||
// Process serial-claiming roots first
|
||||
_serial_roots.oops_do(keep_alive, worker_id);
|
||||
_vm_roots.oops_do(keep_alive, worker_id);
|
||||
|
||||
_cld_roots.cld_do(&clds, worker_id);
|
||||
_code_roots.code_blobs_do(codes_cl, worker_id);
|
||||
_thread_roots.oops_do(keep_alive, NULL, worker_id);
|
||||
|
||||
_serial_weak_roots.weak_oops_do(is_alive, keep_alive, worker_id);
|
||||
|
||||
// Process light-weight/limited parallel roots then
|
||||
_vm_roots.oops_do(keep_alive, worker_id);
|
||||
_weak_roots.weak_oops_do(is_alive, keep_alive, worker_id);
|
||||
_dedup_roots.oops_do(is_alive, keep_alive, worker_id);
|
||||
_cld_roots.cld_do(&clds, worker_id);
|
||||
|
||||
// Process heavy-weight/fully parallel roots the last
|
||||
_code_roots.code_blobs_do(codes_cl, worker_id);
|
||||
_thread_roots.oops_do(keep_alive, NULL, worker_id);
|
||||
}
|
||||
|
||||
#endif // SHARE_GC_SHENANDOAH_SHENANDOAHROOTPROCESSOR_INLINE_HPP
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue