src/hotspot/share/code/nmethod.cpp
changeset 49452 acb36277a784
parent 49449 ef5d5d343e2a
child 49480 d7df2dd501ce
equal deleted inserted replaced
49451:e06f9607f370 49452:acb36277a784
  1681 public:
  1681 public:
  1682   DetectScavengeRoot() : _detected_scavenge_root(false)
  1682   DetectScavengeRoot() : _detected_scavenge_root(false)
  1683   { NOT_PRODUCT(_print_nm = NULL); }
  1683   { NOT_PRODUCT(_print_nm = NULL); }
  1684   bool detected_scavenge_root() { return _detected_scavenge_root; }
  1684   bool detected_scavenge_root() { return _detected_scavenge_root; }
  1685   virtual void do_oop(oop* p) {
  1685   virtual void do_oop(oop* p) {
  1686     if ((*p) != NULL && (*p)->is_scavengable()) {
  1686     if ((*p) != NULL && Universe::heap()->is_scavengable(*p)) {
  1687       NOT_PRODUCT(maybe_print(p));
  1687       NOT_PRODUCT(maybe_print(p));
  1688       _detected_scavenge_root = true;
  1688       _detected_scavenge_root = true;
  1689     }
  1689     }
  1690   }
  1690   }
  1691   virtual void do_oop(narrowOop* p) { ShouldNotReachHere(); }
  1691   virtual void do_oop(narrowOop* p) { ShouldNotReachHere(); }
  2176   bool     _ok;
  2176   bool     _ok;
  2177 public:
  2177 public:
  2178   DebugScavengeRoot(nmethod* nm) : _nm(nm), _ok(true) { }
  2178   DebugScavengeRoot(nmethod* nm) : _nm(nm), _ok(true) { }
  2179   bool ok() { return _ok; }
  2179   bool ok() { return _ok; }
  2180   virtual void do_oop(oop* p) {
  2180   virtual void do_oop(oop* p) {
  2181     if ((*p) == NULL || !(*p)->is_scavengable())  return;
  2181     if ((*p) == NULL || !Universe::heap()->is_scavengable(*p))  return;
  2182     if (_ok) {
  2182     if (_ok) {
  2183       _nm->print_nmethod(true);
  2183       _nm->print_nmethod(true);
  2184       _ok = false;
  2184       _ok = false;
  2185     }
  2185     }
  2186     tty->print_cr("*** scavengable oop " PTR_FORMAT " found at " PTR_FORMAT " (offset %d)",
  2186     tty->print_cr("*** scavengable oop " PTR_FORMAT " found at " PTR_FORMAT " (offset %d)",