Currently we have Threads::possibly_parallel_threads_do(), which operates on all the Java threads and the VM thread, but ignores other non-Java threads. However, there are some places that want parallel iteration over all threads, which use explicit iteration and explicit use of the claim_threads_do mechanism.
It would be better to have a function similar to possibly_parallel_threads_do that operates on all threads.
There is a naming issue though. Perhaps possibly_parallel_oops_do should be the all-threads variant, and the restricted version should be possibly_parallel_java_threads_and_vm_thread_do, being consistent with the naming of the serial iterators.
Alternatively investigate whether it is possible to just have possibly_parallel_threads_do cover the same threads as threads_do for consistency.
It would be better to have a function similar to possibly_parallel_threads_do that operates on all threads.
There is a naming issue though. Perhaps possibly_parallel_oops_do should be the all-threads variant, and the restricted version should be possibly_parallel_java_threads_and_vm_thread_do, being consistent with the naming of the serial iterators.
Alternatively investigate whether it is possible to just have possibly_parallel_threads_do cover the same threads as threads_do for consistency.
- blocks
-
JDK-8211104 Parallelize TLAB retirement at prologue in Parallel GC
- Open
- relates to
-
JDK-8311656 Shenandoah: Unused ShenandoahSATBAndRemarkThreadsClosure::_claim_token
- Resolved
-
JDK-8221102 Allow GC threads to participate in threads claiming protocol
- Closed