mirror of
https://github.com/openjdk/jdk.git
synced 2025-08-28 07:14:30 +02:00
8186842: Use Java class loaders for creating the CDS archive
Co-authored-by: Ioi Lam <ioi.lam@oracle.com> Reviewed-by: coleenp, jiangli, iklam, mseledtsov
This commit is contained in:
parent
de3cc93ca6
commit
cf223c0791
33 changed files with 662 additions and 130 deletions
|
@ -187,12 +187,29 @@ void ArrayKlass::metaspace_pointers_do(MetaspaceClosure* it) {
|
|||
|
||||
void ArrayKlass::remove_unshareable_info() {
|
||||
Klass::remove_unshareable_info();
|
||||
if (_higher_dimension != NULL) {
|
||||
ArrayKlass *ak = ArrayKlass::cast(higher_dimension());
|
||||
ak->remove_unshareable_info();
|
||||
}
|
||||
}
|
||||
|
||||
void ArrayKlass::remove_java_mirror() {
|
||||
Klass::remove_java_mirror();
|
||||
if (_higher_dimension != NULL) {
|
||||
ArrayKlass *ak = ArrayKlass::cast(higher_dimension());
|
||||
ak->remove_java_mirror();
|
||||
}
|
||||
}
|
||||
|
||||
void ArrayKlass::restore_unshareable_info(ClassLoaderData* loader_data, Handle protection_domain, TRAPS) {
|
||||
assert(loader_data == ClassLoaderData::the_null_class_loader_data(), "array classes belong to null loader");
|
||||
Klass::restore_unshareable_info(loader_data, protection_domain, CHECK);
|
||||
// Klass recreates the component mirror also
|
||||
|
||||
if (_higher_dimension != NULL) {
|
||||
ArrayKlass *ak = ArrayKlass::cast(higher_dimension());
|
||||
ak->restore_unshareable_info(loader_data, protection_domain, CHECK);
|
||||
}
|
||||
}
|
||||
|
||||
// Printing
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue