equal
deleted
inserted
replaced
67 class DependencyContext; |
67 class DependencyContext; |
68 class fieldDescriptor; |
68 class fieldDescriptor; |
69 class jniIdMapBase; |
69 class jniIdMapBase; |
70 class JNIid; |
70 class JNIid; |
71 class JvmtiCachedClassFieldMap; |
71 class JvmtiCachedClassFieldMap; |
|
72 class nmethodBucket; |
72 class SuperTypeClosure; |
73 class SuperTypeClosure; |
73 |
74 |
74 // This is used in iterators below. |
75 // This is used in iterators below. |
75 class FieldClosure: public StackObj { |
76 class FieldClosure: public StackObj { |
76 public: |
77 public: |
247 u2 _major_version; // major version number of class file |
248 u2 _major_version; // major version number of class file |
248 Thread* _init_thread; // Pointer to current thread doing initialization (to handle recusive initialization) |
249 Thread* _init_thread; // Pointer to current thread doing initialization (to handle recusive initialization) |
249 OopMapCache* volatile _oop_map_cache; // OopMapCache for all methods in the klass (allocated lazily) |
250 OopMapCache* volatile _oop_map_cache; // OopMapCache for all methods in the klass (allocated lazily) |
250 JNIid* _jni_ids; // First JNI identifier for static fields in this class |
251 JNIid* _jni_ids; // First JNI identifier for static fields in this class |
251 jmethodID* volatile _methods_jmethod_ids; // jmethodIDs corresponding to method_idnum, or NULL if none |
252 jmethodID* volatile _methods_jmethod_ids; // jmethodIDs corresponding to method_idnum, or NULL if none |
252 intptr_t _dep_context; // packed DependencyContext structure |
253 nmethodBucket* volatile _dep_context; // packed DependencyContext structure |
|
254 uint64_t volatile _dep_context_last_cleaned; |
253 nmethod* _osr_nmethods_head; // Head of list of on-stack replacement nmethods for this class |
255 nmethod* _osr_nmethods_head; // Head of list of on-stack replacement nmethods for this class |
254 #if INCLUDE_JVMTI |
256 #if INCLUDE_JVMTI |
255 BreakpointInfo* _breakpoints; // bpt lists, managed by Method* |
257 BreakpointInfo* _breakpoints; // bpt lists, managed by Method* |
256 // Linked instanceKlasses of previous versions |
258 // Linked instanceKlasses of previous versions |
257 InstanceKlass* _previous_versions; |
259 InstanceKlass* _previous_versions; |
974 |
976 |
975 // maintenance of deoptimization dependencies |
977 // maintenance of deoptimization dependencies |
976 inline DependencyContext dependencies(); |
978 inline DependencyContext dependencies(); |
977 int mark_dependent_nmethods(KlassDepChange& changes); |
979 int mark_dependent_nmethods(KlassDepChange& changes); |
978 void add_dependent_nmethod(nmethod* nm); |
980 void add_dependent_nmethod(nmethod* nm); |
979 void remove_dependent_nmethod(nmethod* nm, bool delete_immediately); |
981 void remove_dependent_nmethod(nmethod* nm); |
|
982 void clean_dependency_context(); |
980 |
983 |
981 // On-stack replacement support |
984 // On-stack replacement support |
982 nmethod* osr_nmethods_head() const { return _osr_nmethods_head; }; |
985 nmethod* osr_nmethods_head() const { return _osr_nmethods_head; }; |
983 void set_osr_nmethods_head(nmethod* h) { _osr_nmethods_head = h; }; |
986 void set_osr_nmethods_head(nmethod* h) { _osr_nmethods_head = h; }; |
984 void add_osr_nmethod(nmethod* n); |
987 void add_osr_nmethod(nmethod* n); |