src/hotspot/share/oops/instanceKlass.cpp
changeset 58447 319173c62caa
parent 58409 a595e67d6683
child 58668 eda750f21308
equal deleted inserted replaced
58446:5c83830390ba 58447:319173c62caa
   451 
   451 
   452   assert(NULL == _methods, "underlying memory not zeroed?");
   452   assert(NULL == _methods, "underlying memory not zeroed?");
   453   assert(is_instance_klass(), "is layout incorrect?");
   453   assert(is_instance_klass(), "is layout incorrect?");
   454   assert(size_helper() == parser.layout_size(), "incorrect size_helper?");
   454   assert(size_helper() == parser.layout_size(), "incorrect size_helper?");
   455 
   455 
   456   if (DumpSharedSpaces || DynamicDumpSharedSpaces) {
   456   if (Arguments::is_dumping_archive()) {
   457     SystemDictionaryShared::init_dumptime_info(this);
   457     SystemDictionaryShared::init_dumptime_info(this);
   458   }
   458   }
   459 }
   459 }
   460 
   460 
   461 void InstanceKlass::deallocate_methods(ClassLoaderData* loader_data,
   461 void InstanceKlass::deallocate_methods(ClassLoaderData* loader_data,
   601   if (annotations() != NULL && !annotations()->is_shared()) {
   601   if (annotations() != NULL && !annotations()->is_shared()) {
   602     MetadataFactory::free_metadata(loader_data, annotations());
   602     MetadataFactory::free_metadata(loader_data, annotations());
   603   }
   603   }
   604   set_annotations(NULL);
   604   set_annotations(NULL);
   605 
   605 
   606   if (DumpSharedSpaces || DynamicDumpSharedSpaces) {
   606   if (Arguments::is_dumping_archive()) {
   607     SystemDictionaryShared::remove_dumptime_info(this);
   607     SystemDictionaryShared::remove_dumptime_info(this);
   608   }
   608   }
   609 }
   609 }
   610 
   610 
   611 bool InstanceKlass::should_be_initialized() const {
   611 bool InstanceKlass::should_be_initialized() const {
  2227   // We store the fingerprint into the InstanceKlass only in the following 2 cases:
  2227   // We store the fingerprint into the InstanceKlass only in the following 2 cases:
  2228   if (CalculateClassFingerprint) {
  2228   if (CalculateClassFingerprint) {
  2229     // (1) We are running AOT to generate a shared library.
  2229     // (1) We are running AOT to generate a shared library.
  2230     return true;
  2230     return true;
  2231   }
  2231   }
  2232   if (DumpSharedSpaces || DynamicDumpSharedSpaces) {
  2232   if (Arguments::is_dumping_archive()) {
  2233     // (2) We are running -Xshare:dump or -XX:ArchiveClassesAtExit to create a shared archive
  2233     // (2) We are running -Xshare:dump or -XX:ArchiveClassesAtExit to create a shared archive
  2234     return true;
  2234     return true;
  2235   }
  2235   }
  2236   if (UseAOT && is_unsafe_anonymous) {
  2236   if (UseAOT && is_unsafe_anonymous) {
  2237     // (3) We are using AOT code from a shared library and see an unsafe anonymous class
  2237     // (3) We are using AOT code from a shared library and see an unsafe anonymous class
  2475   }
  2475   }
  2476 
  2476 
  2477   // notify ClassLoadingService of class unload
  2477   // notify ClassLoadingService of class unload
  2478   ClassLoadingService::notify_class_unloaded(ik);
  2478   ClassLoadingService::notify_class_unloaded(ik);
  2479 
  2479 
  2480   if (DumpSharedSpaces || DynamicDumpSharedSpaces) {
  2480   if (Arguments::is_dumping_archive()) {
  2481     SystemDictionaryShared::remove_dumptime_info(ik);
  2481     SystemDictionaryShared::remove_dumptime_info(ik);
  2482   }
  2482   }
  2483 
  2483 
  2484   if (log_is_enabled(Info, class, unload)) {
  2484   if (log_is_enabled(Info, class, unload)) {
  2485     ResourceMark rm;
  2485     ResourceMark rm;