src/share/vm/classfile/systemDictionary.hpp

Print this page




 313   static void placeholders_do(void f(Symbol*));
 314 
 315   // Iterate over all methods in all klasses in dictionary
 316   static void methods_do(void f(Method*));
 317 
 318   // Garbage collection support
 319 
 320   // This method applies "blk->do_oop" to all the pointers to "system"
 321   // classes and loaders.
 322   static void always_strong_oops_do(OopClosure* blk);
 323   static void always_strong_classes_do(KlassClosure* closure);
 324 
 325   // Unload (that is, break root links to) all unmarked classes and
 326   // loaders.  Returns "true" iff something was unloaded.
 327   static bool do_unloading(BoolObjectClosure* is_alive);
 328 
 329   static int calculate_systemdictionary_size(int loadedclasses);
 330 
 331   // Applies "f->do_oop" to all root oops in the system dictionary.
 332   static void oops_do(OopClosure* f);

 333 
 334   // System loader lock
 335   static oop system_loader_lock()           { return _system_loader_lock_obj; }
 336 
 337 private:
 338   // Extended Redefine classes support (tbi)
 339   static void preloaded_classes_do(KlassClosure* f);
 340   static void lazily_loaded_classes_do(KlassClosure* f);
 341 public:
 342   // Sharing support.
 343   static void reorder_dictionary();
 344   static void copy_buckets(char** top, char* end);
 345   static void copy_table(char** top, char* end);
 346   static void reverse();
 347   static void set_shared_dictionary(HashtableBucket<mtClass>* t, int length,
 348                                     int number_of_entries);
 349   // Printing
 350   static void print()                   PRODUCT_RETURN;
 351   static void print_class_statistics()  PRODUCT_RETURN;
 352   static void print_method_statistics() PRODUCT_RETURN;




 313   static void placeholders_do(void f(Symbol*));
 314 
 315   // Iterate over all methods in all klasses in dictionary
 316   static void methods_do(void f(Method*));
 317 
 318   // Garbage collection support
 319 
 320   // This method applies "blk->do_oop" to all the pointers to "system"
 321   // classes and loaders.
 322   static void always_strong_oops_do(OopClosure* blk);
 323   static void always_strong_classes_do(KlassClosure* closure);
 324 
 325   // Unload (that is, break root links to) all unmarked classes and
 326   // loaders.  Returns "true" iff something was unloaded.
 327   static bool do_unloading(BoolObjectClosure* is_alive);
 328 
 329   static int calculate_systemdictionary_size(int loadedclasses);
 330 
 331   // Applies "f->do_oop" to all root oops in the system dictionary.
 332   static void oops_do(OopClosure* f);
 333   static void roots_oops_do(OopClosure* strong, OopClosure* weak);
 334 
 335   // System loader lock
 336   static oop system_loader_lock()           { return _system_loader_lock_obj; }
 337 
 338 private:
 339   // Extended Redefine classes support (tbi)
 340   static void preloaded_classes_do(KlassClosure* f);
 341   static void lazily_loaded_classes_do(KlassClosure* f);
 342 public:
 343   // Sharing support.
 344   static void reorder_dictionary();
 345   static void copy_buckets(char** top, char* end);
 346   static void copy_table(char** top, char* end);
 347   static void reverse();
 348   static void set_shared_dictionary(HashtableBucket<mtClass>* t, int length,
 349                                     int number_of_entries);
 350   // Printing
 351   static void print()                   PRODUCT_RETURN;
 352   static void print_class_statistics()  PRODUCT_RETURN;
 353   static void print_method_statistics() PRODUCT_RETURN;