206 }
207 static void allocate_shared_jar_manifest_array(int size, TRAPS);
208 static InstanceKlass* acquire_class_for_current_thread(
209 InstanceKlass *ik,
210 Handle class_loader,
211 Handle protection_domain,
212 const ClassFileStream* cfs,
213 TRAPS);
214 static DumpTimeSharedClassInfo* find_or_allocate_info_for(InstanceKlass* k);
215 static void write_dictionary(RunTimeSharedDictionary* dictionary,
216 bool is_builtin,
217 bool is_static_archive = true);
218 static bool is_jfr_event_class(InstanceKlass *k);
219 static void warn_excluded(InstanceKlass* k, const char* reason);
220 static bool should_be_excluded(InstanceKlass* k);
221
222 DEBUG_ONLY(static bool _no_class_loading_should_happen;)
223 public:
224 static InstanceKlass* find_builtin_class(Symbol* class_name);
225
226 static const RunTimeSharedClassInfo* find_record(RunTimeSharedDictionary* dict, Symbol* name);
227
228 static bool has_platform_or_app_classes();
229
230 // Called by PLATFORM/APP loader only
231 static InstanceKlass* find_or_load_shared_class(Symbol* class_name,
232 Handle class_loader,
233 TRAPS);
234
235
236 static void allocate_shared_data_arrays(int size, TRAPS);
237 static void oops_do(OopClosure* f);
238
239 // Check if sharing is supported for the class loader.
240 static bool is_sharing_possible(ClassLoaderData* loader_data);
241 static bool is_shared_class_visible_for_classloader(InstanceKlass* ik,
242 Handle class_loader,
243 const char* pkg_string,
244 Symbol* pkg_name,
245 PackageEntry* pkg_entry,
246 ModuleEntry* mod_entry,
|
206 }
207 static void allocate_shared_jar_manifest_array(int size, TRAPS);
208 static InstanceKlass* acquire_class_for_current_thread(
209 InstanceKlass *ik,
210 Handle class_loader,
211 Handle protection_domain,
212 const ClassFileStream* cfs,
213 TRAPS);
214 static DumpTimeSharedClassInfo* find_or_allocate_info_for(InstanceKlass* k);
215 static void write_dictionary(RunTimeSharedDictionary* dictionary,
216 bool is_builtin,
217 bool is_static_archive = true);
218 static bool is_jfr_event_class(InstanceKlass *k);
219 static void warn_excluded(InstanceKlass* k, const char* reason);
220 static bool should_be_excluded(InstanceKlass* k);
221
222 DEBUG_ONLY(static bool _no_class_loading_should_happen;)
223 public:
224 static InstanceKlass* find_builtin_class(Symbol* class_name);
225
226 static const RunTimeSharedClassInfo* find_record(RunTimeSharedDictionary* static_dict,
227 RunTimeSharedDictionary* dynamic_dict,
228 Symbol* name);
229
230 static bool has_platform_or_app_classes();
231
232 // Called by PLATFORM/APP loader only
233 static InstanceKlass* find_or_load_shared_class(Symbol* class_name,
234 Handle class_loader,
235 TRAPS);
236
237
238 static void allocate_shared_data_arrays(int size, TRAPS);
239 static void oops_do(OopClosure* f);
240
241 // Check if sharing is supported for the class loader.
242 static bool is_sharing_possible(ClassLoaderData* loader_data);
243 static bool is_shared_class_visible_for_classloader(InstanceKlass* ik,
244 Handle class_loader,
245 const char* pkg_string,
246 Symbol* pkg_name,
247 PackageEntry* pkg_entry,
248 ModuleEntry* mod_entry,
|