165 do_klass(ResolvedMethodName_klass, java_lang_invoke_ResolvedMethodName, Pre ) \
166 do_klass(MethodHandleNatives_klass, java_lang_invoke_MethodHandleNatives, Pre ) \
167 do_klass(LambdaForm_klass, java_lang_invoke_LambdaForm, Opt ) \
168 do_klass(MethodType_klass, java_lang_invoke_MethodType, Pre ) \
169 do_klass(BootstrapMethodError_klass, java_lang_BootstrapMethodError, Pre ) \
170 do_klass(CallSite_klass, java_lang_invoke_CallSite, Pre ) \
171 do_klass(Context_klass, java_lang_invoke_MethodHandleNatives_CallSiteContext, Pre ) \
172 do_klass(ConstantCallSite_klass, java_lang_invoke_ConstantCallSite, Pre ) \
173 do_klass(MutableCallSite_klass, java_lang_invoke_MutableCallSite, Pre ) \
174 do_klass(VolatileCallSite_klass, java_lang_invoke_VolatileCallSite, Pre ) \
175 /* Note: MethodHandle must be first, and VolatileCallSite last in group */ \
176 \
177 do_klass(AssertionStatusDirectives_klass, java_lang_AssertionStatusDirectives, Pre ) \
178 do_klass(StringBuffer_klass, java_lang_StringBuffer, Pre ) \
179 do_klass(StringBuilder_klass, java_lang_StringBuilder, Pre ) \
180 do_klass(internal_Unsafe_klass, jdk_internal_misc_Unsafe, Pre ) \
181 do_klass(module_Modules_klass, jdk_internal_module_Modules, Pre ) \
182 \
183 /* support for CDS */ \
184 do_klass(ByteArrayInputStream_klass, java_io_ByteArrayInputStream, Pre ) \
185 do_klass(File_klass, java_io_File, Pre ) \
186 do_klass(URL_klass, java_net_URL, 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 ) \
190 do_klass(jdk_internal_loader_ClassLoaders_PlatformClassLoader_klass, jdk_internal_loader_ClassLoaders_PlatformClassLoader, Pre ) \
191 do_klass(CodeSource_klass, java_security_CodeSource, Pre ) \
192 do_klass(ParseUtil_klass, sun_net_www_ParseUtil, Pre ) \
193 \
194 do_klass(StackTraceElement_klass, java_lang_StackTraceElement, Opt ) \
195 \
196 /* It's okay if this turns out to be NULL in non-1.4 JDKs. */ \
197 do_klass(nio_Buffer_klass, java_nio_Buffer, Opt ) \
198 \
199 /* Stack Walking */ \
200 do_klass(StackWalker_klass, java_lang_StackWalker, Opt ) \
201 do_klass(AbstractStackWalker_klass, java_lang_StackStreamFactory_AbstractStackWalker, Opt ) \
202 do_klass(StackFrameInfo_klass, java_lang_StackFrameInfo, Opt ) \
203 do_klass(LiveStackFrameInfo_klass, java_lang_LiveStackFrameInfo, Opt ) \
204 \
205 /* Preload boxing klasses */ \
206 do_klass(Boolean_klass, java_lang_Boolean, Pre ) \
207 do_klass(Character_klass, java_lang_Character, Pre ) \
208 do_klass(Float_klass, java_lang_Float, Pre ) \
209 do_klass(Double_klass, java_lang_Double, Pre ) \
210 do_klass(Byte_klass, java_lang_Byte, Pre ) \
211 do_klass(Short_klass, java_lang_Short, Pre ) \
212 do_klass(Integer_klass, java_lang_Integer, Pre ) \
727 static void initialize_preloaded_classes(TRAPS);
728
729 // Class loader constraints
730 static void check_constraints(unsigned int hash,
731 InstanceKlass* k, Handle loader,
732 bool defining, TRAPS);
733 static void update_dictionary(unsigned int d_hash,
734 int p_index, unsigned int p_hash,
735 InstanceKlass* k, Handle loader,
736 TRAPS);
737
738 // Variables holding commonly used klasses (preloaded)
739 static InstanceKlass* _well_known_klasses[];
740
741 // Lazily loaded klasses
742 static InstanceKlass* volatile _abstract_ownable_synchronizer_klass;
743
744 // table of box klasses (int_klass, etc.)
745 static InstanceKlass* _box_klasses[T_VOID+1];
746
747 static oop _java_system_loader;
748 static oop _java_platform_loader;
749
750 static bool _has_checkPackageAccess;
751 };
752
753 #endif // SHARE_VM_CLASSFILE_SYSTEMDICTIONARY_HPP
|
165 do_klass(ResolvedMethodName_klass, java_lang_invoke_ResolvedMethodName, Pre ) \
166 do_klass(MethodHandleNatives_klass, java_lang_invoke_MethodHandleNatives, Pre ) \
167 do_klass(LambdaForm_klass, java_lang_invoke_LambdaForm, Opt ) \
168 do_klass(MethodType_klass, java_lang_invoke_MethodType, Pre ) \
169 do_klass(BootstrapMethodError_klass, java_lang_BootstrapMethodError, Pre ) \
170 do_klass(CallSite_klass, java_lang_invoke_CallSite, Pre ) \
171 do_klass(Context_klass, java_lang_invoke_MethodHandleNatives_CallSiteContext, Pre ) \
172 do_klass(ConstantCallSite_klass, java_lang_invoke_ConstantCallSite, Pre ) \
173 do_klass(MutableCallSite_klass, java_lang_invoke_MutableCallSite, Pre ) \
174 do_klass(VolatileCallSite_klass, java_lang_invoke_VolatileCallSite, Pre ) \
175 /* Note: MethodHandle must be first, and VolatileCallSite last in group */ \
176 \
177 do_klass(AssertionStatusDirectives_klass, java_lang_AssertionStatusDirectives, Pre ) \
178 do_klass(StringBuffer_klass, java_lang_StringBuffer, Pre ) \
179 do_klass(StringBuilder_klass, java_lang_StringBuilder, Pre ) \
180 do_klass(internal_Unsafe_klass, jdk_internal_misc_Unsafe, Pre ) \
181 do_klass(module_Modules_klass, jdk_internal_module_Modules, Pre ) \
182 \
183 /* support for CDS */ \
184 do_klass(ByteArrayInputStream_klass, java_io_ByteArrayInputStream, Pre ) \
185 do_klass(URL_klass, java_net_URL, Pre ) \
186 do_klass(Jar_Manifest_klass, java_util_jar_Manifest, Pre ) \
187 do_klass(jdk_internal_loader_ClassLoaders_klass, jdk_internal_loader_ClassLoaders, Pre ) \
188 do_klass(jdk_internal_loader_ClassLoaders_AppClassLoader_klass, jdk_internal_loader_ClassLoaders_AppClassLoader, Pre ) \
189 do_klass(jdk_internal_loader_ClassLoaders_PlatformClassLoader_klass, jdk_internal_loader_ClassLoaders_PlatformClassLoader, Pre ) \
190 do_klass(CodeSource_klass, java_security_CodeSource, Pre ) \
191 \
192 do_klass(StackTraceElement_klass, java_lang_StackTraceElement, Opt ) \
193 \
194 /* It's okay if this turns out to be NULL in non-1.4 JDKs. */ \
195 do_klass(nio_Buffer_klass, java_nio_Buffer, Opt ) \
196 \
197 /* Stack Walking */ \
198 do_klass(StackWalker_klass, java_lang_StackWalker, Opt ) \
199 do_klass(AbstractStackWalker_klass, java_lang_StackStreamFactory_AbstractStackWalker, Opt ) \
200 do_klass(StackFrameInfo_klass, java_lang_StackFrameInfo, Opt ) \
201 do_klass(LiveStackFrameInfo_klass, java_lang_LiveStackFrameInfo, Opt ) \
202 \
203 /* Preload boxing klasses */ \
204 do_klass(Boolean_klass, java_lang_Boolean, Pre ) \
205 do_klass(Character_klass, java_lang_Character, Pre ) \
206 do_klass(Float_klass, java_lang_Float, Pre ) \
207 do_klass(Double_klass, java_lang_Double, Pre ) \
208 do_klass(Byte_klass, java_lang_Byte, Pre ) \
209 do_klass(Short_klass, java_lang_Short, Pre ) \
210 do_klass(Integer_klass, java_lang_Integer, Pre ) \
725 static void initialize_preloaded_classes(TRAPS);
726
727 // Class loader constraints
728 static void check_constraints(unsigned int hash,
729 InstanceKlass* k, Handle loader,
730 bool defining, TRAPS);
731 static void update_dictionary(unsigned int d_hash,
732 int p_index, unsigned int p_hash,
733 InstanceKlass* k, Handle loader,
734 TRAPS);
735
736 // Variables holding commonly used klasses (preloaded)
737 static InstanceKlass* _well_known_klasses[];
738
739 // Lazily loaded klasses
740 static InstanceKlass* volatile _abstract_ownable_synchronizer_klass;
741
742 // table of box klasses (int_klass, etc.)
743 static InstanceKlass* _box_klasses[T_VOID+1];
744
745 private:
746 static oop _java_system_loader;
747 static oop _java_platform_loader;
748
749 static bool _has_checkPackageAccess;
750 };
751
752 #endif // SHARE_VM_CLASSFILE_SYSTEMDICTIONARY_HPP
|