RFR: 8293336: AOT-linking of invokedynamic for lambda expression and string concat [v2]
Ioi Lam
iklam at openjdk.org
Wed Oct 9 05:55:59 UTC 2024
On Wed, 9 Oct 2024 03:49:49 GMT, ExE Boss <duke at openjdk.org> wrote:
>> We haven't done much testing with the other SCF BSMs, so I think it's better to do that in a follow-up REF.
>
> [`StringConcatFactory::makeConcat(…)`] is definitely deterministic, as it simply delegates to [`StringConcatFactory::makeConcatWithConstants(…)`] with the recipe being based on the number of [`MethodType`] parameters:
> https://github.com/openjdk/jdk/blob/de90204b60c408ef258a2d2515ad252de4b23536/src/java.base/share/classes/java/lang/invoke/StringConcatFactory.java#L231-L240
>
> And there is no other bootstrap method in [`StringConcatFactory`] at the moment.
>
> [`MethodType`]: https://docs.oracle.com/en/java/javase/23/docs/api/java.base/java/lang/invoke/MethodType.html
> [`StringConcatFactory`]: https://docs.oracle.com/en/java/javase/23/docs/api/java.base/java/lang/invoke/StringConcatFactory.html
> [`StringConcatFactory::makeConcat(…)`]: https://docs.oracle.com/en/java/javase/23/docs/api/java.base/java/lang/invoke/StringConcatFactory.html#makeConcat(java.lang.invoke.MethodHandles.Lookup,java.lang.String,java.lang.invoke.MethodType)
> [`StringConcatFactory::makeConcatWithConstants(…)`]: https://docs.oracle.com/en/java/javase/23/docs/api/java.base/java/lang/invoke/StringConcatFactory.html#makeConcatWithConstants(java.lang.invoke.MethodHandles.Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object...)
Since the comment says "This bootstrap method is unlikely to be used in practice", I am not sure if we can sufficiently test it (with aot-linking).
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/21143#discussion_r1792884101
More information about the hotspot-dev
mailing list