RFR [8]: Fix x86_32 build

Aleksey Shipilev shade at redhat.com
Wed Jul 18 09:43:51 UTC 2018


sh/jdk8u build on x86_32 fails because there is no Atomic::load for intptr_t in jdk8:

diff -r 3b776ba499bb src/share/vm/gc_implementation/shenandoah/shenandoahPacer.cpp
--- a/src/share/vm/gc_implementation/shenandoah/shenandoahPacer.cpp     Mon Jul 16 11:57:03 2018 -0400
+++ b/src/share/vm/gc_implementation/shenandoah/shenandoahPacer.cpp     Wed Jul 18 11:43:11 2018 +0200
@@ -210,11 +210,11 @@
   intptr_t tax = MAX2<intptr_t>(1, (intptr_t)(words * OrderAccess::load_acquire(&_tax_rate)));
   Atomic::add(tax, &_budget);
 }

 intptr_t ShenandoahPacer::epoch() {
-  return Atomic::load(&_epoch);
+  return OrderAccess::load_acquire(&_epoch);
 }

 void ShenandoahPacer::pace_for_alloc(size_t words) {
   assert(ShenandoahPacing, "Only be here when pacing is enabled");


Testing: x86_32 build, tier1_gc_shenandoah

Thanks,
-Aleksey



More information about the shenandoah-dev mailing list