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