RFR: Fix platform builds due to missing C1 stub gen declarations

Aleksey Shipilev shade at redhat.com
Tue Jun 12 07:57:49 UTC 2018


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