RFR: 8315247: GenShen: Condition calls to post-write barrier code generation by a flag

William Kemper wkemper at openjdk.org
Tue Aug 29 18:48:14 UTC 2023


On Mon, 28 Aug 2023 19:48:58 GMT, Y. Srinivas Ramakrishna <ysr at openjdk.org> wrote:

> Protect the card barrier code generation by a new global `ShenandoahCardBarrier`, which is disabled by default and enabled for GenShen (generational mode Shenandoah) only. If the user forces the barrier flag to a value inconsistent with mode, we exit with an appropriate error message.
> 
> The changes have been made for x86, aarch, and ppc. I have tested on x86 on a cloud host running jtreg1-4 and SPECjbb. A round of aarch64 and x86 pipeline tests have run (but ran into existing assertion that William is fixing). Will request PPC testing from partners able to test. RISC-V & S390 don't currently support generational mode Shenandoah.

Minor nit - can we have a consistent, more helpful message for the assertions?


  assert(ShenandoahHeap::heap()->mode()->is_generational(), "Not needed");

Maybe:

  assert(ShenandoahHeap::heap()->mode()->is_generational(), "Expected generational mode here");

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

Changes requested by wkemper (Committer).

PR Review: https://git.openjdk.org/shenandoah/pull/313#pullrequestreview-1599001416


More information about the shenandoah-dev mailing list