On Mon, 13 Feb 2023 22:05:15 GMT, Mandy Chung <mch...@openjdk.org> wrote:

> `LambdaForm` declares int constants for `BasicType::ordinal` to workaround 
> JDK-8161245.   Now these int constants are no longer needed.    This removes 
> these int constants and reference `BasicType` enums directly.

src/java.base/share/classes/java/lang/invoke/BoundMethodHandle.java line 368:

> 366:             SpeciesData sd = extensions[typeNum];
> 367:             if (sd != null)  return sd;
> 368:             sd = SPECIALIZER.findSpecies(key() + 
> basicType.basicTypeChar());

As soon as this is `java.base` I suggest to replace `key() + 
basicType.basicTypeChar()` with 
`key().concat(String.valueOf(basicType.basicTypeChar()))` to prevent 
`StringBuilder` allocation and `append()` chaining.

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

PR: https://git.openjdk.org/jdk/pull/12546

Reply via email to