hotspot/src/share/vm/classfile/systemDictionary.cpp
changeset 27677 b1997f2f1b56
parent 27247 99db666dbe8e
child 27680 8ecc0871c18e
equal deleted inserted replaced
27635:2cda6d613b7a 27677:b1997f2f1b56
   231   assert(!THREAD->is_Compiler_thread(),
   231   assert(!THREAD->is_Compiler_thread(),
   232          err_msg("can not load classes with compiler thread: class=%s, classloader=%s",
   232          err_msg("can not load classes with compiler thread: class=%s, classloader=%s",
   233                  class_name->as_C_string(),
   233                  class_name->as_C_string(),
   234                  class_loader.is_null() ? "null" : class_loader->klass()->name()->as_C_string()));
   234                  class_loader.is_null() ? "null" : class_loader->klass()->name()->as_C_string()));
   235   if (FieldType::is_array(class_name)) {
   235   if (FieldType::is_array(class_name)) {
   236     return resolve_array_class_or_null(class_name, class_loader, protection_domain, CHECK_NULL);
   236     return resolve_array_class_or_null(class_name, class_loader, protection_domain, THREAD);
   237   } else if (FieldType::is_obj(class_name)) {
   237   } else if (FieldType::is_obj(class_name)) {
   238     ResourceMark rm(THREAD);
   238     ResourceMark rm(THREAD);
   239     // Ignore wrapping L and ;.
   239     // Ignore wrapping L and ;.
   240     TempNewSymbol name = SymbolTable::new_symbol(class_name->as_C_string() + 1,
   240     TempNewSymbol name = SymbolTable::new_symbol(class_name->as_C_string() + 1,
   241                                    class_name->utf8_length() - 2, CHECK_NULL);
   241                                    class_name->utf8_length() - 2, CHECK_NULL);
   242     return resolve_instance_class_or_null(name, class_loader, protection_domain, CHECK_NULL);
   242     return resolve_instance_class_or_null(name, class_loader, protection_domain, THREAD);
   243   } else {
   243   } else {
   244     return resolve_instance_class_or_null(class_name, class_loader, protection_domain, CHECK_NULL);
   244     return resolve_instance_class_or_null(class_name, class_loader, protection_domain, THREAD);
   245   }
   245   }
   246 }
   246 }
   247 
   247 
   248 Klass* SystemDictionary::resolve_or_null(Symbol* class_name, TRAPS) {
   248 Klass* SystemDictionary::resolve_or_null(Symbol* class_name, TRAPS) {
   249   return resolve_or_null(class_name, Handle(), Handle(), THREAD);
   249   return resolve_or_null(class_name, Handle(), Handle(), THREAD);