RFR: JDK-8035496: G1 ARM: missing remset entry noticed by VerifyAfterGC for vm/gc/concurrent/lp50yp10rp70mr30st0

Thomas Schatzl thomas.schatzl at oracle.com
Wed May 13 22:10:04 UTC 2015


Hi,

On Wed, 2015-05-13 at 17:22 -0400, Vitaly Davidovich wrote:
> Isn't this going to emit a full fence on x86/64? Is storestore
> insufficient?

release_store_ptr is a storestore.
> 
> Also, is the load side ordered properly already?

On the load side the code depends on data dependency ordering, i.e. the
values we put in there and expect to be visible before the write in the
release_store is/can only be accessed via that pointer.

That data structure that is released by the release_store() is a private
data structure allocated/used just by this thread before the
release_store.

So the new code is broken on Alpha, but seems good on everything else.

The concurrent reader is in HeapRegionRemSet::find_region_table().

Please have a look, maybe when it has originally been reviewed
internally long time ago something has been overlooked (and is now by
me).

Thanks,
  Thomas




More information about the hotspot-gc-dev mailing list