< prev index next >
src/hotspot/share/classfile/moduleEntry.cpp
Print this page
rev 58565 : 8238358: Implementation of JEP 371: Hidden Classes
Reviewed-by: duke
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
@@ -1,7 +1,7 @@
/*
- * Copyright (c) 2016, 2019, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2020, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
@@ -73,10 +73,11 @@
if (location() != NULL) {
ResourceMark rm;
const char* loc = location()->as_C_string();
ClassLoaderData* cld = loader_data();
+ assert(!cld->has_class_mirror_holder(), "module's cld should have a ClassLoader holder not a Class holder");
if ((cld->is_the_null_class_loader_data() || cld->is_platform_class_loader_data()) &&
(strncmp(loc, "jrt:/java.", 10) == 0)) {
return false;
}
if ((ModuleEntryTable::javabase_moduleEntry()->version()->fast_compare(version()) == 0) &&
@@ -133,10 +134,11 @@
// with an upcall to jdk.internal.module.Modules.transformedByAgent.
// At the same time, another thread can instrument the module classes by
// injecting dependencies that require the default read edges for resolution.
if (this->has_default_read_edges() && !m->is_named()) {
ClassLoaderData* cld = m->loader_data();
+ assert(!cld->has_class_mirror_holder(), "module's cld should have a ClassLoader holder not a Class holder");
if (cld->is_the_null_class_loader_data() || cld->is_system_class_loader_data()) {
return true; // default read edge
}
}
if (!has_reads_list()) {
< prev index next >