Mercurial > hg > graal-jvmci-8
comparison src/share/vm/classfile/classLoaderData.inline.hpp @ 8667:1f9994892f89
8008549: NPG: SystemDictionary::find(...) unnecessarily keeps class loaders alive
Summary: SystemDictionary::find(...) should not create and register ClassLoaderData objects for class loaders.
Reviewed-by: coleenp, acorn
Contributed-by: Stefan Karlsson <stefan.karlsson@oracle.com>, Erik Helin <erik.helin@oracle.com>
author | stefank |
---|---|
date | Thu, 21 Feb 2013 17:22:15 +0100 |
parents | 90273fc0a981 |
children | 1cb4795305b9 |
comparison
equal
deleted
inserted
replaced
8106:ec2eddfed950 | 8667:1f9994892f89 |
---|---|
23 */ | 23 */ |
24 | 24 |
25 #include "classfile/classLoaderData.hpp" | 25 #include "classfile/classLoaderData.hpp" |
26 #include "classfile/javaClasses.hpp" | 26 #include "classfile/javaClasses.hpp" |
27 | 27 |
28 inline ClassLoaderData* ClassLoaderData::class_loader_data_or_null(oop loader) { | |
29 if (loader == NULL) { | |
30 return ClassLoaderData::the_null_class_loader_data(); | |
31 } | |
32 return java_lang_ClassLoader::loader_data(loader); | |
33 } | |
34 | |
28 inline ClassLoaderData* ClassLoaderData::class_loader_data(oop loader) { | 35 inline ClassLoaderData* ClassLoaderData::class_loader_data(oop loader) { |
29 if (loader == NULL) return ClassLoaderData::the_null_class_loader_data(); | 36 ClassLoaderData* loader_data = class_loader_data_or_null(loader); |
30 ClassLoaderData* loader_data = java_lang_ClassLoader::loader_data(loader); | |
31 assert(loader_data != NULL, "Must be"); | 37 assert(loader_data != NULL, "Must be"); |
32 return loader_data; | 38 return loader_data; |
33 } | 39 } |
34 | 40 |
35 | 41 |