The SubTasksDone class is used to track which in a set of tasks has been claimed by possibly parallel threads. Nearly all uses allocate one, use it, and then delete it. With JDK-8260574, the last reusing use case is removed. Therefore, its APIs can be revisedd to drop the support of reusing the same instance, removing `clear()` and its callers.
--- Obsoleted byJDK-8260574 ----
However, there are a small number (perhaps only one, in GenCollectedHeap) that are allocated and then used repeatedly. This results in the need for resetting at the end of use (even though most are not reused), and makes some kinds of usage checking more difficult.
It would be better if these objects were not permitted to be re-used, and then take advantage of that change.
--- Obsoleted by
However, there are a small number (perhaps only one, in GenCollectedHeap) that are allocated and then used repeatedly. This results in the need for resetting at the end of use (even though most are not reused), and makes some kinds of usage checking more difficult.
It would be better if these objects were not permitted to be re-used, and then take advantage of that change.
- relates to
-
JDK-8260574 Remove parallel constructs in GenCollectedHeap::process_roots
- Resolved
-
JDK-8074101 Add verification that all tasks are actually claimed during roots processing
- Resolved