RFR: No need for fence in control loop: flags are now ShSharedVariables
Roman Kennke
rkennke at redhat.com
Wed Mar 7 10:26:59 UTC 2018
Am 07.03.2018 um 11:16 schrieb Aleksey Shipilev:
> Obvious micro-optimization: we used to have the naked flags that required barriers. Now we use
> ShSharedVariables for storing those flags, and barrier is not needed:
>
> diff -r 67db05fbda9f src/hotspot/share/gc/shenandoah/shenandoahConcurrentThread.cpp
> --- a/src/hotspot/share/gc/shenandoah/shenandoahConcurrentThread.cpp Tue Mar 06 22:00:49 2018 +0100
> +++ b/src/hotspot/share/gc/shenandoah/shenandoahConcurrentThread.cpp Wed Mar 07 11:15:21 2018 +0100
> @@ -195,9 +195,6 @@
>
> // Wait before performing the next action
> os::naked_short_sleep(ShenandoahControlLoopInterval);
> -
> - // Make sure the _do_full_gc flag changes are seen.
> - OrderAccess::storeload();
> }
>
> // Wait for the actual stop(), can't leave run_service() earlier.
>
>
> Testing: hotspot_gc_shenandoah
>
> Thanks,
> -Aleksey
>
Yep.
More information about the shenandoah-dev
mailing list