RFR: gc interface tweaks

Roland Westrelin rwestrel at redhat.com
Mon Sep 3 08:05:58 UTC 2018


> It seems that most of the tier3_gc_shenandoah tests are failing with this patch with:

Thanks for testing it. An upstream change that was brought in with the
last merge broke my patch. Tentative fix below. I'll run full tier3
later today.

Roland.

diff --git a/src/hotspot/share/gc/shenandoah/c2/shenandoahBarrierSetC2.cpp b/src/hotspot/share/gc/shenandoah/c2/shenandoahBarrierSetC2.cpp
--- a/src/hotspot/share/gc/shenandoah/c2/shenandoahBarrierSetC2.cpp
+++ b/src/hotspot/share/gc/shenandoah/c2/shenandoahBarrierSetC2.cpp
@@ -619,7 +619,7 @@
 void ShenandoahBarrierSetC2::resolve_address(C2Access& access) const {
   const TypePtr* adr_type = access.addr().type();
 
-  if (adr_type->isa_instptr() || adr_type->isa_aryptr()) {
+  if ((access.decorators() & IN_NATIVE) == 0 && (adr_type->isa_instptr() || adr_type->isa_aryptr())) {
     int off = adr_type->is_ptr()->offset();
     int base_off = adr_type->isa_instptr() ? instanceOopDesc::base_offset_in_bytes() :
       arrayOopDesc::base_offset_in_bytes(adr_type->is_aryptr()->elem()->array_element_basic_type());


More information about the shenandoah-dev mailing list