src/hotspot/share/oops/instanceKlass.cpp
changeset 49738 a7bc87a63dd8
parent 49658 8237a91c1cca
child 49821 02c08e20d66c
equal deleted inserted replaced
49737:01960eec4570 49738:a7bc87a63dd8
  1899   DependencyContext dep_context(&_dep_context);
  1899   DependencyContext dep_context(&_dep_context);
  1900   dep_context.expunge_stale_entries();
  1900   dep_context.expunge_stale_entries();
  1901 }
  1901 }
  1902 
  1902 
  1903 void InstanceKlass::clean_implementors_list(BoolObjectClosure* is_alive) {
  1903 void InstanceKlass::clean_implementors_list(BoolObjectClosure* is_alive) {
  1904   assert(class_loader_data()->is_alive(is_alive), "this klass should be live");
  1904   assert(class_loader_data()->is_alive(), "this klass should be live");
  1905   if (is_interface()) {
  1905   if (is_interface()) {
  1906     if (ClassUnloading) {
  1906     if (ClassUnloading) {
  1907       Klass* impl = implementor();
  1907       Klass* impl = implementor();
  1908       if (impl != NULL) {
  1908       if (impl != NULL) {
  1909         if (!impl->is_loader_alive(is_alive)) {
  1909         if (!impl->is_loader_alive(is_alive)) {
  3405 #endif
  3405 #endif
  3406     current = current->next();
  3406     current = current->next();
  3407   }
  3407   }
  3408 }
  3408 }
  3409 
  3409 
  3410 oop InstanceKlass::klass_holder_phantom() {
  3410 oop InstanceKlass::holder_phantom() const {
  3411   oop* addr;
  3411   return class_loader_data()->holder_phantom();
  3412   if (is_anonymous()) {
       
  3413     addr = _java_mirror.ptr_raw();
       
  3414   } else {
       
  3415     addr = &class_loader_data()->_class_loader;
       
  3416   }
       
  3417   return RootAccess<IN_CONCURRENT_ROOT | ON_PHANTOM_OOP_REF>::oop_load(addr);
       
  3418 }
  3412 }
  3419 
  3413 
  3420 #ifdef ASSERT
  3414 #ifdef ASSERT
  3421 void InstanceKlass::set_init_state(ClassState state) {
  3415 void InstanceKlass::set_init_state(ClassState state) {
  3422   bool good_state = is_shared() ? (_init_state <= state)
  3416   bool good_state = is_shared() ? (_init_state <= state)