RFR: 6983726: Reimplement MethodHandleProxies.asInterfaceInstance [v24]
Mandy Chung
mchung at openjdk.org
Tue Jul 11 18:03:37 UTC 2023
On Tue, 11 Jul 2023 17:38:42 GMT, Mandy Chung <mchung at openjdk.org> wrote:
>> Chen Liang has updated the pull request incrementally with one additional commit since the last revision:
>>
>> Fix the lazy test, thanks Jorn Vernee!
>
> test/jdk/java/lang/invoke/MethodHandleProxies/ProxiesImplementationTest.java line 206:
>
>> 204:
>> 205: System.gc();
>> 206: assertTrue(cl.refersTo(null), "MHP impl class should be cleared by gc"); // broken
>
> Use `jdk.test.lib.util.ForceGC` to make the check more reliable. Add `@library /test/lib` to use the test library.
>
> Suggestion:
>
> if (ForceGC.wait(() -> wr.refersTo(null))) {
> assertTrue(wr.refersTo(null), "MHP impl class should be cleared by gc");
> }
Can test new hidden class is spinned after `ForceGC`:
c1 = asInterfaceInstance(ifaceClass, mh);
c2 = asInterfaceInstance(ifaceClass, mh);
assertTrue(c1.getClass() == c2.getClass(), "MHP should reuse implementation class when available");
Reference.reachabilityFence(c1);
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/13197#discussion_r1260071394
More information about the core-libs-dev
mailing list