RFR: Fix platform builds due to missing C1 stub gen declarations
Roman Kennke
rkennke at redhat.com
Tue Jun 12 08:53:54 UTC 2018
Yup. Thanks, Roman
> ARM, PPC64, S390X builds are failing because their appropriate stub generators are missing. While we
> should fix that in sh/jdk by conditionally compiling Shenandoah, it is more convenient to make sure
> all platforms build correctly first.
>
> Fix:
>
> diff -r 67da01613b1d src/hotspot/cpu/arm/gc/shenandoah/shenandoahBarrierSetAssembler_arm.hpp
> --- a/src/hotspot/cpu/arm/gc/shenandoah/shenandoahBarrierSetAssembler_arm.hpp Tue Jun 12 09:32:18
> 2018 +0200
> +++ b/src/hotspot/cpu/arm/gc/shenandoah/shenandoahBarrierSetAssembler_arm.hpp Tue Jun 12 09:56:12
> 2018 +0200
> @@ -27,6 +27,11 @@
> #include "asm/macroAssembler.hpp"
> #include "gc/shared/barrierSetAssembler.hpp"
>
> +#ifdef COMPILER1
> +class ShenandoahPreBarrierStub;
> +class StubAssembler;
> +#endif
> +
> class ShenandoahBarrierSetAssembler: public BarrierSetAssembler {
> public:
> virtual void arraycopy_prologue(MacroAssembler* masm, DecoratorSet decorators, bool is_oop,
> @@ -38,6 +43,16 @@
> Register addr, Register count, Register tmp) {
> Unimplemented();
> }
> +
> +#ifdef COMPILER1
> + void gen_pre_barrier_stub(LIR_Assembler* ce, ShenandoahPreBarrierStub* stub) {
> + Unimplemented();
> + }
> +
> + void generate_c1_pre_barrier_runtime_stub(StubAssembler* sasm) {
> + Unimplemented();
> + }
> +#endif
> };
>
> #endif // CPU_ARM_GC_SHENANDOAH_SHENANDOAHBARRIERSETASSEMBLER_ARM_HPP
> diff -r 67da01613b1d src/hotspot/cpu/ppc/gc/shenandoah/shenandoahBarrierSetAssembler_ppc.hpp
> --- a/src/hotspot/cpu/ppc/gc/shenandoah/shenandoahBarrierSetAssembler_ppc.hpp Tue Jun 12 09:32:18
> 2018 +0200
> +++ b/src/hotspot/cpu/ppc/gc/shenandoah/shenandoahBarrierSetAssembler_ppc.hpp Tue Jun 12 09:56:12
> 2018 +0200
> @@ -27,6 +27,11 @@
> #include "asm/macroAssembler.hpp"
> #include "gc/shared/barrierSetAssembler.hpp"
>
> +#ifdef COMPILER1
> +class ShenandoahPreBarrierStub;
> +class StubAssembler;
> +#endif
> +
> class ShenandoahBarrierSetAssembler: public BarrierSetAssembler {
> public:
> virtual void arraycopy_prologue(MacroAssembler* masm, DecoratorSet decorators, BasicType type,
> @@ -55,6 +60,15 @@
> Unimplemented();
> }
>
> +#ifdef COMPILER1
> + void gen_pre_barrier_stub(LIR_Assembler* ce, ShenandoahPreBarrierStub* stub) {
> + Unimplemented();
> + }
> +
> + void generate_c1_pre_barrier_runtime_stub(StubAssembler* sasm) {
> + Unimplemented();
> + }
> +#endif
> };
>
> #endif // CPU_PPC_GC_SHENANDOAH_SHENANDOAHBARRIERSETASSEMBLER_PPC_HPP
> diff -r 67da01613b1d src/hotspot/cpu/s390/gc/shenandoah/shenandoahBarrierSetAssembler_s390.hpp
> --- a/src/hotspot/cpu/s390/gc/shenandoah/shenandoahBarrierSetAssembler_s390.hpp Tue Jun 12 09:32:18
> 2018 +0200
> +++ b/src/hotspot/cpu/s390/gc/shenandoah/shenandoahBarrierSetAssembler_s390.hpp Tue Jun 12 09:56:12
> 2018 +0200
> @@ -27,6 +27,11 @@
> #include "asm/macroAssembler.hpp"
> #include "gc/shared/barrierSetAssembler.hpp"
>
> +#ifdef COMPILER1
> +class ShenandoahPreBarrierStub;
> +class StubAssembler;
> +#endif
> +
> class ShenandoahBarrierSetAssembler: public BarrierSetAssembler {
> public:
> virtual void arraycopy_prologue(MacroAssembler* masm, DecoratorSet decorators, BasicType type,
> @@ -52,6 +57,16 @@
> virtual void resolve_jobject(MacroAssembler* masm, Register value, Register tmp1, Register tmp2) {
> Unimplemented();
> }
> +
> +#ifdef COMPILER1
> + void gen_pre_barrier_stub(LIR_Assembler* ce, ShenandoahPreBarrierStub* stub) {
> + Unimplemented();
> + }
> +
> + void generate_c1_pre_barrier_runtime_stub(StubAssembler* sasm) {
> + Unimplemented();
> + }
> +#endif
> };
>
> #endif // CPU_S390_GC_SHENANDOAH_SHENANDOAHBARRIERSETASSEMBLER_S390_HPP
> diff -r 67da01613b1d src/hotspot/cpu/sparc/gc/shenandoah/shenandoahBarrierSetAssembler_sparc.hpp
> --- a/src/hotspot/cpu/sparc/gc/shenandoah/shenandoahBarrierSetAssembler_sparc.hpp Tue Jun 12
> 09:32:18 2018 +0200
> +++ b/src/hotspot/cpu/sparc/gc/shenandoah/shenandoahBarrierSetAssembler_sparc.hpp Tue Jun 12
> 09:56:12 2018 +0200
> @@ -27,6 +27,11 @@
> #include "asm/macroAssembler.hpp"
> #include "gc/shared/barrierSetAssembler.hpp"
>
> +#ifdef COMPILER1
> +class ShenandoahPreBarrierStub;
> +class StubAssembler;
> +#endif
> +
> class ShenandoahBarrierSetAssembler: public BarrierSetAssembler {
> public:
> virtual void arraycopy_prologue(MacroAssembler* masm, DecoratorSet decorators, BasicType type,
> @@ -48,6 +53,16 @@
> Address src, Register dst, Register tmp) {
> Unimplemented();
> }
> +
> +#ifdef COMPILER1
> + void gen_pre_barrier_stub(LIR_Assembler* ce, ShenandoahPreBarrierStub* stub) {
> + Unimplemented();
> + }
> +
> + void generate_c1_pre_barrier_runtime_stub(StubAssembler* sasm) {
> + Unimplemented();
> + }
> +#endif
> };
>
> #endif // CPU_SPARC_GC_SHENANDOAH_SHENANDOAHBARRIERSETASSEMBLER_SPARC_HPP
>
> Thanks,
> -Aleksey
>
More information about the shenandoah-dev
mailing list