--- old/src/share/vm/classfile/systemDictionary.cpp 2017-09-15 01:42:00.809206444 -0400 +++ new/src/share/vm/classfile/systemDictionary.cpp 2017-09-15 01:41:58.905098179 -0400 @@ -236,10 +236,6 @@ // Forwards to resolve_instance_class_or_null Klass* SystemDictionary::resolve_or_null(Symbol* class_name, Handle class_loader, Handle protection_domain, TRAPS) { - assert(THREAD->can_call_java(), - "can not load classes with compiler thread: class=%s, classloader=%s", - class_name->as_C_string(), - class_loader.is_null() ? "null" : class_loader->klass()->name()->as_C_string()); if (FieldType::is_array(class_name)) { return resolve_array_class_or_null(class_name, class_loader, protection_domain, THREAD); } else if (FieldType::is_obj(class_name)) { @@ -708,6 +704,10 @@ PlaceholderEntry* placeholder; Symbol* superclassname = NULL; + assert(THREAD->can_call_java(), + "can not load classes with compiler thread: class=%s, classloader=%s", + name->as_C_string(), + class_loader.is_null() ? "null" : class_loader->klass()->name()->as_C_string()); { MutexLocker mu(SystemDictionary_lock, THREAD); InstanceKlass* check = find_class(d_index, d_hash, name, loader_data);