[8u] RFR: Shenandoah: Zero build fails after recent Atomic cleanup in Pacer
Aleksey Shipilev
shade at redhat.com
Wed Jul 29 06:54:07 UTC 2020
sh/jdk8 build pipelines still fail, now in Zero builds:
In file included from build/hotspot/src/share/vm/memory/specialized_oop_closures.hpp:28:0,
from build/hotspot/src/share/vm/oops/oop.hpp:30,
from build/hotspot/src/share/vm/oops/markOop.hpp:28,
from build/hotspot/src/share/vm/gc_implementation/shared/ageTable.hpp:28,
from build/hotspot/src/share/vm/oops/oop.inline.hpp:28,
from build/hotspot/src/share/vm/gc_implementation/shared/markBitMap.hpp:29,
from build/hotspot/src/share/vm/gc_implementation/shenandoah/shenandoahHeap.hpp:27,
from build/hotspot/src/share/vm/gc_implementation/shenandoah/shenandoahFreeSet.hpp:28,
from build/hotspot/src/share/vm/gc_implementation/shenandoah/shenandoahPacer.cpp:26:
build/hotspot/src/share/vm/runtime/atomic.hpp:52:22: error: inline function ‘static void
Atomic::store_ptr(intptr_t, volatile intptr_t*)’ used but never defined [-Werror]
inline static void store_ptr(intptr_t store_value, volatile intptr_t* dest);
^~~~~~~~~
This happens because Zero has CV-unqualified method only, so we need the other one:
diff -r 144156910d02 src/os_cpu/linux_zero/vm/atomic_linux_zero.inline.hpp
--- a/src/os_cpu/linux_zero/vm/atomic_linux_zero.inline.hpp Tue Jul 28 09:28:15 2020 +0200
+++ b/src/os_cpu/linux_zero/vm/atomic_linux_zero.inline.hpp Wed Jul 29 08:42:17 2020 +0200
@@ -168,8 +168,12 @@
inline void Atomic::store_ptr(intptr_t store_value, intptr_t* dest) {
*dest = store_value;
}
+inline void Atomic::store_ptr(intptr_t store_value, volatile intptr_t* dest) {
+ *dest = store_value;
+}
+
inline jint Atomic::add(jint add_value, volatile jint* dest) {
#ifdef ARM
return arm_add_and_fetch(dest, add_value);
#else
diff -r 144156910d02 src/share/vm/gc_implementation/shenandoah/shenandoahPacer.cpp
--- a/src/share/vm/gc_implementation/shenandoah/shenandoahPacer.cpp Tue Jul 28 09:28:15 2020 +0200
+++ b/src/share/vm/gc_implementation/shenandoah/shenandoahPacer.cpp Wed Jul 29 08:42:17 2020 +0200
@@ -27,8 +27,9 @@
#include "gc_implementation/shenandoah/shenandoahHeap.inline.hpp"
#include "gc_implementation/shenandoah/shenandoahPacer.hpp"
#include "gc_implementation/shenandoah/shenandoahPhaseTimings.hpp"
#include "runtime/mutexLocker.hpp"
+#include "runtime/atomic.inline.hpp"
/*
* In normal concurrent cycle, we have to pace the application to let GC finish.
*
Testing: hotspot_gc_shenandoah; Linux x86_64 zero builds
--
Thanks,
-Aleksey
More information about the shenandoah-dev
mailing list