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

Reply via email to