Mercurial > hg > graal-compiler
diff 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 |
line wrap: on
line diff
--- a/src/share/vm/classfile/loaderConstraints.cpp Thu Jan 27 16:11:27 2011 -0800 +++ b/src/share/vm/classfile/loaderConstraints.cpp Mon Jan 31 17:48:21 2011 -0800 @@ -322,8 +322,14 @@ klassOop LoaderConstraintTable::find_constrained_klass(Symbol* name, Handle loader) { LoaderConstraintEntry *p = *(find_loader_constraint(name, loader)); - if (p != NULL && p->klass() != NULL) + if (p != NULL && p->klass() != NULL) { + if (Klass::cast(p->klass())->oop_is_instance() && !instanceKlass::cast(p->klass())->is_loaded()) { + // Only return fully loaded classes. Classes found through the + // constraints might still be in the process of loading. + return NULL; + } return p->klass(); + } // No constraints, or else no klass loaded yet. return NULL;