On Mon, 11 Oct 2021 20:55:23 GMT, Mandy Chung <mch...@openjdk.org> wrote:
> Classes compiled prior to the nestmate support will generate > `REF_invokeSpecial` if the implementation method is a private instance > method. Since a lambda proxy class is a hidden class, a nestmate of the > host class, it can invoke the private implementation method but it has to use > `REF_invokeVirtual` or `REF_invokeInterface`. In order to support the old > classes running on the new runtime, LMF implementation adjusts the reference > kind from `REF_invokeSpecial` to `REF_invokeVirtual/REF_invokeInterface`. > > This PR fixes the check properly to ensure the adjustment is only made if the > implementation method is private method in the host class. This pull request has now been integrated. Changeset: 21da2183 Author: Mandy Chung <mch...@openjdk.org> URL: https://git.openjdk.java.net/jdk/commit/21da2183875feca3dbf4f1bd875b268a7fc8d560 Stats: 136 lines in 2 files changed: 135 ins; 0 del; 1 mod 8274848: LambdaMetaFactory::metafactory on REF_invokeSpecial impl method has incorrect behavior Reviewed-by: psandoz, dlsmith ------------- PR: https://git.openjdk.java.net/jdk/pull/5901