263 _finalizer_register_cache->serialize(f);
264 _loader_addClass_cache->serialize(f);
265 _throw_illegal_access_error_cache->serialize(f);
266 _throw_no_such_method_error_cache->serialize(f);
267 _do_stack_walk_cache->serialize(f);
268 }
269
270 void Universe::check_alignment(uintx size, uintx alignment, const char* name) {
271 if (size < alignment || size % alignment != 0) {
272 vm_exit_during_initialization(
273 err_msg("Size of %s (" UINTX_FORMAT " bytes) must be aligned to " UINTX_FORMAT " bytes", name, size, alignment));
274 }
275 }
276
277 void initialize_basic_type_klass(Klass* k, TRAPS) {
278 Klass* ok = SystemDictionary::Object_klass();
279 #if INCLUDE_CDS
280 if (UseSharedSpaces) {
281 ClassLoaderData* loader_data = ClassLoaderData::the_null_class_loader_data();
282 assert(k->super() == ok, "u3");
283 k->restore_unshareable_info(loader_data, Handle(), CHECK);
284 } else
285 #endif
286 {
287 k->initialize_supers(ok, NULL, CHECK);
288 }
289 k->append_to_sibling_list();
290 }
291
292 void Universe::genesis(TRAPS) {
293 ResourceMark rm(THREAD);
294
295 { FlagSetting fs(_bootstrapping, true);
296
297 { MutexLocker mc(THREAD, Compile_lock);
298
299 java_lang_Class::allocate_fixup_lists();
300
301 // determine base vtable size; without that we cannot create the array klasses
302 compute_base_vtable_size();
303
|
263 _finalizer_register_cache->serialize(f);
264 _loader_addClass_cache->serialize(f);
265 _throw_illegal_access_error_cache->serialize(f);
266 _throw_no_such_method_error_cache->serialize(f);
267 _do_stack_walk_cache->serialize(f);
268 }
269
270 void Universe::check_alignment(uintx size, uintx alignment, const char* name) {
271 if (size < alignment || size % alignment != 0) {
272 vm_exit_during_initialization(
273 err_msg("Size of %s (" UINTX_FORMAT " bytes) must be aligned to " UINTX_FORMAT " bytes", name, size, alignment));
274 }
275 }
276
277 void initialize_basic_type_klass(Klass* k, TRAPS) {
278 Klass* ok = SystemDictionary::Object_klass();
279 #if INCLUDE_CDS
280 if (UseSharedSpaces) {
281 ClassLoaderData* loader_data = ClassLoaderData::the_null_class_loader_data();
282 assert(k->super() == ok, "u3");
283 if (k->is_instance_klass()) {
284 InstanceKlass::cast(k)->restore_unshareable_info(loader_data, Handle(), NULL, CHECK);
285 } else {
286 ArrayKlass::cast(k)->restore_unshareable_info(loader_data, Handle(), CHECK);
287 }
288 } else
289 #endif
290 {
291 k->initialize_supers(ok, NULL, CHECK);
292 }
293 k->append_to_sibling_list();
294 }
295
296 void Universe::genesis(TRAPS) {
297 ResourceMark rm(THREAD);
298
299 { FlagSetting fs(_bootstrapping, true);
300
301 { MutexLocker mc(THREAD, Compile_lock);
302
303 java_lang_Class::allocate_fixup_lists();
304
305 // determine base vtable size; without that we cannot create the array klasses
306 compute_base_vtable_size();
307
|