RFR: 8261532: Archived superinterface class cannot be accessed
Calvin Cheung
ccheung at openjdk.java.net
Thu Mar 4 19:57:39 UTC 2021
On Thu, 4 Mar 2021 18:10:47 GMT, Yumin Qi <minqi at openjdk.org> wrote:
>> Problem: If an interface is in the CDS archive but not the class which implements the interface. During runtime, IllegalAccessError will result when the class is being loaded.
>>
>> Fix:
>> In `InstanceKlass::set_packge()` when checking if we can use a saved copy of the` _package_entry`, add a NULL check for `_package_entry` before returning. In `SystemDictionaryShared::prepare_shared_lambda_proxy_class()`, we can obtain the `_package_entry` directly from the `caller_ik` instead of calling `get_package_entry_from_class()`.
>>
>> Testing: passed mach5 tiers 1 - 4 tests.
>
> LGTM.
@yminqi @iklam Thanks for your review!
-------------
PR: https://git.openjdk.java.net/jdk/pull/2820
More information about the hotspot-runtime-dev
mailing list