RFR: enqueue barrier + some other things

Roland Westrelin rwestrel at redhat.com
Wed Jun 20 11:44:20 UTC 2018


> In test_evacuation_in_progress() you are not reusing the gc_state load
> from the test_heap_stable() test. I tried doing this, but got a crash.
> Would C2 common up the 2 loads anyway? This seems useful.

The wb and enqueue barriers are 2 unrelated things by the time expansion
happens. -XX:+ShenandoahCommonGCStateLoads would do that.

> What I *really* would like to have is to avoid the whole
> evac-in-progress check at all, and only emit heap-stable-test for
> traversal, for both WBs and EQBs. Would that be possible? As follow-up?
> I tried to hack it by short-circuiting test_evacuation_in_progress after
> the null-check, but it did not work (of course. it's C2 ;-) ).

Sure. What would be the flag that triggers that?
ShenandoahStoreValEnqueueBarrier?

Roland.


More information about the shenandoah-dev mailing list