hotspot/src/share/vm/classfile/systemDictionary.hpp
changeset 9116 9bc44be338d6
parent 8883 5569135acca3
child 9967 9ddc1c490930
equal deleted inserted replaced
9115:5a28312aa393 9116:9bc44be338d6
   144   template(reflect_UnsafeStaticFieldAccessorImpl_klass, sun_reflect_UnsafeStaticFieldAccessorImpl, Opt_Only_JDK15) \
   144   template(reflect_UnsafeStaticFieldAccessorImpl_klass, sun_reflect_UnsafeStaticFieldAccessorImpl, Opt_Only_JDK15) \
   145                                                                               \
   145                                                                               \
   146   /* support for dynamic typing; it's OK if these are NULL in earlier JDKs */ \
   146   /* support for dynamic typing; it's OK if these are NULL in earlier JDKs */ \
   147   template(MethodHandle_klass,           java_lang_invoke_MethodHandle,     Pre_JSR292) \
   147   template(MethodHandle_klass,           java_lang_invoke_MethodHandle,     Pre_JSR292) \
   148   template(MemberName_klass,             java_lang_invoke_MemberName,       Pre_JSR292) \
   148   template(MemberName_klass,             java_lang_invoke_MemberName,       Pre_JSR292) \
   149   template(MethodHandleImpl_klass,       sun_dyn_MethodHandleImpl,          Opt) /* AllowTransitionalJSR292 ONLY */ \
       
   150   template(MethodHandleNatives_klass,    java_lang_invoke_MethodHandleNatives, Pre_JSR292) \
   149   template(MethodHandleNatives_klass,    java_lang_invoke_MethodHandleNatives, Pre_JSR292) \
   151   template(AdapterMethodHandle_klass,    java_lang_invoke_AdapterMethodHandle, Pre_JSR292) \
   150   template(AdapterMethodHandle_klass,    java_lang_invoke_AdapterMethodHandle, Pre_JSR292) \
   152   template(BoundMethodHandle_klass,      java_lang_invoke_BoundMethodHandle, Pre_JSR292) \
   151   template(BoundMethodHandle_klass,      java_lang_invoke_BoundMethodHandle, Pre_JSR292) \
   153   template(DirectMethodHandle_klass,     java_lang_invoke_DirectMethodHandle, Pre_JSR292) \
   152   template(DirectMethodHandle_klass,     java_lang_invoke_DirectMethodHandle, Pre_JSR292) \
   154   template(MethodType_klass,             java_lang_invoke_MethodType,       Pre_JSR292) \
   153   template(MethodType_klass,             java_lang_invoke_MethodType,       Pre_JSR292) \
   155   template(MethodTypeForm_klass,         java_lang_invoke_MethodTypeForm,   Pre_JSR292) \
   154   template(MethodTypeForm_klass,         java_lang_invoke_MethodTypeForm,   Pre_JSR292) \
   156   template(WrongMethodTypeException_klass, java_lang_invoke_WrongMethodTypeException, Pre_JSR292) \
   155   template(WrongMethodTypeException_klass, java_lang_invoke_WrongMethodTypeException, Pre_JSR292) \
   157   template(Linkage_klass,                java_lang_invoke_Linkage,          Opt) /* AllowTransitionalJSR292 ONLY */ \
       
   158   template(CallSite_klass,               java_lang_invoke_CallSite,         Pre_JSR292) \
   156   template(CallSite_klass,               java_lang_invoke_CallSite,         Pre_JSR292) \
   159   /* Note: MethodHandle must be first, and CallSite last in group */          \
   157   /* Note: MethodHandle must be first, and CallSite last in group */          \
   160                                                                               \
   158                                                                               \
   161   template(StringBuffer_klass,           java_lang_StringBuffer,         Pre) \
   159   template(StringBuffer_klass,           java_lang_StringBuffer,         Pre) \
   162   template(StringBuilder_klass,          java_lang_StringBuilder,        Pre) \
   160   template(StringBuilder_klass,          java_lang_StringBuilder,        Pre) \
   420   static void initialize_wk_klasses_through(WKID end_id, WKID &start_id, TRAPS) {
   418   static void initialize_wk_klasses_through(WKID end_id, WKID &start_id, TRAPS) {
   421     int limit = (int)end_id + 1;
   419     int limit = (int)end_id + 1;
   422     initialize_wk_klasses_until((WKID) limit, start_id, THREAD);
   420     initialize_wk_klasses_until((WKID) limit, start_id, THREAD);
   423   }
   421   }
   424 
   422 
   425   static Symbol* find_backup_symbol(Symbol* symbol, const char* from_prefix, const char* to_prefix);
       
   426 
       
   427 public:
   423 public:
   428   #define WK_KLASS_DECLARE(name, ignore_symbol, option) \
   424   #define WK_KLASS_DECLARE(name, ignore_symbol, option) \
   429     static klassOop name() { return check_klass_##option(_well_known_klasses[WK_KLASS_ENUM_NAME(name)]); }
   425     static klassOop name() { return check_klass_##option(_well_known_klasses[WK_KLASS_ENUM_NAME(name)]); }
   430   WK_KLASSES_DO(WK_KLASS_DECLARE);
   426   WK_KLASSES_DO(WK_KLASS_DECLARE);
   431   #undef WK_KLASS_DECLARE
   427   #undef WK_KLASS_DECLARE
   442   // methods returning lazily loaded klasses
   438   // methods returning lazily loaded klasses
   443   // The corresponding method to load the class must be called before calling them.
   439   // The corresponding method to load the class must be called before calling them.
   444   static klassOop abstract_ownable_synchronizer_klass() { return check_klass(_abstract_ownable_synchronizer_klass); }
   440   static klassOop abstract_ownable_synchronizer_klass() { return check_klass(_abstract_ownable_synchronizer_klass); }
   445 
   441 
   446   static void load_abstract_ownable_synchronizer_klass(TRAPS);
   442   static void load_abstract_ownable_synchronizer_klass(TRAPS);
   447 
       
   448   static Symbol* find_backup_class_name(Symbol* class_name_symbol);
       
   449   static Symbol* find_backup_signature(Symbol* signature_symbol);
       
   450 
   443 
   451 private:
   444 private:
   452   // Tells whether ClassLoader.loadClassInternal is present
   445   // Tells whether ClassLoader.loadClassInternal is present
   453   static bool has_loadClassInternal()       { return _has_loadClassInternal; }
   446   static bool has_loadClassInternal()       { return _has_loadClassInternal; }
   454 
   447