RFR: Preserve and restore original element count for card table barrier

Roman Kennke rkennke at openjdk.java.net
Fri Aug 20 10:18:59 UTC 2021


On Thu, 19 Aug 2021 22:36:39 GMT, William Kemper <wkemper at openjdk.org> wrote:

> The "pre-write" barrier for Generational Shenandoah was missing a bit of code to store away the original `count` of elements in the array being copied. As the array copy code decrements through the `count` it is reduced to zero. This caused the "post-write" barrier to believe we just copied an empty array and that it would be safe to skip card marking. This change preserves the original `count` in the prologue and restores it in the epilogue.

Looks good to me! Thanks!

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

Marked as reviewed by rkennke (Lead).

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


More information about the shenandoah-dev mailing list