Print this page
rev 6867 : 8061817: Whitebox.deoptimizeMethod() does not deoptimize all OSR versions of method
Summary: Fixed Whitebox.deoptimizeMethod() to deoptimize all OSR versions of the method.
Reviewed-by: kvn, iignatyev

Split Split Close
Expand all
Collapse all
          --- old/src/share/vm/oops/method.hpp
          +++ new/src/share/vm/oops/method.hpp
↓ open down ↓ 785 lines elided ↑ open up ↑
 786  786    ConstMethod::MethodType method_type() const {
 787  787        return _constMethod->method_type();
 788  788    }
 789  789    bool is_overpass() const { return method_type() == ConstMethod::OVERPASS; }
 790  790  
 791  791    // On-stack replacement support
 792  792    bool has_osr_nmethod(int level, bool match_level) {
 793  793     return method_holder()->lookup_osr_nmethod(this, InvocationEntryBci, level, match_level) != NULL;
 794  794    }
 795  795  
      796 +  int mark_osr_nmethods() {
      797 +    return method_holder()->mark_osr_nmethods(this);
      798 +  }
      799 +
 796  800    nmethod* lookup_osr_nmethod_for(int bci, int level, bool match_level) {
 797  801      return method_holder()->lookup_osr_nmethod(this, bci, level, match_level);
 798  802    }
 799  803  
 800  804    // Inline cache support
 801  805    void cleanup_inline_caches();
 802  806  
 803  807    // Find if klass for method is loaded
 804  808    bool is_klass_loaded_by_klass_index(int klass_index) const;
 805  809    bool is_klass_loaded(int refinfo_index, bool must_be_resolved = false) const;
↓ open down ↓ 264 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX