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