equal
deleted
inserted
replaced
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 |