mirror of
https://github.com/openjdk/jdk.git
synced 2025-08-28 07:14:30 +02:00
8218751: Do not store original classfiles inside the CDS archive
Remove the OD shared region and decode classfiles on the fly Reviewed-by: jiangli, ccheung, sspitsyn, redestad
This commit is contained in:
parent
b7ed42eedd
commit
d06f3e7e28
16 changed files with 128 additions and 131 deletions
|
@ -1174,7 +1174,7 @@ InstanceKlass* SystemDictionary::load_shared_boot_class(Symbol* class_name,
|
|||
TRAPS) {
|
||||
InstanceKlass* ik = SystemDictionaryShared::find_builtin_class(class_name);
|
||||
if (ik != NULL && ik->is_shared_boot_class()) {
|
||||
return load_shared_class(ik, Handle(), Handle(), THREAD);
|
||||
return load_shared_class(ik, Handle(), Handle(), NULL, THREAD);
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
@ -1274,7 +1274,9 @@ bool SystemDictionary::is_shared_class_visible(Symbol* class_name,
|
|||
|
||||
InstanceKlass* SystemDictionary::load_shared_class(InstanceKlass* ik,
|
||||
Handle class_loader,
|
||||
Handle protection_domain, TRAPS) {
|
||||
Handle protection_domain,
|
||||
const ClassFileStream *cfs,
|
||||
TRAPS) {
|
||||
|
||||
if (ik != NULL) {
|
||||
Symbol* class_name = ik->name();
|
||||
|
@ -1321,7 +1323,7 @@ InstanceKlass* SystemDictionary::load_shared_class(InstanceKlass* ik,
|
|||
}
|
||||
|
||||
InstanceKlass* new_ik = KlassFactory::check_shared_class_file_load_hook(
|
||||
ik, class_name, class_loader, protection_domain, CHECK_NULL);
|
||||
ik, class_name, class_loader, protection_domain, cfs, CHECK_NULL);
|
||||
if (new_ik != NULL) {
|
||||
// The class is changed by CFLH. Return the new class. The shared class is
|
||||
// not used.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue