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