equal
deleted
inserted
replaced
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) |