src/hotspot/share/memory/universe.cpp
changeset 51329 9c68699bebe5
parent 50039 9fec54fe663d
child 51491 187c84a5efe1
equal deleted inserted replaced
51328:fad2334b2906 51329:9c68699bebe5
   133 oop Universe::_reference_pending_list                 = NULL;
   133 oop Universe::_reference_pending_list                 = NULL;
   134 
   134 
   135 Array<int>* Universe::_the_empty_int_array            = NULL;
   135 Array<int>* Universe::_the_empty_int_array            = NULL;
   136 Array<u2>* Universe::_the_empty_short_array           = NULL;
   136 Array<u2>* Universe::_the_empty_short_array           = NULL;
   137 Array<Klass*>* Universe::_the_empty_klass_array     = NULL;
   137 Array<Klass*>* Universe::_the_empty_klass_array     = NULL;
       
   138 Array<InstanceKlass*>* Universe::_the_empty_instance_klass_array  = NULL;
   138 Array<Method*>* Universe::_the_empty_method_array   = NULL;
   139 Array<Method*>* Universe::_the_empty_method_array   = NULL;
   139 
   140 
   140 // These variables are guarded by FullGCALot_lock.
   141 // These variables are guarded by FullGCALot_lock.
   141 debug_only(objArrayOop Universe::_fullgc_alot_dummy_array = NULL;)
   142 debug_only(objArrayOop Universe::_fullgc_alot_dummy_array = NULL;)
   142 debug_only(int Universe::_fullgc_alot_dummy_next      = 0;)
   143 debug_only(int Universe::_fullgc_alot_dummy_next      = 0;)
   232   it->push(&_objectArrayKlassObj);
   233   it->push(&_objectArrayKlassObj);
   233 
   234 
   234   it->push(&_the_empty_int_array);
   235   it->push(&_the_empty_int_array);
   235   it->push(&_the_empty_short_array);
   236   it->push(&_the_empty_short_array);
   236   it->push(&_the_empty_klass_array);
   237   it->push(&_the_empty_klass_array);
       
   238   it->push(&_the_empty_instance_klass_array);
   237   it->push(&_the_empty_method_array);
   239   it->push(&_the_empty_method_array);
   238   it->push(&_the_array_interfaces_array);
   240   it->push(&_the_array_interfaces_array);
   239 
   241 
   240   _finalizer_register_cache->metaspace_pointers_do(it);
   242   _finalizer_register_cache->metaspace_pointers_do(it);
   241   _loader_addClass_cache->metaspace_pointers_do(it);
   243   _loader_addClass_cache->metaspace_pointers_do(it);
   285   f->do_ptr((void**)&_the_array_interfaces_array);
   287   f->do_ptr((void**)&_the_array_interfaces_array);
   286   f->do_ptr((void**)&_the_empty_int_array);
   288   f->do_ptr((void**)&_the_empty_int_array);
   287   f->do_ptr((void**)&_the_empty_short_array);
   289   f->do_ptr((void**)&_the_empty_short_array);
   288   f->do_ptr((void**)&_the_empty_method_array);
   290   f->do_ptr((void**)&_the_empty_method_array);
   289   f->do_ptr((void**)&_the_empty_klass_array);
   291   f->do_ptr((void**)&_the_empty_klass_array);
       
   292   f->do_ptr((void**)&_the_empty_instance_klass_array);
   290   _finalizer_register_cache->serialize(f);
   293   _finalizer_register_cache->serialize(f);
   291   _loader_addClass_cache->serialize(f);
   294   _loader_addClass_cache->serialize(f);
   292   _pd_implies_cache->serialize(f);
   295   _pd_implies_cache->serialize(f);
   293   _throw_illegal_access_error_cache->serialize(f);
   296   _throw_illegal_access_error_cache->serialize(f);
   294   _do_stack_walk_cache->serialize(f);
   297   _do_stack_walk_cache->serialize(f);
   347         _typeArrayKlassObjs[T_INT]     = _intArrayKlassObj;
   350         _typeArrayKlassObjs[T_INT]     = _intArrayKlassObj;
   348         _typeArrayKlassObjs[T_LONG]    = _longArrayKlassObj;
   351         _typeArrayKlassObjs[T_LONG]    = _longArrayKlassObj;
   349 
   352 
   350         ClassLoaderData* null_cld = ClassLoaderData::the_null_class_loader_data();
   353         ClassLoaderData* null_cld = ClassLoaderData::the_null_class_loader_data();
   351 
   354 
   352         _the_array_interfaces_array = MetadataFactory::new_array<Klass*>(null_cld, 2, NULL, CHECK);
   355         _the_array_interfaces_array     = MetadataFactory::new_array<Klass*>(null_cld, 2, NULL, CHECK);
   353         _the_empty_int_array        = MetadataFactory::new_array<int>(null_cld, 0, CHECK);
   356         _the_empty_int_array            = MetadataFactory::new_array<int>(null_cld, 0, CHECK);
   354         _the_empty_short_array      = MetadataFactory::new_array<u2>(null_cld, 0, CHECK);
   357         _the_empty_short_array          = MetadataFactory::new_array<u2>(null_cld, 0, CHECK);
   355         _the_empty_method_array     = MetadataFactory::new_array<Method*>(null_cld, 0, CHECK);
   358         _the_empty_method_array         = MetadataFactory::new_array<Method*>(null_cld, 0, CHECK);
   356         _the_empty_klass_array      = MetadataFactory::new_array<Klass*>(null_cld, 0, CHECK);
   359         _the_empty_klass_array          = MetadataFactory::new_array<Klass*>(null_cld, 0, CHECK);
       
   360         _the_empty_instance_klass_array = MetadataFactory::new_array<InstanceKlass*>(null_cld, 0, CHECK);
   357       }
   361       }
   358     }
   362     }
   359 
   363 
   360     vmSymbols::initialize(CHECK);
   364     vmSymbols::initialize(CHECK);
   361 
   365