[8u] RFR: Shenandoah: Zero build fails after recent Atomic cleanup in Pacer

Roman Kennke rkennke at redhat.com
Wed Jul 29 07:12:37 UTC 2020


Aww. Ok!

Roman

On Wed, 2020-07-29 at 08:54 +0200, Aleksey Shipilev wrote:
> 	Error verifying signature: Cannot verify message signature:
> Incorrect message format
> 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/shenandoahHea
> p.hpp:27,
>                  from
> build/hotspot/src/share/vm/gc_implementation/shenandoah/shenandoahFre
> eSet.hpp:28,
>                  from
> build/hotspot/src/share/vm/gc_implementation/shenandoah/shenandoahPac
> er.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     T
> ue Jul 28 09:28:15 2020 +0200
> +++
> b/src/share/vm/gc_implementation/shenandoah/shenandoahPacer.cpp     W
> ed 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
> 



More information about the shenandoah-dev mailing list