Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-8082607 | emb-9 | Kim Barrett | P4 | Resolved | Fixed | team |
JDK-8086522 | 8u65 | Kim Barrett | P4 | Resolved | Fixed | b01 |
JDK-8078849 | 8u60 | Kim Barrett | P2 | Closed | Fixed | b17 |
JDK-8137555 | emb-8u65 | Unassigned | P4 | Resolved | Fixed | b01 |
JDK-8086138 | emb-8u60 | Kim Barrett | P4 | Resolved | Fixed | team |
The behavior of CMTask::deal_with_reference is conditionalized on the _CHECK_BOTH_FINGERS_ macro. That conditionalization involves some unnecessary code duplication, and could be simplified.
However, that macro is always 1, with no way to modify it other than by editing the source or via build arguments (I assume there is a way to insert a -D option into compiler invocations). The macro and the conditionalization were added in 2011 (JDK-7046558: G1: concurrent marking optimizations). Anyone who wants to do performance comparisons can easily reintroduce whatever conditionalizations they need; there's no need to keep untested cruft in the code base.
In addition, the local finger testing first checks for NULL _finger, then checks for NULL _curr_region, and assumes non-NULL _curr_region implies _region_limit is not NULL. However, either all three of those values are set based on a region, or all three are NULL, never a mix. So the NULL checks guarding current region range checking can be simplified.
However, that macro is always 1, with no way to modify it other than by editing the source or via build arguments (I assume there is a way to insert a -D option into compiler invocations). The macro and the conditionalization were added in 2011 (
In addition, the local finger testing first checks for NULL _finger, then checks for NULL _curr_region, and assumes non-NULL _curr_region implies _region_limit is not NULL. However, either all three of those values are set based on a region, or all three are NULL, never a mix. So the NULL checks guarding current region range checking can be simplified.
- backported by
-
JDK-8082607 Simplify deal_with_reference
-
- Resolved
-
-
JDK-8086138 Simplify deal_with_reference
-
- Resolved
-
-
JDK-8086522 Simplify deal_with_reference
-
- Resolved
-
-
JDK-8137555 Simplify deal_with_reference
-
- Resolved
-
-
JDK-8078849 Simplify deal_with_reference
-
- Closed
-
- blocks
-
JDK-8069367 Eagerly reclaimed humongous objects left on mark stack
-
- Resolved
-
(1 blocks)