< prev index next >

src/hotspot/share/gc/g1/g1SATBCardTableModRefBS.cpp

Print this page

        

@@ -212,54 +212,5 @@
         }
       }
     }
   }
 }
-
-void G1SATBCardTableModRefBS::write_ref_nmethod_post(oop* dst, nmethod* nm) {
-  oop obj = oopDesc::load_heap_oop(dst);
-  if (obj != NULL) {
-    G1CollectedHeap* g1h = G1CollectedHeap::heap();
-    HeapRegion* hr = g1h->heap_region_containing(obj);
-    hr->add_strong_code_root(nm);
-  }
-}
-
-class G1EnsureLastRefToRegion : public OopClosure {
-  G1CollectedHeap* _g1h;
-  HeapRegion* _hr;
-  oop* _dst;
-
-  bool _value;
-public:
-  G1EnsureLastRefToRegion(G1CollectedHeap* g1h, HeapRegion* hr, oop* dst) :
-    _g1h(g1h), _hr(hr), _dst(dst), _value(true) {}
-
-  void do_oop(oop* p) {
-    if (_value && p != _dst) {
-      oop obj = oopDesc::load_heap_oop(p);
-      if (obj != NULL) {
-        HeapRegion* hr = _g1h->heap_region_containing(obj);
-        if (hr == _hr) {
-          // Another reference to the same region.
-          _value = false;
-        }
-      }
-    }
-  }
-  void do_oop(narrowOop* p) { ShouldNotReachHere(); }
-  bool value() const        { return _value;  }
-};
-
-void G1SATBCardTableModRefBS::write_ref_nmethod_pre(oop* dst, nmethod* nm) {
-  oop obj = oopDesc::load_heap_oop(dst);
-  if (obj != NULL) {
-    G1CollectedHeap* g1h = G1CollectedHeap::heap();
-    HeapRegion* hr = g1h->heap_region_containing(obj);
-    G1EnsureLastRefToRegion ensure_last_ref(g1h, hr, dst);
-    nm->oops_do(&ensure_last_ref);
-    if (ensure_last_ref.value()) {
-      // Last reference to this region, remove the nmethod from the rset.
-      hr->remove_strong_code_root(nm);
-    }
-  }
-}
< prev index next >