hotspot/src/share/vm/oops/klass.hpp
changeset 25491 70fb742e40aa
parent 25490 59f226da8d81
child 25492 d27050bdfb04
equal deleted inserted replaced
25490:59f226da8d81 25491:70fb742e40aa
   551   // Iff the class loader (or mirror for anonymous classes) is alive the
   551   // Iff the class loader (or mirror for anonymous classes) is alive the
   552   // Klass is considered alive.
   552   // Klass is considered alive.
   553   // The is_alive closure passed in depends on the Garbage Collector used.
   553   // The is_alive closure passed in depends on the Garbage Collector used.
   554   bool is_loader_alive(BoolObjectClosure* is_alive);
   554   bool is_loader_alive(BoolObjectClosure* is_alive);
   555 
   555 
   556   static void clean_weak_klass_links(BoolObjectClosure* is_alive, bool clean_alive_klasses = true);
   556   static void clean_weak_klass_links(BoolObjectClosure* is_alive);
   557   static void clean_subklass_tree(BoolObjectClosure* is_alive) {
       
   558     clean_weak_klass_links(is_alive, false /* clean_alive_klasses */);
       
   559   }
       
   560 
   557 
   561   // iterators
   558   // iterators
   562   virtual int oop_oop_iterate(oop obj, ExtendedOopClosure* blk) = 0;
   559   virtual int oop_oop_iterate(oop obj, ExtendedOopClosure* blk) = 0;
   563   virtual int oop_oop_iterate_v(oop obj, ExtendedOopClosure* blk) {
   560   virtual int oop_oop_iterate_v(oop obj, ExtendedOopClosure* blk) {
   564     return oop_oop_iterate(obj, blk);
   561     return oop_oop_iterate(obj, blk);
   661   static Klass* decode_klass(narrowKlass v);
   658   static Klass* decode_klass(narrowKlass v);
   662 
   659 
   663  private:
   660  private:
   664   // barriers used by klass_oop_store
   661   // barriers used by klass_oop_store
   665   void klass_update_barrier_set(oop v);
   662   void klass_update_barrier_set(oop v);
   666   void klass_update_barrier_set_pre(oop* p, oop v);
   663   void klass_update_barrier_set_pre(void* p, oop v);
   667 };
   664 };
   668 
   665 
   669 #endif // SHARE_VM_OOPS_KLASS_HPP
   666 #endif // SHARE_VM_OOPS_KLASS_HPP