Details
-
Enhancement
-
Resolution: Fixed
-
P3
-
hs25, 8
-
b03
Backports
Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-8045199 | 8u25 | Thomas Schatzl | P3 | Resolved | Fixed | b01 |
JDK-8032234 | 8u20 | Thomas Schatzl | P3 | Resolved | Fixed | b01 |
JDK-8053204 | emb-8u26 | Thomas Schatzl | P3 | Resolved | Fixed | b17 |
JDK-8033521 | 7u80 | Thomas Schatzl | P3 | Resolved | Fixed | b01 |
JDK-8034540 | 7u65 | Thomas Schatzl | P3 | Resolved | Fixed | b01 |
JDK-8032652 | 7u60 | Thomas Schatzl | P3 | Closed | Fixed | b05 |
Description
- the initial mark uses the string table as roots (at the moment unconditionally, later with class unloading conditionally)
- SATB requires that any entries added later than initial mark and before remark must be kept live (and we are not treating them as weak roots anyway).
So there should be no gain looking for dead string table entries at all.
Removing this part of the remark saves ~13% of total remark pause times across a large range of FMW applications.
Attachments
Issue Links
- backported by
-
JDK-8032234 Do not traverse string table during G1 remark when treating them as strong roots during initial mark
-
- Resolved
-
-
JDK-8033521 Do not traverse string table during G1 remark when treating them as strong roots during initial mark
-
- Resolved
-
-
JDK-8034540 Do not traverse string table during G1 remark when treating them as strong roots during initial mark
-
- Resolved
-
-
JDK-8045199 Do not traverse string table during G1 remark when treating them as strong roots during initial mark
-
- Resolved
-
-
JDK-8053204 Do not traverse string table during G1 remark when treating them as strong roots during initial mark
-
- Resolved
-
-
JDK-8032652 Do not traverse string table during G1 remark when treating them as strong roots during initial mark
-
- Closed
-
- relates to
-
JDK-8027450 Improve time reporting in G1 remark
-
- Resolved
-
-
JDK-8027476 Improve performance of Stringtable unlink
-
- Resolved
-