mirror of
https://github.com/openjdk/jdk.git
synced 2025-08-28 15:24:43 +02:00
8006537: Assert when dumping archive with default methods
Reviewed-by: coleenp
This commit is contained in:
parent
6799149f7d
commit
59f0209008
2 changed files with 7 additions and 1 deletions
|
@ -318,6 +318,7 @@ ClassLoaderData::~ClassLoaderData() {
|
||||||
}
|
}
|
||||||
|
|
||||||
Metaspace* ClassLoaderData::metaspace_non_null() {
|
Metaspace* ClassLoaderData::metaspace_non_null() {
|
||||||
|
assert(!DumpSharedSpaces, "wrong metaspace!");
|
||||||
// If the metaspace has not been allocated, create a new one. Might want
|
// If the metaspace has not been allocated, create a new one. Might want
|
||||||
// to create smaller arena for Reflection class loaders also.
|
// to create smaller arena for Reflection class loaders also.
|
||||||
// The reason for the delayed allocation is because some class loaders are
|
// The reason for the delayed allocation is because some class loaders are
|
||||||
|
|
|
@ -66,7 +66,11 @@ class MetadataFactory : AllStatic {
|
||||||
if (data != NULL) {
|
if (data != NULL) {
|
||||||
assert(loader_data != NULL, "shouldn't pass null");
|
assert(loader_data != NULL, "shouldn't pass null");
|
||||||
int size = data->size();
|
int size = data->size();
|
||||||
loader_data->metaspace_non_null()->deallocate((MetaWord*)data, size, false);
|
if (DumpSharedSpaces) {
|
||||||
|
loader_data->ro_metaspace()->deallocate((MetaWord*)data, size, false);
|
||||||
|
} else {
|
||||||
|
loader_data->metaspace_non_null()->deallocate((MetaWord*)data, size, false);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -77,6 +81,7 @@ class MetadataFactory : AllStatic {
|
||||||
assert(loader_data != NULL, "shouldn't pass null");
|
assert(loader_data != NULL, "shouldn't pass null");
|
||||||
int size = md->size();
|
int size = md->size();
|
||||||
// Call metadata's deallocate function which will call deallocate fields
|
// Call metadata's deallocate function which will call deallocate fields
|
||||||
|
assert(!DumpSharedSpaces, "cannot deallocate metadata when dumping CDS archive");
|
||||||
assert(!md->on_stack(), "can't deallocate things on stack");
|
assert(!md->on_stack(), "can't deallocate things on stack");
|
||||||
md->deallocate_contents(loader_data);
|
md->deallocate_contents(loader_data);
|
||||||
loader_data->metaspace_non_null()->deallocate((MetaWord*)md, size, md->is_klass());
|
loader_data->metaspace_non_null()->deallocate((MetaWord*)md, size, md->is_klass());
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue