RFR (XS) 8248632: Shenandoah: build fails without both JVMTI and JFR

Zhengyu Gu zgu at redhat.com
Wed Jul 1 17:08:25 UTC 2020


Okay.

-Zhengyu

On 7/1/20 9:59 AM, Aleksey Shipilev wrote:
> Bug:
>    https://bugs.openjdk.java.net/browse/JDK-8248632
> 
> We get dangling ":" when both JFR and JVMTI are disabled. The fix is to put the colon into the macro
> calls themselves, which would select it properly:
> 
> diff -r 7ab23692b432 src/hotspot/share/gc/shenandoah/shenandoahRootProcessor.hpp
> --- a/src/hotspot/share/gc/shenandoah/shenandoahRootProcessor.hpp       Wed Jul 01 15:09:28 2020 +0200
> +++ b/src/hotspot/share/gc/shenandoah/shenandoahRootProcessor.hpp       Wed Jul 01 15:51:30 2020 +0200
> @@ -91,13 +91,15 @@
>   class ShenandoahSerialWeakRoots {
>   private:
>     JVMTI_ONLY(ShenandoahJVMTIWeakRoot _jvmti_weak_roots;)
>     JFR_ONLY(ShenandoahJFRWeakRoot     _jfr_weak_roots;)
>   public:
> -  ShenandoahSerialWeakRoots(ShenandoahPhaseTimings::Phase phase) :
> -  JVMTI_ONLY(_jvmti_weak_roots(phase))
> -  JFR_ONLY(JVMTI_ONLY(COMMA)_jfr_weak_roots(phase)) {};
> +  ShenandoahSerialWeakRoots(ShenandoahPhaseTimings::Phase phase)
> +  JVMTI_ONLY(: _jvmti_weak_roots(phase))
> +  JFR_ONLY(NOT_JVMTI(:) JVMTI_ONLY(COMMA) _jfr_weak_roots(phase))
> +  {};
> +
>     void weak_oops_do(BoolObjectClosure* is_alive, OopClosure* keep_alive, uint worker_id);
>     void weak_oops_do(OopClosure* cl, uint worker_id);
>   };
> 
> 
> Testing: builds
> 



More information about the hotspot-gc-dev mailing list