hotspot/src/share/vm/classfile/systemDictionary.hpp
changeset 16617 6235d2c7549f
parent 16352 1ff72c6eaa70
child 16631 c6860a0ebc99
equal deleted inserted replaced
16616:4c8e1c4a798b 16617:6235d2c7549f
   104   do_klass(Throwable_klass,                             java_lang_Throwable,                       Pre                 ) \
   104   do_klass(Throwable_klass,                             java_lang_Throwable,                       Pre                 ) \
   105   do_klass(Error_klass,                                 java_lang_Error,                           Pre                 ) \
   105   do_klass(Error_klass,                                 java_lang_Error,                           Pre                 ) \
   106   do_klass(ThreadDeath_klass,                           java_lang_ThreadDeath,                     Pre                 ) \
   106   do_klass(ThreadDeath_klass,                           java_lang_ThreadDeath,                     Pre                 ) \
   107   do_klass(Exception_klass,                             java_lang_Exception,                       Pre                 ) \
   107   do_klass(Exception_klass,                             java_lang_Exception,                       Pre                 ) \
   108   do_klass(RuntimeException_klass,                      java_lang_RuntimeException,                Pre                 ) \
   108   do_klass(RuntimeException_klass,                      java_lang_RuntimeException,                Pre                 ) \
       
   109   do_klass(SecurityManager_klass,                       java_lang_SecurityManager,                 Pre                 ) \
   109   do_klass(ProtectionDomain_klass,                      java_security_ProtectionDomain,            Pre                 ) \
   110   do_klass(ProtectionDomain_klass,                      java_security_ProtectionDomain,            Pre                 ) \
   110   do_klass(AccessControlContext_klass,                  java_security_AccessControlContext,        Pre                 ) \
   111   do_klass(AccessControlContext_klass,                  java_security_AccessControlContext,        Pre                 ) \
   111   do_klass(ClassNotFoundException_klass,                java_lang_ClassNotFoundException,          Pre                 ) \
   112   do_klass(ClassNotFoundException_klass,                java_lang_ClassNotFoundException,          Pre                 ) \
   112   do_klass(NoClassDefFoundError_klass,                  java_lang_NoClassDefFoundError,            Pre                 ) \
   113   do_klass(NoClassDefFoundError_klass,                  java_lang_NoClassDefFoundError,            Pre                 ) \
   113   do_klass(LinkageError_klass,                          java_lang_LinkageError,                    Pre                 ) \
   114   do_klass(LinkageError_klass,                          java_lang_LinkageError,                    Pre                 ) \
   136   do_klass(reflect_Constructor_klass,                   java_lang_reflect_Constructor,             Pre                 ) \
   137   do_klass(reflect_Constructor_klass,                   java_lang_reflect_Constructor,             Pre                 ) \
   137                                                                                                                          \
   138                                                                                                                          \
   138   /* NOTE: needed too early in bootstrapping process to have checks based on JDK version */                              \
   139   /* NOTE: needed too early in bootstrapping process to have checks based on JDK version */                              \
   139   /* Universe::is_gte_jdk14x_version() is not set up by this point. */                                                   \
   140   /* Universe::is_gte_jdk14x_version() is not set up by this point. */                                                   \
   140   /* It's okay if this turns out to be NULL in non-1.4 JDKs. */                                                          \
   141   /* It's okay if this turns out to be NULL in non-1.4 JDKs. */                                                          \
   141   do_klass(lambda_MagicLambdaImpl_klass,                java_lang_invoke_MagicLambdaImpl, Opt ) \
   142   do_klass(lambda_MagicLambdaImpl_klass,                java_lang_invoke_MagicLambdaImpl,          Opt                 ) \
   142   do_klass(reflect_MagicAccessorImpl_klass,             sun_reflect_MagicAccessorImpl,             Opt                 ) \
   143   do_klass(reflect_MagicAccessorImpl_klass,             sun_reflect_MagicAccessorImpl,             Opt                 ) \
   143   do_klass(reflect_MethodAccessorImpl_klass,            sun_reflect_MethodAccessorImpl,            Opt_Only_JDK14NewRef) \
   144   do_klass(reflect_MethodAccessorImpl_klass,            sun_reflect_MethodAccessorImpl,            Opt_Only_JDK14NewRef) \
   144   do_klass(reflect_ConstructorAccessorImpl_klass,       sun_reflect_ConstructorAccessorImpl,       Opt_Only_JDK14NewRef) \
   145   do_klass(reflect_ConstructorAccessorImpl_klass,       sun_reflect_ConstructorAccessorImpl,       Opt_Only_JDK14NewRef) \
   145   do_klass(reflect_DelegatingClassLoader_klass,         sun_reflect_DelegatingClassLoader,         Opt                 ) \
   146   do_klass(reflect_DelegatingClassLoader_klass,         sun_reflect_DelegatingClassLoader,         Opt                 ) \
   146   do_klass(reflect_ConstantPool_klass,                  sun_reflect_ConstantPool,                  Opt_Only_JDK15      ) \
   147   do_klass(reflect_ConstantPool_klass,                  sun_reflect_ConstantPool,                  Opt_Only_JDK15      ) \
   147   do_klass(reflect_UnsafeStaticFieldAccessorImpl_klass, sun_reflect_UnsafeStaticFieldAccessorImpl, Opt_Only_JDK15      ) \
   148   do_klass(reflect_UnsafeStaticFieldAccessorImpl_klass, sun_reflect_UnsafeStaticFieldAccessorImpl, Opt_Only_JDK15      ) \
       
   149   do_klass(reflect_CallerSensitive_klass,               sun_reflect_CallerSensitive,               Opt                 ) \
   148                                                                                                                          \
   150                                                                                                                          \
   149   /* support for dynamic typing; it's OK if these are NULL in earlier JDKs */                                            \
   151   /* support for dynamic typing; it's OK if these are NULL in earlier JDKs */                                            \
   150   do_klass(MethodHandle_klass,                          java_lang_invoke_MethodHandle,             Pre_JSR292          ) \
   152   do_klass(MethodHandle_klass,                          java_lang_invoke_MethodHandle,             Pre_JSR292          ) \
   151   do_klass(MemberName_klass,                            java_lang_invoke_MemberName,               Pre_JSR292          ) \
   153   do_klass(MemberName_klass,                            java_lang_invoke_MemberName,               Pre_JSR292          ) \
   152   do_klass(MethodHandleNatives_klass,                   java_lang_invoke_MethodHandleNatives,      Pre_JSR292          ) \
   154   do_klass(MethodHandleNatives_klass,                   java_lang_invoke_MethodHandleNatives,      Pre_JSR292          ) \
   626   static Handle compute_loader_lock_object(Handle class_loader, TRAPS);
   628   static Handle compute_loader_lock_object(Handle class_loader, TRAPS);
   627   static void check_loader_lock_contention(Handle loader_lock, TRAPS);
   629   static void check_loader_lock_contention(Handle loader_lock, TRAPS);
   628   static bool is_parallelCapable(Handle class_loader);
   630   static bool is_parallelCapable(Handle class_loader);
   629   static bool is_parallelDefine(Handle class_loader);
   631   static bool is_parallelDefine(Handle class_loader);
   630 
   632 
       
   633 public:
       
   634   static bool is_ext_class_loader(Handle class_loader);
       
   635 
       
   636 private:
   631   static Klass* find_shared_class(Symbol* class_name);
   637   static Klass* find_shared_class(Symbol* class_name);
   632 
   638 
   633   // Setup link to hierarchy
   639   // Setup link to hierarchy
   634   static void add_to_hierarchy(instanceKlassHandle k, TRAPS);
   640   static void add_to_hierarchy(instanceKlassHandle k, TRAPS);
   635 
   641 
   636 private:
       
   637   // We pass in the hashtable index so we can calculate it outside of
   642   // We pass in the hashtable index so we can calculate it outside of
   638   // the SystemDictionary_lock.
   643   // the SystemDictionary_lock.
   639 
   644 
   640   // Basic find on loaded classes
   645   // Basic find on loaded classes
   641   static Klass* find_class(int index, unsigned int hash,
   646   static Klass* find_class(int index, unsigned int hash,