< prev index next >

src/hotspot/share/oops/instanceKlass.cpp

Print this page

        

*** 2302,2311 **** --- 2302,2314 ---- // Unlink the class if (is_linked()) { unlink_class(); } + + _init_state = allocated; + { MutexLocker ml(Compile_lock); init_implementor(); }
*** 2348,2357 **** --- 2351,2364 ---- array_klasses()->remove_java_mirror(); } } void InstanceKlass::restore_unshareable_info(ClassLoaderData* loader_data, Handle protection_domain, TRAPS) { + // SystemDictionary::add_to_hierarchy() sets the init_state to loaded + // before the InstanceKlass is added to the the SystemDictionary. Make + // sure the current state is <loaded. + assert(!is_loaded(), "invalid init state"); set_package(loader_data, CHECK); Klass::restore_unshareable_info(loader_data, protection_domain, CHECK); Array<Method*>* methods = this->methods(); int num_methods = methods->length();
< prev index next >