RFR: Fix Zero build

Roman Kennke rkennke at redhat.com
Tue Jun 12 16:33:46 UTC 2018


Am 12.06.2018 um 18:20 schrieb Aleksey Shipilev:
> With Zero, or when C1 and C2 are disabled, current build fails with:
> 
> /pool/buildbot/slaves/sobornost/shenandoah-jdkX/build/src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.cpp:
> In constructor ‘ShenandoahBarrierSet::ShenandoahBarrierSet(ShenandoahHeap*)’:
> /pool/buildbot/slaves/sobornost/shenandoah-jdkX/build/src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.cpp:72:34:
> error: ‘ShenandoahBarrierSetC1’ was not declared in this scope
>               make_barrier_set_c1<ShenandoahBarrierSetC1>(),
>                                   ^~~~~~~~~~~~~~~~~~~~~~
> /pool/buildbot/slaves/sobornost/shenandoah-jdkX/build/src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.cpp:72:58:
> error: no matching function for call to ‘ShenandoahBarrierSet::make_barrier_set_c1()’
>               make_barrier_set_c1<ShenandoahBarrierSetC1>(),
> 
>           ^
> Other GCs get away with it by forward-declaring their compiler BarrierSets. We can do the same:
> 
> 
> diff -r cd5a82e54311 src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.cpp
> --- a/src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.cpp	Tue Jun 12 17:37:20 2018 +0200
> +++ b/src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.cpp	Tue Jun 12 18:17:43 2018 +0200
> @@ -38,6 +38,9 @@
>  #include "gc/shenandoah/c2/shenandoahBarrierSetC2.hpp"
>  #endif
> 
> +class ShenandoahBarrierSetC1;
> +class ShenandoahBarrierSetC2;
> +
>  ShenandoahSATBMarkQueueSet ShenandoahBarrierSet::_satb_mark_queue_set;
> 
>  template <bool UPDATE_MATRIX, bool STOREVAL_WRITE_BARRIER>
> 
> 
> Testing: Zero x86_64 build
> 
> Thanks,
> -Aleksey
> 

Ok fine.



More information about the shenandoah-dev mailing list