< prev index next >

src/hotspot/share/memory/universe.cpp

Print this page




 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 


< prev index next >