src/hotspot/share/classfile/javaClasses.cpp
changeset 51097 bef02342d179
parent 50951 b96466cdfc45
child 51334 cc2c79d22508
equal deleted inserted replaced
51096:695dff91a997 51097:bef02342d179
  4125 }
  4125 }
  4126 
  4126 
  4127 oop java_lang_ClassLoader::unnamedModule(oop loader) {
  4127 oop java_lang_ClassLoader::unnamedModule(oop loader) {
  4128   assert(is_instance(loader), "loader must be oop");
  4128   assert(is_instance(loader), "loader must be oop");
  4129   return loader->obj_field(unnamedModule_offset);
  4129   return loader->obj_field(unnamedModule_offset);
  4130 }
       
  4131 
       
  4132 // Caller needs ResourceMark.
       
  4133 const char* java_lang_ClassLoader::describe_external(const oop loader) {
       
  4134   ClassLoaderData *cld = ClassLoaderData::class_loader_data(loader);
       
  4135   const char* name = cld->loader_name_and_id();
       
  4136 
       
  4137   // bootstrap loader
       
  4138   if (loader == NULL) {
       
  4139     return name;
       
  4140   }
       
  4141 
       
  4142   bool well_known_loader = SystemDictionary::is_system_class_loader(loader) ||
       
  4143                            SystemDictionary::is_platform_class_loader(loader);
       
  4144 
       
  4145   stringStream ss;
       
  4146   ss.print("%s (instance of %s", name, loader->klass()->external_name());
       
  4147   if (!well_known_loader) {
       
  4148     oop pl = java_lang_ClassLoader::parent(loader);
       
  4149     ClassLoaderData *pl_cld = ClassLoaderData::class_loader_data(pl);
       
  4150     const char* parentName = pl_cld->loader_name_and_id();
       
  4151     if (pl != NULL) {
       
  4152       ss.print(", child of %s %s", parentName, pl->klass()->external_name());
       
  4153     } else {
       
  4154       // bootstrap loader
       
  4155       ss.print(", child of %s", parentName);
       
  4156     }
       
  4157   }
       
  4158   ss.print(")");
       
  4159 
       
  4160   return ss.as_string();
       
  4161 }
  4130 }
  4162 
  4131 
  4163 // Support for java_lang_System
  4132 // Support for java_lang_System
  4164 //
  4133 //
  4165 #define SYSTEM_FIELDS_DO(macro) \
  4134 #define SYSTEM_FIELDS_DO(macro) \