24 |
24 |
25 #ifndef SHARE_VM_CLASSFILE_SYSTEMDICTIONARY_HPP |
25 #ifndef SHARE_VM_CLASSFILE_SYSTEMDICTIONARY_HPP |
26 #define SHARE_VM_CLASSFILE_SYSTEMDICTIONARY_HPP |
26 #define SHARE_VM_CLASSFILE_SYSTEMDICTIONARY_HPP |
27 |
27 |
28 #include "classfile/classLoader.hpp" |
28 #include "classfile/classLoader.hpp" |
29 #include "classfile/systemDictionary_ext.hpp" |
|
30 #include "jvmci/systemDictionary_jvmci.hpp" |
29 #include "jvmci/systemDictionary_jvmci.hpp" |
31 #include "oops/objArrayOop.hpp" |
30 #include "oops/objArrayOop.hpp" |
32 #include "oops/symbol.hpp" |
31 #include "oops/symbol.hpp" |
33 #include "runtime/java.hpp" |
32 #include "runtime/java.hpp" |
34 #include "runtime/reflectionUtils.hpp" |
33 #include "runtime/reflectionUtils.hpp" |
184 /* support for CDS */ \ |
183 /* support for CDS */ \ |
185 do_klass(ByteArrayInputStream_klass, java_io_ByteArrayInputStream, Pre ) \ |
184 do_klass(ByteArrayInputStream_klass, java_io_ByteArrayInputStream, Pre ) \ |
186 do_klass(File_klass, java_io_File, Pre ) \ |
185 do_klass(File_klass, java_io_File, Pre ) \ |
187 do_klass(URL_klass, java_net_URL, Pre ) \ |
186 do_klass(URL_klass, java_net_URL, Pre ) \ |
188 do_klass(Jar_Manifest_klass, java_util_jar_Manifest, Pre ) \ |
187 do_klass(Jar_Manifest_klass, java_util_jar_Manifest, Pre ) \ |
|
188 do_klass(jdk_internal_loader_ClassLoaders_klass, jdk_internal_loader_ClassLoaders, Pre ) \ |
189 do_klass(jdk_internal_loader_ClassLoaders_AppClassLoader_klass, jdk_internal_loader_ClassLoaders_AppClassLoader, Pre ) \ |
189 do_klass(jdk_internal_loader_ClassLoaders_AppClassLoader_klass, jdk_internal_loader_ClassLoaders_AppClassLoader, Pre ) \ |
190 do_klass(jdk_internal_loader_ClassLoaders_PlatformClassLoader_klass, jdk_internal_loader_ClassLoaders_PlatformClassLoader, Pre ) \ |
190 do_klass(jdk_internal_loader_ClassLoaders_PlatformClassLoader_klass, jdk_internal_loader_ClassLoaders_PlatformClassLoader, Pre ) \ |
191 do_klass(CodeSource_klass, java_security_CodeSource, Pre ) \ |
191 do_klass(CodeSource_klass, java_security_CodeSource, Pre ) \ |
192 do_klass(ParseUtil_klass, sun_net_www_ParseUtil, Pre ) \ |
192 do_klass(ParseUtil_klass, sun_net_www_ParseUtil, Pre ) \ |
193 \ |
193 \ |
210 do_klass(Byte_klass, java_lang_Byte, Pre ) \ |
210 do_klass(Byte_klass, java_lang_Byte, Pre ) \ |
211 do_klass(Short_klass, java_lang_Short, Pre ) \ |
211 do_klass(Short_klass, java_lang_Short, Pre ) \ |
212 do_klass(Integer_klass, java_lang_Integer, Pre ) \ |
212 do_klass(Integer_klass, java_lang_Integer, Pre ) \ |
213 do_klass(Long_klass, java_lang_Long, Pre ) \ |
213 do_klass(Long_klass, java_lang_Long, Pre ) \ |
214 \ |
214 \ |
215 /* Extensions */ \ |
|
216 WK_KLASSES_DO_EXT(do_klass) \ |
|
217 /* JVMCI classes. These are loaded on-demand. */ \ |
215 /* JVMCI classes. These are loaded on-demand. */ \ |
218 JVMCI_WK_KLASSES_DO(do_klass) \ |
216 JVMCI_WK_KLASSES_DO(do_klass) \ |
219 \ |
217 \ |
220 /*end*/ |
218 /*end*/ |
221 |
219 |
222 |
220 |
223 class SystemDictionary : AllStatic { |
221 class SystemDictionary : AllStatic { |
224 friend class VMStructs; |
222 friend class VMStructs; |
225 friend class SystemDictionaryHandles; |
223 friend class SystemDictionaryHandles; |
226 friend class SharedClassUtil; |
|
227 |
224 |
228 public: |
225 public: |
229 enum WKID { |
226 enum WKID { |
230 NO_WKID = 0, |
227 NO_WKID = 0, |
231 |
228 |