RFR (XS) 8248632: Shenandoah: build fails without both JVMTI and JFR
Aleksey Shipilev
shade at redhat.com
Wed Jul 1 13:59:20 UTC 2020
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
--
Thanks,
-Aleksey
More information about the hotspot-gc-dev
mailing list