hotspot/src/share/vm/classfile/systemDictionary.hpp
changeset 2332 5c7b6f4ce0a1
parent 2105 347008ce7984
child 2534 08dac9ce0cd7
equal deleted inserted replaced
2259:d3c946e7f127 2332:5c7b6f4ce0a1
   159 
   159 
   160 
   160 
   161 class SystemDictionary : AllStatic {
   161 class SystemDictionary : AllStatic {
   162   friend class VMStructs;
   162   friend class VMStructs;
   163   friend class CompactingPermGenGen;
   163   friend class CompactingPermGenGen;
       
   164   friend class SystemDictionaryHandles;
   164   NOT_PRODUCT(friend class instanceKlassKlass;)
   165   NOT_PRODUCT(friend class instanceKlassKlass;)
   165 
   166 
   166  public:
   167  public:
   167   enum WKID {
   168   enum WKID {
   168     NO_WKID = 0,
   169     NO_WKID = 0,
   593   static oop  _java_system_loader;
   594   static oop  _java_system_loader;
   594 
   595 
   595   static bool _has_loadClassInternal;
   596   static bool _has_loadClassInternal;
   596   static bool _has_checkPackageAccess;
   597   static bool _has_checkPackageAccess;
   597 };
   598 };
       
   599 
       
   600 // Cf. vmSymbols vs. vmSymbolHandles
       
   601 class SystemDictionaryHandles : AllStatic {
       
   602 public:
       
   603   #define WK_KLASS_HANDLE_DECLARE(name, ignore_symbol, option) \
       
   604     static KlassHandle name() { \
       
   605       SystemDictionary::name(); \
       
   606       klassOop* loc = &SystemDictionary::_well_known_klasses[SystemDictionary::WK_KLASS_ENUM_NAME(name)]; \
       
   607       return KlassHandle(loc, true); \
       
   608     }
       
   609   WK_KLASSES_DO(WK_KLASS_HANDLE_DECLARE);
       
   610   #undef WK_KLASS_HANDLE_DECLARE
       
   611 
       
   612   static KlassHandle box_klass(BasicType t);
       
   613 };