RFR: 8318057: GenShen: investigate small refactor of remset swap code [v3]

Y. Srinivas Ramakrishna ysr at openjdk.org
Tue Oct 31 17:31:33 UTC 2023


> Some closures were being unnecessarily applied to free regions rather than just to allocated old and young regions. Restrict the closure application to old and young regions as appropriate, eliminating extra generation affiliation checks in some closures. Also fixed a slightly incorrect documentation comment.
> 
> Replaced use of integer division with right shifts. Added a few useful assertions associated with these operations.
> 
> However, neither of these made any measurable difference to the performance of the bulk operations on the card table.
> 
> **Testing:**
> 
> - [x] jtreg and stress tests in test pipeline helper
> - [x] locally tested with jtreg hotsot_gc tests and with specjbb with and without heap verification
> - [x] no performance improvements noted; gathering more data, see ticket for latest updates

Y. Srinivas Ramakrishna has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains 12 additional commits since the last revision:

 - Merge branch 'master' into swap_rs
 - Slight improvement on code in last commit
 - A paranoid, but useful assert on sizes of types.
 - Fix Windows build warning.
 - Fix off by one violating card table API precondition.
 - Move implementations into .cpp from .hpp.
   Fix an indexing error.
 - Merge branch 'master' into swap_rs
 - Avoid division in card table merge/clear.
 - Merge branch 'master' into swap_rs
 - fix for comp error (wrong variable name).
 - ... and 2 more: https://git.openjdk.org/shenandoah/compare/c1e87514...3903b3ec

-------------

Changes:
  - all: https://git.openjdk.org/shenandoah/pull/342/files
  - new: https://git.openjdk.org/shenandoah/pull/342/files/6f241a48..3903b3ec

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=shenandoah&pr=342&range=02
 - incr: https://webrevs.openjdk.org/?repo=shenandoah&pr=342&range=01-02

  Stats: 30987 lines in 1078 files changed: 19698 ins; 6209 del; 5080 mod
  Patch: https://git.openjdk.org/shenandoah/pull/342.diff
  Fetch: git fetch https://git.openjdk.org/shenandoah.git pull/342/head:pull/342

PR: https://git.openjdk.org/shenandoah/pull/342


More information about the shenandoah-dev mailing list