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));
#endif
as:
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)) {
as:
if (!CompressedOops::is_null(value) && ShenandoahHeap::heap()->is_evacuation_in_progress()) {
-Aleksey
-------------- 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.org/pipermail/hotspot-gc-dev/attachments/20190610/16094203/signature.asc>
More information about the hotspot-gc-dev
mailing list