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
-