hotspot/src/share/vm/classfile/systemDictionary.hpp
changeset 46746 ea379ebb9447
parent 46742 24ec8a039c90
child 47103 a993ec29ec75
equal deleted inserted replaced
46745:f7b9bb98bb72 46746:ea379ebb9447
   351   // to local linkage and access checks.
   351   // to local linkage and access checks.
   352   static Klass* find_constrained_instance_or_array_klass(Symbol* class_name,
   352   static Klass* find_constrained_instance_or_array_klass(Symbol* class_name,
   353                                                            Handle class_loader,
   353                                                            Handle class_loader,
   354                                                            TRAPS);
   354                                                            TRAPS);
   355 
   355 
       
   356   static void classes_do(MetaspaceClosure* it);
   356   // Iterate over all methods in all klasses
   357   // Iterate over all methods in all klasses
       
   358 
   357   static void methods_do(void f(Method*));
   359   static void methods_do(void f(Method*));
   358 
   360 
   359   // Garbage collection support
   361   // Garbage collection support
   360 
   362 
   361   // This method applies "blk->do_oop" to all the pointers to "system"
   363   // This method applies "blk->do_oop" to all the pointers to "system"
   380   // System loader lock
   382   // System loader lock
   381   static oop system_loader_lock()           { return _system_loader_lock_obj; }
   383   static oop system_loader_lock()           { return _system_loader_lock_obj; }
   382 
   384 
   383 public:
   385 public:
   384   // Sharing support.
   386   // Sharing support.
   385   static void reorder_dictionary();
   387   static void reorder_dictionary_for_sharing();
   386   static void copy_buckets(char** top, char* end);
   388   static size_t count_bytes_for_buckets();
   387   static void copy_table(char** top, char* end);
   389   static size_t count_bytes_for_table();
       
   390   static void copy_buckets(char* top, char* end);
       
   391   static void copy_table(char* top, char* end);
   388   static void set_shared_dictionary(HashtableBucket<mtClass>* t, int length,
   392   static void set_shared_dictionary(HashtableBucket<mtClass>* t, int length,
   389                                     int number_of_entries);
   393                                     int number_of_entries);
   390   // Printing
   394   // Printing
   391   static void print() { return print_on(tty); }
   395   static void print() { return print_on(tty); }
   392   static void print_on(outputStream* st);
   396   static void print_on(outputStream* st);
   440 
   444 
   441   static InstanceKlass** well_known_klass_addr(WKID id) {
   445   static InstanceKlass** well_known_klass_addr(WKID id) {
   442     assert(id >= (int)FIRST_WKID && id < (int)WKID_LIMIT, "oob");
   446     assert(id >= (int)FIRST_WKID && id < (int)WKID_LIMIT, "oob");
   443     return &_well_known_klasses[id];
   447     return &_well_known_klasses[id];
   444   }
   448   }
       
   449   static void well_known_klasses_do(MetaspaceClosure* it);
   445 
   450 
   446   // Local definition for direct access to the private array:
   451   // Local definition for direct access to the private array:
   447   #define WK_KLASS(name) _well_known_klasses[SystemDictionary::WK_KLASS_ENUM_NAME(name)]
   452   #define WK_KLASS(name) _well_known_klasses[SystemDictionary::WK_KLASS_ENUM_NAME(name)]
   448 
   453 
   449   static InstanceKlass* box_klass(BasicType t) {
   454   static InstanceKlass* box_klass(BasicType t) {