RFR: enqueue barrier + some other things

Roland Westrelin rwestrel at redhat.com
Thu Jun 21 15:17:58 UTC 2018


> *) This condition in ShenandoahWriteBarrierNode::expand looks odd:
>
>  586     if (ShenandoahBarrierSetC2::bsc2()->state()->shenandoah_barriers_count() > 0 ||
> (!ShenandoahWriteBarrier && ShenandoahStoreValEnqueueBarrier)) {
>
> The second part enables when -WB && +SVEB. When this configuration actually manifests? I think
> Traversal still uses both WB and SVEB.

I think one0 of the shenandoah jtreg tests tries several different
combination of flags including -WB +EQ.

> *) The change to barrierSetC2 should be on our list to upstream. I wonder if boolean parameter
> should be at the second place:
>
>   virtual bool array_copy_requires_gc_barriers(BasicType type, bool tightly_coupled_allocation);

Actually that part of the change doesn't make any functional change and
the API will need to be extended to properly cover shenandoah so I won't
push the array_copy_requires_gc_barriers() changes.

Roland.


More information about the shenandoah-dev mailing list