RFR: 8294960: Convert java.base/java.lang.invoke package to use the Classfile API to generate lambdas and method handles [v21]
Claes Redestad
redestad at openjdk.org
Tue Jun 18 13:47:20 UTC 2024
On Tue, 18 Jun 2024 13:22:45 GMT, Adam Sotona <asotona at openjdk.org> wrote:
>> java.base java.lang.invoke package heavily uses ASM to generate lambdas and method handles.
>>
>> This patch converts ASM calls to Classfile API.
>>
>> This PR is continuation of https://github.com/openjdk/jdk/pull/12945
>>
>> Any comments and suggestions are welcome.
>>
>> Please review.
>>
>> Thank you,
>> Adam
>
> Adam Sotona has updated the pull request incrementally with four additional commits since the last revision:
>
> - Merge pull request #8 from cl4es/serialization_hostile
>
> SerializationHostileMethod
> - Reduce gratuitous code movement
> - Inline Consumer<MethodBuilder> into generateSer.. method, move seldom-used serialization support constants to new holder
> - SerializationHostileMethod
I've done a final pass over this. Code changes overall look good - great even - and the only caveat is that there's going to be some added startup overhead in some apps from integrating this. A minimal app with a lambda expression might see a 2-3ms hit, for example.
While there are ideas on how to trim down such overheads further I think this is a good time to draw a line in the sand and get this change integrated and exposed to a larger set of testing.
-------------
Marked as reviewed by redestad (Reviewer).
PR Review: https://git.openjdk.org/jdk/pull/17108#pullrequestreview-2125569570
More information about the core-libs-dev
mailing list