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