174 do_klass(File_klass, java_io_File, Pre ) \ |
174 do_klass(File_klass, java_io_File, Pre ) \ |
175 do_klass(URLClassLoader_klass, java_net_URLClassLoader, Pre ) \ |
175 do_klass(URLClassLoader_klass, java_net_URLClassLoader, Pre ) \ |
176 do_klass(URL_klass, java_net_URL, Pre ) \ |
176 do_klass(URL_klass, java_net_URL, Pre ) \ |
177 do_klass(Jar_Manifest_klass, java_util_jar_Manifest, Pre ) \ |
177 do_klass(Jar_Manifest_klass, java_util_jar_Manifest, Pre ) \ |
178 do_klass(sun_misc_Launcher_klass, sun_misc_Launcher, Pre ) \ |
178 do_klass(sun_misc_Launcher_klass, sun_misc_Launcher, Pre ) \ |
|
179 do_klass(sun_misc_Launcher_AppClassLoader_klass, sun_misc_Launcher_AppClassLoader, Pre ) \ |
|
180 do_klass(sun_misc_Launcher_ExtClassLoader_klass, sun_misc_Launcher_ExtClassLoader, Pre ) \ |
179 do_klass(CodeSource_klass, java_security_CodeSource, Pre ) \ |
181 do_klass(CodeSource_klass, java_security_CodeSource, Pre ) \ |
180 \ |
182 \ |
181 /* It's NULL in non-1.4 JDKs. */ \ |
183 /* It's NULL in non-1.4 JDKs. */ \ |
182 do_klass(StackTraceElement_klass, java_lang_StackTraceElement, Opt ) \ |
184 do_klass(StackTraceElement_klass, java_lang_StackTraceElement, Opt ) \ |
183 /* Universe::is_gte_jdk14x_version() is not set up by this point. */ \ |
185 /* Universe::is_gte_jdk14x_version() is not set up by this point. */ \ |
338 static void always_strong_oops_do(OopClosure* blk); |
340 static void always_strong_oops_do(OopClosure* blk); |
339 static void always_strong_classes_do(KlassClosure* closure); |
341 static void always_strong_classes_do(KlassClosure* closure); |
340 |
342 |
341 // Unload (that is, break root links to) all unmarked classes and |
343 // Unload (that is, break root links to) all unmarked classes and |
342 // loaders. Returns "true" iff something was unloaded. |
344 // loaders. Returns "true" iff something was unloaded. |
343 static bool do_unloading(BoolObjectClosure* is_alive); |
345 static bool do_unloading(BoolObjectClosure* is_alive, bool clean_alive = true); |
344 |
346 |
345 // Used by DumpSharedSpaces only to remove classes that failed verification |
347 // Used by DumpSharedSpaces only to remove classes that failed verification |
346 static void remove_classes_in_error_state(); |
348 static void remove_classes_in_error_state(); |
347 |
349 |
348 static int calculate_systemdictionary_size(int loadedclasses); |
350 static int calculate_systemdictionary_size(int loadedclasses); |