< prev index next >

src/share/vm/oops/instanceKlass.hpp

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


 766   // OopMapCache support
 767   OopMapCache* oop_map_cache()               { return _oop_map_cache; }
 768   void set_oop_map_cache(OopMapCache *cache) { _oop_map_cache = cache; }
 769   void mask_for(methodHandle method, int bci, InterpreterOopMap* entry);
 770 
 771   // JNI identifier support (for static fields - for jni performance)
 772   JNIid* jni_ids()                               { return _jni_ids; }
 773   void set_jni_ids(JNIid* ids)                   { _jni_ids = ids; }
 774   JNIid* jni_id_for(int offset);
 775 
 776   // maintenance of deoptimization dependencies
 777   int mark_dependent_nmethods(DepChange& changes);
 778   void add_dependent_nmethod(nmethod* nm);
 779   void remove_dependent_nmethod(nmethod* nm);
 780 
 781   // On-stack replacement support
 782   nmethod* osr_nmethods_head() const         { return _osr_nmethods_head; };
 783   void set_osr_nmethods_head(nmethod* h)     { _osr_nmethods_head = h; };
 784   void add_osr_nmethod(nmethod* n);
 785   void remove_osr_nmethod(nmethod* n);

 786   nmethod* lookup_osr_nmethod(const Method* m, int bci, int level, bool match_level) const;
 787 
 788   // Breakpoint support (see methods on Method* for details)
 789   BreakpointInfo* breakpoints() const       { return _breakpoints; };
 790   void set_breakpoints(BreakpointInfo* bps) { _breakpoints = bps; };
 791 
 792   // support for stub routines
 793   static ByteSize init_state_offset()  { return in_ByteSize(offset_of(InstanceKlass, _init_state)); }
 794   TRACE_DEFINE_OFFSET;
 795   static ByteSize init_thread_offset() { return in_ByteSize(offset_of(InstanceKlass, _init_thread)); }
 796 
 797   // subclass/subinterface checks
 798   bool implements_interface(Klass* k) const;
 799   bool is_same_or_direct_interface(Klass* k) const;
 800 
 801   // Access to the implementor of an interface.
 802   Klass* implementor() const
 803   {
 804     Klass** k = adr_implementor();
 805     if (k == NULL) {




 766   // OopMapCache support
 767   OopMapCache* oop_map_cache()               { return _oop_map_cache; }
 768   void set_oop_map_cache(OopMapCache *cache) { _oop_map_cache = cache; }
 769   void mask_for(methodHandle method, int bci, InterpreterOopMap* entry);
 770 
 771   // JNI identifier support (for static fields - for jni performance)
 772   JNIid* jni_ids()                               { return _jni_ids; }
 773   void set_jni_ids(JNIid* ids)                   { _jni_ids = ids; }
 774   JNIid* jni_id_for(int offset);
 775 
 776   // maintenance of deoptimization dependencies
 777   int mark_dependent_nmethods(DepChange& changes);
 778   void add_dependent_nmethod(nmethod* nm);
 779   void remove_dependent_nmethod(nmethod* nm);
 780 
 781   // On-stack replacement support
 782   nmethod* osr_nmethods_head() const         { return _osr_nmethods_head; };
 783   void set_osr_nmethods_head(nmethod* h)     { _osr_nmethods_head = h; };
 784   void add_osr_nmethod(nmethod* n);
 785   void remove_osr_nmethod(nmethod* n);
 786   int mark_osr_nmethods(const Method* m);
 787   nmethod* lookup_osr_nmethod(const Method* m, int bci, int level, bool match_level) const;
 788 
 789   // Breakpoint support (see methods on Method* for details)
 790   BreakpointInfo* breakpoints() const       { return _breakpoints; };
 791   void set_breakpoints(BreakpointInfo* bps) { _breakpoints = bps; };
 792 
 793   // support for stub routines
 794   static ByteSize init_state_offset()  { return in_ByteSize(offset_of(InstanceKlass, _init_state)); }
 795   TRACE_DEFINE_OFFSET;
 796   static ByteSize init_thread_offset() { return in_ByteSize(offset_of(InstanceKlass, _init_thread)); }
 797 
 798   // subclass/subinterface checks
 799   bool implements_interface(Klass* k) const;
 800   bool is_same_or_direct_interface(Klass* k) const;
 801 
 802   // Access to the implementor of an interface.
 803   Klass* implementor() const
 804   {
 805     Klass** k = adr_implementor();
 806     if (k == NULL) {


< prev index next >