< prev index next >
src/hotspot/share/classfile/classLoader.cpp
Print this page
rev 58760 : 8238358: Implementation of JEP 371: Hidden Classes
Reviewed-by: alanb, cjplummer, coleenp, dholmes, dlong, forax, jlahoda, psandoz, plevart, vromero
Contributed-by: mandy.chung@oracle.com, lois.foltan@oracle.com, david.holmes@oracle.com, harold.seigel@oracle.com, serguei.spitsyn@oracle.com, alex.buckley@oracle.com, jamsheed.c.m@oracle.com, jan.lahoda@oracle.com, amy.lu@oracle.com
*** 1281,1297 ****
stream->set_verify(ClassLoaderExt::should_verify(classpath_index));
ClassLoaderData* loader_data = ClassLoaderData::the_null_class_loader_data();
Handle protection_domain;
InstanceKlass* result = KlassFactory::create_from_stream(stream,
name,
loader_data,
! protection_domain,
! NULL, // unsafe_anonymous_host
! NULL, // cp_patches
THREAD);
if (HAS_PENDING_EXCEPTION) {
if (DumpSharedSpaces) {
log_error(cds)("Preload Error: Failed to load %s", class_name);
}
--- 1281,1296 ----
stream->set_verify(ClassLoaderExt::should_verify(classpath_index));
ClassLoaderData* loader_data = ClassLoaderData::the_null_class_loader_data();
Handle protection_domain;
+ ClassLoadInfo cl_info(protection_domain);
InstanceKlass* result = KlassFactory::create_from_stream(stream,
name,
loader_data,
! cl_info,
THREAD);
if (HAS_PENDING_EXCEPTION) {
if (DumpSharedSpaces) {
log_error(cds)("Preload Error: Failed to load %s", class_name);
}
*** 1329,1340 ****
// by the builtin loaders at dump time.
void ClassLoader::record_result(InstanceKlass* ik, const ClassFileStream* stream, TRAPS) {
Arguments::assert_is_dumping_archive();
assert(stream != NULL, "sanity");
! if (ik->is_unsafe_anonymous()) {
! // We do not archive unsafe anonymous classes.
return;
}
oop loader = ik->class_loader();
char* src = (char*)stream->source();
--- 1328,1339 ----
// by the builtin loaders at dump time.
void ClassLoader::record_result(InstanceKlass* ik, const ClassFileStream* stream, TRAPS) {
Arguments::assert_is_dumping_archive();
assert(stream != NULL, "sanity");
! if (ik->is_hidden() || ik->is_unsafe_anonymous()) {
! // We do not archive hidden or unsafe anonymous classes.
return;
}
oop loader = ik->class_loader();
char* src = (char*)stream->source();
< prev index next >