equal
deleted
inserted
replaced
44 |
44 |
45 inline ClassLoaderData* ClassLoaderData::class_loader_data_or_null(oop loader) { |
45 inline ClassLoaderData* ClassLoaderData::class_loader_data_or_null(oop loader) { |
46 if (loader == NULL) { |
46 if (loader == NULL) { |
47 return ClassLoaderData::the_null_class_loader_data(); |
47 return ClassLoaderData::the_null_class_loader_data(); |
48 } |
48 } |
49 return java_lang_ClassLoader::loader_data(loader); |
49 return java_lang_ClassLoader::loader_data_acquire(loader); |
50 } |
50 } |
51 |
51 |
52 inline ClassLoaderData* ClassLoaderData::class_loader_data(oop loader) { |
52 inline ClassLoaderData* ClassLoaderData::class_loader_data(oop loader) { |
53 ClassLoaderData* loader_data = class_loader_data_or_null(loader); |
53 ClassLoaderData* loader_data = class_loader_data_or_null(loader); |
54 assert(loader_data != NULL, "Must be"); |
54 assert(loader_data != NULL, "Must be"); |
58 |
58 |
59 inline ClassLoaderData *ClassLoaderDataGraph::find_or_create(Handle loader) { |
59 inline ClassLoaderData *ClassLoaderDataGraph::find_or_create(Handle loader) { |
60 guarantee(loader() != NULL && oopDesc::is_oop(loader()), "Loader must be oop"); |
60 guarantee(loader() != NULL && oopDesc::is_oop(loader()), "Loader must be oop"); |
61 // Gets the class loader data out of the java/lang/ClassLoader object, if non-null |
61 // Gets the class loader data out of the java/lang/ClassLoader object, if non-null |
62 // it's already in the loader_data, so no need to add |
62 // it's already in the loader_data, so no need to add |
63 ClassLoaderData* loader_data= java_lang_ClassLoader::loader_data(loader()); |
63 ClassLoaderData* loader_data= java_lang_ClassLoader::loader_data_acquire(loader()); |
64 if (loader_data) { |
64 if (loader_data) { |
65 return loader_data; |
65 return loader_data; |
66 } |
66 } |
67 return ClassLoaderDataGraph::add(loader, false); |
67 return ClassLoaderDataGraph::add(loader, false); |
68 } |
68 } |