RFR: Simplify crossing map implementation

Kelvin Nilsen kdnilsen at openjdk.java.net
Tue Feb 1 21:16:59 UTC 2022


The crossing map maintains a record of the first and last objects
starting within each remembered set card's range of memory addresses.
The previous implementations used bit-shifts.  It was detected during
testing that the c++ compiler was emitting incorrect code in certain
in-line expansions of the register_object() method.  gdb reports that
there are 56 distinct contexts holding the expansion of this function.
This simplified implementation does not exhibit the same broken
behavior.

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

Commit messages:
 - Simplify crossing map implementation

Changes: https://git.openjdk.java.net/shenandoah/pull/107/files
 Webrev: https://webrevs.openjdk.java.net/?repo=shenandoah&pr=107&range=00
  Stats: 76 lines in 2 files changed: 20 ins; 31 del; 25 mod
  Patch: https://git.openjdk.java.net/shenandoah/pull/107.diff
  Fetch: git fetch https://git.openjdk.java.net/shenandoah pull/107/head:pull/107

PR: https://git.openjdk.java.net/shenandoah/pull/107


More information about the shenandoah-dev mailing list