RFR: Scan remembered
Kelvin Nilsen
github.com+51720475+kdnilsen at openjdk.java.net
Mon Jan 11 02:07:45 UTC 2021
Add support for scanning remembered set
The code has support for two alternative implementations of the remembered set. The current remembered set implementation uses traditional card marking, where the post writer barrier for pointer write operations sets the mark for every overwritten card.
A contemplated future remembered set implementation is represented in skeleton form within the shenandoahBufferWithSATBRememberedSet.hpp and shenandoahBufferWithSATBRememberedSet.inline.hpp files. The idea of this alternative remembered set implementation is that the existing SATB buffers will be augmented to additionally remember the address of each overwritten reference field. Subsequent processing of the SATB buffer contents by background GC threads will update the TBD remembered set representation.
There are known bugs and performance improvements in the remembered set scanning implementation that have been addressed in certain Amazon-internal commits. These commits will be upstreamed at a later time after other commits not directly related to remembered set scanning are upstreamed.
-------------
Commit messages:
- Remove printf statements
- Remove extraneous white space
- Add support for scanning remembered set
- Build fixes (JDK assert takes a format string)
- Add support for scanning remembered set
Changes: https://git.openjdk.java.net/shenandoah/pull/12/files
Webrev: https://webrevs.openjdk.java.net/?repo=shenandoah&pr=12&range=00
Stats: 1765 lines in 10 files changed: 1755 ins; 0 del; 10 mod
Patch: https://git.openjdk.java.net/shenandoah/pull/12.diff
Fetch: git fetch https://git.openjdk.java.net/shenandoah pull/12/head:pull/12
PR: https://git.openjdk.java.net/shenandoah/pull/12
More information about the shenandoah-dev
mailing list