RFR: 8059632: Method reference compilation uses incorrect qualifying type

Maurizio Cimadamore mcimadamore at openjdk.org
Fri Oct 21 10:22:15 UTC 2022


On Fri, 21 Oct 2022 10:10:48 GMT, Maurizio Cimadamore <mcimadamore at openjdk.org> wrote:

>> Align with JLS 13.1 (the qualifying class or interface of the method invocation) by
>>     referring to the type of the receiver rather than the type of the declaring 
>>     class/interface in the bootstrap attribute
>
> src/jdk.compiler/share/classes/com/sun/tools/javac/code/Types.java line 3651:
> 
>> 3649:             // array clone can be qualified by the array type in later targets
>> 3650:             Symbol qualifier;
>> 3651:             if ((qualifier = qualifiedSymbolCache.get(site)) == null) {
> 
> I know this code has been moved here from Gen - I'd be very very curious to understand if the caching mechanism actually does anything meaningful performance-wise. Seems just a way to add more state.

Needs a CSR, given the potential change to the set of programs that might run correctly.

-------------

PR: https://git.openjdk.org/jdk/pull/10809


More information about the compiler-dev mailing list