hotspot/src/share/vm/oops/instanceKlass.hpp
changeset 33576 6dbde58b08a6
parent 33151 686d694f5c6a
child 33593 60764a78fa5c
equal deleted inserted replaced
33230:23bb11a5cf4e 33576:6dbde58b08a6
   835   JNIid* jni_id_for(int offset);
   835   JNIid* jni_id_for(int offset);
   836 
   836 
   837   // maintenance of deoptimization dependencies
   837   // maintenance of deoptimization dependencies
   838   int mark_dependent_nmethods(DepChange& changes);
   838   int mark_dependent_nmethods(DepChange& changes);
   839   void add_dependent_nmethod(nmethod* nm);
   839   void add_dependent_nmethod(nmethod* nm);
   840   void remove_dependent_nmethod(nmethod* nm);
   840   void remove_dependent_nmethod(nmethod* nm, bool delete_immediately);
   841 
   841 
   842   // On-stack replacement support
   842   // On-stack replacement support
   843   nmethod* osr_nmethods_head() const         { return _osr_nmethods_head; };
   843   nmethod* osr_nmethods_head() const         { return _osr_nmethods_head; };
   844   void set_osr_nmethods_head(nmethod* h)     { _osr_nmethods_head = h; };
   844   void set_osr_nmethods_head(nmethod* h)     { _osr_nmethods_head = h; };
   845   void add_osr_nmethod(nmethod* n);
   845   void add_osr_nmethod(nmethod* n);
  1019 
  1019 
  1020 #if INCLUDE_JVMTI
  1020 #if INCLUDE_JVMTI
  1021   void adjust_default_methods(InstanceKlass* holder, bool* trace_name_printed);
  1021   void adjust_default_methods(InstanceKlass* holder, bool* trace_name_printed);
  1022 #endif // INCLUDE_JVMTI
  1022 #endif // INCLUDE_JVMTI
  1023 
  1023 
       
  1024   void clean_weak_instanceklass_links(BoolObjectClosure* is_alive);
  1024   void clean_implementors_list(BoolObjectClosure* is_alive);
  1025   void clean_implementors_list(BoolObjectClosure* is_alive);
  1025   void clean_method_data(BoolObjectClosure* is_alive);
  1026   void clean_method_data(BoolObjectClosure* is_alive);
  1026   void clean_dependent_nmethods();
  1027   void clean_dependent_nmethods();
  1027 
  1028 
  1028   // Explicit metaspace deallocation of fields
  1029   // Explicit metaspace deallocation of fields
  1347   void set_next(nmethodBucket* b)         { _next = b; }
  1348   void set_next(nmethodBucket* b)         { _next = b; }
  1348   nmethod* get_nmethod()                  { return _nmethod; }
  1349   nmethod* get_nmethod()                  { return _nmethod; }
  1349 
  1350 
  1350   static int mark_dependent_nmethods(nmethodBucket* deps, DepChange& changes);
  1351   static int mark_dependent_nmethods(nmethodBucket* deps, DepChange& changes);
  1351   static nmethodBucket* add_dependent_nmethod(nmethodBucket* deps, nmethod* nm);
  1352   static nmethodBucket* add_dependent_nmethod(nmethodBucket* deps, nmethod* nm);
       
  1353   static bool remove_dependent_nmethod(nmethodBucket** deps, nmethod* nm, bool delete_immediately);
  1352   static bool remove_dependent_nmethod(nmethodBucket* deps, nmethod* nm);
  1354   static bool remove_dependent_nmethod(nmethodBucket* deps, nmethod* nm);
  1353   static nmethodBucket* clean_dependent_nmethods(nmethodBucket* deps);
  1355   static nmethodBucket* clean_dependent_nmethods(nmethodBucket* deps);
  1354 #ifndef PRODUCT
  1356 #ifndef PRODUCT
  1355   static void print_dependent_nmethods(nmethodBucket* deps, bool verbose);
  1357   static void print_dependent_nmethods(nmethodBucket* deps, bool verbose);
  1356   static bool is_dependent_nmethod(nmethodBucket* deps, nmethod* nm);
  1358   static bool is_dependent_nmethod(nmethodBucket* deps, nmethod* nm);