< prev index next > src/hotspot/share/oops/instanceKlass.hpp
class DependencyContext;
class fieldDescriptor;
class jniIdMapBase;
class JNIid;
class JvmtiCachedClassFieldMap;
+class nmethodBucket;
class SuperTypeClosure;
// This is used in iterators below.
class FieldClosure: public StackObj {
public:
u2 _major_version; // major version number of class file
Thread* _init_thread; // Pointer to current thread doing initialization (to handle recusive initialization)
OopMapCache* volatile _oop_map_cache; // OopMapCache for all methods in the klass (allocated lazily)
JNIid* _jni_ids; // First JNI identifier for static fields in this class
jmethodID* volatile _methods_jmethod_ids; // jmethodIDs corresponding to method_idnum, or NULL if none
- intptr_t _dep_context; // packed DependencyContext structure
+ nmethodBucket* volatile _dep_context; // packed DependencyContext structure
+ uint64_t volatile _dep_context_last_cleaned;
nmethod* _osr_nmethods_head; // Head of list of on-stack replacement nmethods for this class
#if INCLUDE_JVMTI
BreakpointInfo* _breakpoints; // bpt lists, managed by Method*
// Linked instanceKlasses of previous versions
InstanceKlass* _previous_versions;
// maintenance of deoptimization dependencies
inline DependencyContext dependencies();
int mark_dependent_nmethods(KlassDepChange& changes);
void add_dependent_nmethod(nmethod* nm);
- void remove_dependent_nmethod(nmethod* nm, bool delete_immediately);
+ void remove_dependent_nmethod(nmethod* nm);
+ void clean_dependency_context();
// On-stack replacement support
nmethod* osr_nmethods_head() const { return _osr_nmethods_head; };
void set_osr_nmethods_head(nmethod* h) { _osr_nmethods_head = h; };
void add_osr_nmethod(nmethod* n);
< prev index next >