RFR 8225483: Shenandoah: Enhance native access barrier

Aleksey Shipilev shade at redhat.com
Mon Jun 10 08:32:18 UTC 2019

On 6/10/19 2:06 AM, Zhengyu Gu wrote:
> Please review this enhancement of native access barrier, in preparation for concurrent root processing.
> Bug: https://bugs.openjdk.java.net/browse/JDK-8225483
> Webrev: http://cr.openjdk.java.net/~zgu/JDK-8225483/webrev.00/

*) It looks to me the webrev itself and the patch in it disagree. For example, webrev says the
entire oop_store_not_in_heap is #ifdef ASSERT-ed, but the patch has the ASSERT block internally. The
patch also has the unrelated change in shenandoahForwarding.hpp.

*) Why change Raw::oop_store_in_heap to Raw::oop_store in ShenandoahBarrierSet::oop_store_in_heap?

*) You can write this block:

#ifdef ASSERT
  ShenandoahHeap* const heap = ShenandoahHeap::heap();
  shenandoah_assert_marked_if(value, heap->is_gc_in_progress_mask(ShenandoahHeap::EVACUATION));


  shenandoah_assert_marked_if(value, ShenandoahHeap::heap()->is_evacuation_in_progress());

*) Also, this block:

  ShenandoahHeap* const heap = ShenandoahHeap::heap();
  if (!CompressedOops::is_null(value) &&
       heap->is_gc_in_progress_mask(ShenandoahHeap::EVACUATION)) {


  if (!CompressedOops::is_null(value) && ShenandoahHeap::heap()->is_evacuation_in_progress()) {


-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: OpenPGP digital signature
URL: <https://mail.openjdk.java.net/pipermail/hotspot-gc-dev/attachments/20190610/16094203/signature.asc>

More information about the hotspot-gc-dev mailing list