src/share/vm/memory/iterator.hpp

changeset 1429
753cf9794df9
parent 1428
54b3b351d6f9
child 1435
a1423fe86a18
     1.1 --- a/src/share/vm/memory/iterator.hpp	Wed Sep 23 23:56:15 2009 -0700
     1.2 +++ b/src/share/vm/memory/iterator.hpp	Wed Sep 23 23:57:44 2009 -0700
     1.3 @@ -25,6 +25,7 @@
     1.4  // The following classes are C++ `closures` for iterating over objects, roots and spaces
     1.5  
     1.6  class CodeBlob;
     1.7 +class nmethod;
     1.8  class ReferenceProcessor;
     1.9  class DataLayout;
    1.10  
    1.11 @@ -70,9 +71,6 @@
    1.12    virtual const bool should_remember_mdo() const { return false; }
    1.13    virtual void remember_mdo(DataLayout* v) { /* do nothing */ }
    1.14  
    1.15 -  // If "true", invoke on nmethods (when scanning compiled frames).
    1.16 -  virtual const bool do_nmethods() const { return false; }
    1.17 -
    1.18    // The methods below control how object iterations invoking this closure
    1.19    // should be performed:
    1.20  
    1.21 @@ -190,7 +188,7 @@
    1.22  class MarkingCodeBlobClosure : public CodeBlobClosure {
    1.23   public:
    1.24    // Called for each code blob, but at most once per unique blob.
    1.25 -  virtual void do_newly_marked_nmethod(CodeBlob* cb) = 0;
    1.26 +  virtual void do_newly_marked_nmethod(nmethod* nm) = 0;
    1.27  
    1.28    virtual void do_code_blob(CodeBlob* cb);
    1.29      // = { if (!nmethod(cb)->test_set_oops_do_mark())  do_newly_marked_nmethod(cb); }
    1.30 @@ -213,7 +211,7 @@
    1.31    OopClosure* _cl;
    1.32    bool _do_marking;
    1.33  public:
    1.34 -  virtual void do_newly_marked_nmethod(CodeBlob* cb);
    1.35 +  virtual void do_newly_marked_nmethod(nmethod* cb);
    1.36      // = { cb->oops_do(_cl); }
    1.37    virtual void do_code_blob(CodeBlob* cb);
    1.38      // = { if (_do_marking)  super::do_code_blob(cb); else cb->oops_do(_cl); }

mercurial