RFR: 8338543: ClassBuilder withMethod builders should cache the method type symbol
Chen Liang
liach at openjdk.org
Mon Aug 19 15:32:51 UTC 2024
On Mon, 19 Aug 2024 15:08:05 GMT, Chen Liang <liach at openjdk.org> wrote:
> In #20611 and other investigations, we noted that `MethodTypeDesc.ofDescriptor` is unnecessarily called due to missing caching in ClassBuilder. This patch adds that missing caching functionality.
I tested by adding a `System.out.println` to `MethodTypeDesc.ofDescriptor` and it printed nothing locally when running this little program including string concat and lambda with `java Ape` (Note that `java Ape.java` will print gibberish once`, didn't diagnose that one yet):
public interface Ape {
static void main(String... args) {
Runnable a = () -> {
System.out.println("asd[" + args[0] + "foo" + args[1]);
};
a.run();
}
}
Before a cache miss call looked like this: https://github.com/openjdk/jdk/pull/20611#discussion_r1721082199
-------------
PR Comment: https://git.openjdk.org/jdk/pull/20627#issuecomment-2296856100
More information about the core-libs-dev
mailing list