RFR: Avoid double-enqueueing store values in runtime

Aleksey Shipilev shade at redhat.com
Thu Jun 14 18:11:43 UTC 2018


Yup.

-Aleksey

On 06/14/2018 08:08 PM, Roman Kennke wrote:
> In ShBarrierSet, we accidentally enqueue objects twice. No need to do that.
> 
> Roman
> 
> 
> # HG changeset patch
> # User rkennke
> # Date 1528999581 -7200
> #      Thu Jun 14 20:06:21 2018 +0200
> # Node ID 96bdf0be39a10cba5b5ffee2f23f44d7d75f5f32
> # Parent  468e91da7c499b08f927ab70d1c0d923f783d03f
> Avoid double-enqueueing store values in runtime
> 
> diff --git a/src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.cpp
> b/src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.cpp
> --- a/src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.cpp
> +++ b/src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.cpp
> @@ -305,9 +305,6 @@
>        enqueue(obj);
>      }
>    }
> -  if (ShenandoahStoreValEnqueueBarrier && !CompressedOops::is_null(obj)) {
> -    enqueue(obj);
> -  }
>    if (ShenandoahStoreValReadBarrier) {
>      obj = resolve_forwarded(obj);
>    }
> 




More information about the shenandoah-dev mailing list