src/share/vm/gc_interface/collectedHeap.inline.hpp

changeset 4295
59c790074993
parent 4037
da91efe96a93
child 4301
c24f778e9401
     1.1 --- a/src/share/vm/gc_interface/collectedHeap.inline.hpp	Wed Nov 28 08:43:26 2012 -0800
     1.2 +++ b/src/share/vm/gc_interface/collectedHeap.inline.hpp	Wed Nov 28 17:50:21 2012 -0500
     1.3 @@ -242,36 +242,6 @@
     1.4    return (oop)obj;
     1.5  }
     1.6  
     1.7 -// Returns "TRUE" if "p" is a method oop in the
     1.8 -// current heap with high probability. NOTE: The main
     1.9 -// current consumers of this interface are Forte::
    1.10 -// and ThreadProfiler::. In these cases, the
    1.11 -// interpreter frame from which "p" came, may be
    1.12 -// under construction when sampled asynchronously, so
    1.13 -// the clients want to check that it represents a
    1.14 -// valid method before using it. Nonetheless since
    1.15 -// the clients do not typically lock out GC, the
    1.16 -// predicate is_valid_method() is not stable, so
    1.17 -// it is possible that by the time "p" is used, it
    1.18 -// is no longer valid.
    1.19 -inline bool CollectedHeap::is_valid_method(Method* p) const {
    1.20 -  return
    1.21 -    p != NULL &&
    1.22 -
    1.23 -    // Check whether "method" is metadata
    1.24 -    p->is_metadata() &&
    1.25 -
    1.26 -    // See if GC is active; however, there is still an
    1.27 -    // apparently unavoidable window after this call
    1.28 -    // and before the client of this interface uses "p".
    1.29 -    // If the client chooses not to lock out GC, then
    1.30 -    // it's a risk the client must accept.
    1.31 -    !is_gc_active() &&
    1.32 -
    1.33 -    // Check that p is a Method*.
    1.34 -    p->is_method();
    1.35 -}
    1.36 -
    1.37  inline void CollectedHeap::oop_iterate_no_header(OopClosure* cl) {
    1.38    NoHeaderExtendedOopClosure no_header_cl(cl);
    1.39    oop_iterate(&no_header_cl);

mercurial