Mercurial > hg > graal-compiler
diff src/share/vm/classfile/classLoaderData.inline.hpp @ 10181:1cb4795305b9
8011802: NPG: init_dependencies in class loader data graph can cause invalid CLD
Summary: Restructure initialization of ClassLoaderData to not add a new instance if init_dependencies fail
Reviewed-by: stefank, coleenp
author | mgerdin |
---|---|
date | Tue, 23 Apr 2013 08:39:55 +0200 |
parents | 1f9994892f89 |
children | de6a9e811145 |
line wrap: on
line diff
--- a/src/share/vm/classfile/classLoaderData.inline.hpp Mon Apr 22 22:00:03 2013 -0700 +++ b/src/share/vm/classfile/classLoaderData.inline.hpp Tue Apr 23 08:39:55 2013 +0200 @@ -43,10 +43,9 @@ assert(loader() != NULL,"Must be a class loader"); // Gets the class loader data out of the java/lang/ClassLoader object, if non-null // it's already in the loader_data, so no need to add - ClassLoaderData** loader_data_addr = java_lang_ClassLoader::loader_data_addr(loader()); - ClassLoaderData* loader_data_id = *loader_data_addr; - if (loader_data_id) { - return loader_data_id; + ClassLoaderData* loader_data= java_lang_ClassLoader::loader_data(loader()); + if (loader_data) { + return loader_data; } - return ClassLoaderDataGraph::add(loader_data_addr, loader, THREAD); + return ClassLoaderDataGraph::add(loader, false, THREAD); }