Use BarrierSetAssembler instead of ModRefBarrierSetAssembler epsilon-gc-branch
authorshade
Wed, 18 Apr 2018 12:40:11 +0200
branchepsilon-gc-branch
changeset 56450 349aef8060b9
parent 56449 a628f1855f4c
child 56452 ec435d4e0673
Use BarrierSetAssembler instead of ModRefBarrierSetAssembler
src/hotspot/cpu/x86/gc/shared/modRefBarrierSetAssembler_x86.cpp
src/hotspot/cpu/x86/gc/shared/modRefBarrierSetAssembler_x86.hpp
src/hotspot/share/gc/epsilon/epsilonBarrierSet.hpp
--- a/src/hotspot/cpu/x86/gc/shared/modRefBarrierSetAssembler_x86.cpp	Wed Apr 18 10:07:49 2018 +0200
+++ b/src/hotspot/cpu/x86/gc/shared/modRefBarrierSetAssembler_x86.cpp	Wed Apr 18 12:40:11 2018 +0200
@@ -79,11 +79,6 @@
   }
 }
 
-void ModRefBarrierSetAssembler::oop_store_at(MacroAssembler* masm, DecoratorSet decorators, BasicType type,
-                                             Address dst, Register val, Register tmp1, Register tmp2) {
-  BarrierSetAssembler::store_at(masm, decorators, type, dst, val, tmp1, tmp2);
-}
-
 void ModRefBarrierSetAssembler::store_at(MacroAssembler* masm, DecoratorSet decorators, BasicType type,
                                          Address dst, Register val, Register tmp1, Register tmp2) {
   if (type == T_OBJECT || type == T_ARRAY) {
--- a/src/hotspot/cpu/x86/gc/shared/modRefBarrierSetAssembler_x86.hpp	Wed Apr 18 10:07:49 2018 +0200
+++ b/src/hotspot/cpu/x86/gc/shared/modRefBarrierSetAssembler_x86.hpp	Wed Apr 18 12:40:11 2018 +0200
@@ -39,7 +39,7 @@
   virtual void gen_write_ref_array_post_barrier(MacroAssembler* masm, DecoratorSet decorators,
                                                 Register addr, Register count, Register tmp) {}
   virtual void oop_store_at(MacroAssembler* masm, DecoratorSet decorators, BasicType type,
-                            Address dst, Register val, Register tmp1, Register tmp2);
+                            Address dst, Register val, Register tmp1, Register tmp2) = 0;
 public:
   virtual void arraycopy_prologue(MacroAssembler* masm, DecoratorSet decorators, BasicType type,
                                   Register src, Register dst, Register count);
--- a/src/hotspot/share/gc/epsilon/epsilonBarrierSet.hpp	Wed Apr 18 10:07:49 2018 +0200
+++ b/src/hotspot/share/gc/epsilon/epsilonBarrierSet.hpp	Wed Apr 18 12:40:11 2018 +0200
@@ -25,7 +25,7 @@
 #define SHARE_VM_GC_EPSILON_BARRIERSET_HPP
 
 #include "gc/shared/collectorPolicy.hpp"
-#include "gc/shared/modRefBarrierSetAssembler.hpp"
+#include "gc/shared/barrierSetAssembler.hpp"
 #include "gc/shared/barrierSet.hpp"
 
 // No interaction with application is required for Epsilon, and therefore
@@ -34,7 +34,7 @@
   friend class VMStructs;
 
 public:
-  EpsilonBarrierSet() : BarrierSet(make_barrier_set_assembler<ModRefBarrierSetAssembler>(), BarrierSet::FakeRtti(BarrierSet::Epsilon)) {};
+  EpsilonBarrierSet() : BarrierSet(make_barrier_set_assembler<BarrierSetAssembler>(), BarrierSet::FakeRtti(BarrierSet::Epsilon)) {};
   virtual void print_on(outputStream *st) const {}
 
   template <DecoratorSet decorators, typename BarrierSetT = EpsilonBarrierSet>