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