[8] RFR: Shenandoah: pacer should use proper Atomics for intptr_t

Aleksey Shipilev shade at redhat.com
Tue Jul 28 07:54:11 UTC 2020


Hi,

I am seeing x86_32 build failures in sh/jdk8:

/home/buildbot/worker/build-shenandoah-jdk8-linux/build/hotspot/src/share/vm/gc_implementation/shenandoah/shenandoahPacer.cpp:
In member function ‘void ShenandoahPacer::pace_for_alloc(size_t)’:
/home/buildbot/worker/build-shenandoah-jdk8-linux/build/hotspot/src/share/vm/gc_implementation/shenandoah/shenandoahPacer.cpp:281:51:
error: no matching function for call to ‘Atomic::load(volatile intptr_t*)’
     if (total_ms > max_ms || Atomic::load(&_budget) >= 0) {

I believe that is because recent backports used the Atomic/OrderAccess methods that work only on
x86_64. This is 8u-specific problem. 11u and upwards have the proper Atomic APIs.

8u patch:
  https://cr.openjdk.java.net/~shade/shenandoah/8u-atomic-ptrs/webrev.01/

Testing: hotspot_gc_shenandoah {x86_64, x86_32}

-- 
Thanks,
-Aleksey



More information about the shenandoah-dev mailing list