24
25 #include "classfile/classLoaderData.hpp"
26 #include "classfile/javaClasses.hpp"
27 #include "oops/oop.inline.hpp"
28
29 inline ClassLoaderData* ClassLoaderData::class_loader_data_or_null(oop loader) {
30 if (loader == NULL) {
31 return ClassLoaderData::the_null_class_loader_data();
32 }
33 return java_lang_ClassLoader::loader_data(loader);
34 }
35
36 inline ClassLoaderData* ClassLoaderData::class_loader_data(oop loader) {
37 ClassLoaderData* loader_data = class_loader_data_or_null(loader);
38 assert(loader_data != NULL, "Must be");
39 return loader_data;
40 }
41
42
43 inline ClassLoaderData *ClassLoaderDataGraph::find_or_create(Handle loader, TRAPS) {
44 guarantee(loader() != NULL && loader()->is_oop(), "Loader must be oop");
45 // Gets the class loader data out of the java/lang/ClassLoader object, if non-null
46 // it's already in the loader_data, so no need to add
47 ClassLoaderData* loader_data= java_lang_ClassLoader::loader_data(loader());
48 if (loader_data) {
49 return loader_data;
50 }
51 return ClassLoaderDataGraph::add(loader, false, THREAD);
52 }
|
24
25 #include "classfile/classLoaderData.hpp"
26 #include "classfile/javaClasses.hpp"
27 #include "oops/oop.inline.hpp"
28
29 inline ClassLoaderData* ClassLoaderData::class_loader_data_or_null(oop loader) {
30 if (loader == NULL) {
31 return ClassLoaderData::the_null_class_loader_data();
32 }
33 return java_lang_ClassLoader::loader_data(loader);
34 }
35
36 inline ClassLoaderData* ClassLoaderData::class_loader_data(oop loader) {
37 ClassLoaderData* loader_data = class_loader_data_or_null(loader);
38 assert(loader_data != NULL, "Must be");
39 return loader_data;
40 }
41
42
43 inline ClassLoaderData *ClassLoaderDataGraph::find_or_create(Handle loader, TRAPS) {
44 guarantee(loader() != NULL && oopDesc::is_oop(loader()), "Loader must be oop");
45 // Gets the class loader data out of the java/lang/ClassLoader object, if non-null
46 // it's already in the loader_data, so no need to add
47 ClassLoaderData* loader_data= java_lang_ClassLoader::loader_data(loader());
48 if (loader_data) {
49 return loader_data;
50 }
51 return ClassLoaderDataGraph::add(loader, false, THREAD);
52 }
|