8042209: Remove unused function G1SATBCardTableLoggingModRefBS::write_ref_field_static
authorpliden
Fri, 06 Nov 2015 09:46:54 +0100
changeset 33784 e4fcaa6095dc
parent 33783 6499ca6ce575
child 33785 f5e6ef11d24b
8042209: Remove unused function G1SATBCardTableLoggingModRefBS::write_ref_field_static Reviewed-by: mgerdin, tschatzl
hotspot/src/share/vm/gc/g1/g1SATBCardTableModRefBS.cpp
hotspot/src/share/vm/gc/g1/g1SATBCardTableModRefBS.hpp
--- a/hotspot/src/share/vm/gc/g1/g1SATBCardTableModRefBS.cpp	Fri Nov 06 06:13:00 2015 +0100
+++ b/hotspot/src/share/vm/gc/g1/g1SATBCardTableModRefBS.cpp	Fri Nov 06 09:46:54 2015 +0100
@@ -189,21 +189,6 @@
 }
 
 void
-G1SATBCardTableLoggingModRefBS::write_ref_field_static(void* field,
-                                                       oop new_val) {
-  uintptr_t field_uint = (uintptr_t)field;
-  uintptr_t new_val_uint = cast_from_oop<uintptr_t>(new_val);
-  uintptr_t comb = field_uint ^ new_val_uint;
-  comb = comb >> HeapRegion::LogOfHRGrainBytes;
-  if (comb == 0) return;
-  if (new_val == NULL) return;
-  // Otherwise, log it.
-  G1SATBCardTableLoggingModRefBS* g1_bs =
-    barrier_set_cast<G1SATBCardTableLoggingModRefBS>(G1CollectedHeap::heap()->barrier_set());
-  g1_bs->write_ref_field_work(field, new_val, false);
-}
-
-void
 G1SATBCardTableLoggingModRefBS::invalidate(MemRegion mr, bool whole_heap) {
   volatile jbyte* byte = byte_for(mr.start());
   jbyte* last_byte = byte_for(mr.last());
--- a/hotspot/src/share/vm/gc/g1/g1SATBCardTableModRefBS.hpp	Fri Nov 06 06:13:00 2015 +0100
+++ b/hotspot/src/share/vm/gc/g1/g1SATBCardTableModRefBS.hpp	Fri Nov 06 09:46:54 2015 +0100
@@ -56,21 +56,15 @@
 
   virtual bool has_write_ref_pre_barrier() { return true; }
 
-  // This notes that we don't need to access any BarrierSet data
-  // structures, so this can be called from a static context.
-  template <class T> static void write_ref_field_pre_static(T* field, oop newVal) {
+  // We export this to make it available in cases where the static
+  // type of the barrier set is known.  Note that it is non-virtual.
+  template <class T> inline void inline_write_ref_field_pre(T* field, oop newVal) {
     T heap_oop = oopDesc::load_heap_oop(field);
     if (!oopDesc::is_null(heap_oop)) {
       enqueue(oopDesc::decode_heap_oop(heap_oop));
     }
   }
 
-  // We export this to make it available in cases where the static
-  // type of the barrier set is known.  Note that it is non-virtual.
-  template <class T> inline void inline_write_ref_field_pre(T* field, oop newVal) {
-    write_ref_field_pre_static(field, newVal);
-  }
-
   // These are the more general virtual versions.
   virtual void write_ref_field_pre_work(oop* field, oop new_val) {
     inline_write_ref_field_pre(field, new_val);
@@ -173,9 +167,6 @@
 
   virtual void resize_covered_region(MemRegion new_region) { ShouldNotReachHere(); }
 
-  // Can be called from static contexts.
-  static void write_ref_field_static(void* field, oop new_val);
-
   // NB: if you do a whole-heap invalidation, the "usual invariant" defined
   // above no longer applies.
   void invalidate(MemRegion mr, bool whole_heap = false);