hotspot/src/share/vm/oops/constantPool.cpp
changeset 37078 dc9ee85e80d3
parent 35498 392b50de06c6
child 37248 11a660dbbb8e
equal deleted inserted replaced
37063:c9d5a3727011 37078:dc9ee85e80d3
   206     }
   206     }
   207   }
   207   }
   208   if (k() != this_cp->pool_holder()) {
   208   if (k() != this_cp->pool_holder()) {
   209     // only print something if the classes are different
   209     // only print something if the classes are different
   210     if (source_file != NULL) {
   210     if (source_file != NULL) {
   211       log_info(classresolve)("%s %s %s:%d",
   211       log_debug(classresolve)("%s %s %s:%d",
   212                  this_cp->pool_holder()->external_name(),
   212                  this_cp->pool_holder()->external_name(),
   213                  k->external_name(), source_file, line_number);
   213                  k->external_name(), source_file, line_number);
   214     } else {
   214     } else {
   215       log_info(classresolve)("%s %s",
   215       log_debug(classresolve)("%s %s",
   216                  this_cp->pool_holder()->external_name(),
   216                  this_cp->pool_holder()->external_name(),
   217                  k->external_name());
   217                  k->external_name());
   218     }
   218     }
   219   }
   219   }
   220 }
   220 }
   279 
   279 
   280   // Make this class loader depend upon the class loader owning the class reference
   280   // Make this class loader depend upon the class loader owning the class reference
   281   ClassLoaderData* this_key = this_cp->pool_holder()->class_loader_data();
   281   ClassLoaderData* this_key = this_cp->pool_holder()->class_loader_data();
   282   this_key->record_dependency(k(), CHECK_NULL); // Can throw OOM
   282   this_key->record_dependency(k(), CHECK_NULL); // Can throw OOM
   283 
   283 
   284   if (log_is_enabled(Info, classresolve) && !k->is_array_klass()) {
   284   // logging for classresolve tag.
   285     // skip resolving the constant pool so that this code gets
   285   trace_class_resolution(this_cp, k);
   286     // called the next time some bytecodes refer to this class.
   286 
   287     trace_class_resolution(this_cp, k);
   287   this_cp->klass_at_put(which, k());
   288     return k();
       
   289   } else {
       
   290     this_cp->klass_at_put(which, k());
       
   291   }
       
   292 
       
   293   entry = this_cp->resolved_klass_at(which);
   288   entry = this_cp->resolved_klass_at(which);
   294   assert(entry.is_resolved() && entry.get_klass()->is_klass(), "must be resolved at this point");
   289   assert(entry.is_resolved() && entry.get_klass()->is_klass(), "must be resolved at this point");
   295   return entry.get_klass();
   290   return entry.get_klass();
   296 }
   291 }
   297 
   292