RFR: 8339640: Reduce construction overheads in StringConcatFactory$InlineHiddenClassStrategy
Chen Liang
liach at openjdk.org
Fri Sep 6 11:59:50 UTC 2024
On Fri, 6 Sep 2024 07:39:45 GMT, Claes Redestad <redestad at openjdk.org> wrote:
> Using the trusted `invokeBasic` method streamlines invokers and avoids spinning up of some type conversion handles. This reduces classes generated in a few scalability stress tests.
src/java.base/share/classes/java/lang/invoke/StringConcatFactory.java line 1257:
> 1255: if (handlePair != null) {
> 1256: try {
> 1257: var instance = handlePair.constructor.invokeBasic(constants);
Hmm, `invokeBasic` notes ask to call with plain `Object` but `constants` is a `Object[]`... Don't know how that really worked out. Should we explicitly cast to `Object` as javac treats this as a sigpoly method (using the invocation type)?
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/20884#discussion_r1747000956
More information about the core-libs-dev
mailing list