Details
-
Bug
-
Resolution: Fixed
-
P5
-
hs25, 9
-
b03
-
generic
-
generic
Backports
Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-8045271 | 8u25 | Per Liden | P5 | Resolved | Fixed | b01 |
JDK-8038228 | 8u20 | Per Liden | P5 | Resolved | Fixed | b08 |
JDK-8053271 | emb-8u26 | Per Liden | P5 | Resolved | Fixed | b17 |
Description
As part of implementing String deduplication for G1 (JDK-8029075) I discovered that the shared SATB queue is never enabled (ever). In the current G1 implementation this bug has no side effect (as far as I can tell) because we do not depend on that queue for anything. This queue is only used when non-Java threads overwrites a object reference while concurrent marking is running. We don't have any such threads at the moment (the VM thread and concurrent marking thread actually overwrites references during reference processing, but they do it as part of a prepend to a list, so the original reference becomes the next value so it's not detached from the list).
The fix is simple, the function SATBMarkQueueSet::set_active_all_threads() needs to call shared_satb_queue()->set_active().
Since this bug has no side effect it's currently not a problem. However, this needs to be fixed beforeJDK-8029075 can be completed.
Current ILW = LLL = P5
However, this bug is blockingJDK-8029075, which at some point will change it to ILW = HMH = P1
The fix is simple, the function SATBMarkQueueSet::set_active_all_threads() needs to call shared_satb_queue()->set_active().
Since this bug has no side effect it's currently not a problem. However, this needs to be fixed before
Current ILW = LLL = P5
However, this bug is blocking
Attachments
Issue Links
- backported by
-
JDK-8038228 G1: Shared SATB queue never enabled
-
- Resolved
-
-
JDK-8045271 G1: Shared SATB queue never enabled
-
- Resolved
-
-
JDK-8053271 G1: Shared SATB queue never enabled
-
- Resolved
-
- blocks
-
JDK-8029075 String deduplication in G1
-
- Resolved
-
- is blocked by
-
JDK-8029255 G1: Reference processing should not enqueue references on the shared SATB queue
-
- Resolved
-