comparison src/share/vm/classfile/loaderConstraints.cpp @ 2244:4f26f535a225

6354181: nsk.logging.stress.threads.scmhml001 fails assertion in "src/share/vm/oops/instanceKlass.cpp, 111" Reviewed-by: jrose, acorn
author never
date Mon, 31 Jan 2011 17:48:21 -0800
parents 3582bf76420e
children 1d1603768966
comparison
equal deleted inserted replaced
2177:3582bf76420e 2244:4f26f535a225
320 } 320 }
321 321
322 klassOop LoaderConstraintTable::find_constrained_klass(Symbol* name, 322 klassOop LoaderConstraintTable::find_constrained_klass(Symbol* name,
323 Handle loader) { 323 Handle loader) {
324 LoaderConstraintEntry *p = *(find_loader_constraint(name, loader)); 324 LoaderConstraintEntry *p = *(find_loader_constraint(name, loader));
325 if (p != NULL && p->klass() != NULL) 325 if (p != NULL && p->klass() != NULL) {
326 if (Klass::cast(p->klass())->oop_is_instance() && !instanceKlass::cast(p->klass())->is_loaded()) {
327 // Only return fully loaded classes. Classes found through the
328 // constraints might still be in the process of loading.
329 return NULL;
330 }
326 return p->klass(); 331 return p->klass();
332 }
327 333
328 // No constraints, or else no klass loaded yet. 334 // No constraints, or else no klass loaded yet.
329 return NULL; 335 return NULL;
330 } 336 }
331 337