RFR: 8374654: Inconsistent handling of lambda deserialization for Object method references on interfaces [v4]

Jan Lahoda jlahoda at openjdk.org
Thu Jan 22 16:37:00 UTC 2026


On Thu, 22 Jan 2026 11:42:48 GMT, Liam Miller-Cushon <cushon at openjdk.org> wrote:

>> See [JDK-8374654](https://bugs.openjdk.org/browse/JDK-8374654). This fixes an inconsistency between generated Lambda `$deserialization$` methods and the runtime behaviour of `SerializedLambda` instances, for Object method references on interfaces. At runtime the methods are resolved to declared methods, so Object method references on interfaces will always have the `getImplMethodKind`, `getImplClass`, and `getImplMethodSignature` of the method declared in `Object`, not of an override in the interface.
>
> Liam Miller-Cushon has updated the pull request incrementally with one additional commit since the last revision:
> 
>   Test cleanup

As I noted here: https://github.com/openjdk/jdk/pull/28943#issuecomment-3785329343 I don't think I am quite fine with the order of the patches (as knowingly introducing regressions and then fixing them in subsequent PR should be avoided if possible). But if the order is reversed, or the patches are merged/combined, I think we can try to merge the changes. Better now/soon, so that it can be tested more broadly before the next release.

@dansmithcode - please lets us know if you have a different opinion.

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

PR Comment: https://git.openjdk.org/jdk/pull/29075#issuecomment-3785373132


More information about the compiler-dev mailing list