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);