RFR: 8286669: Replace MethodHandle specialization with ASM in mainline [v3]

RĂ©mi Forax forax at openjdk.java.net
Tue May 17 14:33:50 UTC 2022


On Tue, 17 May 2022 08:16:32 GMT, Maurizio Cimadamore <mcimadamore at openjdk.org> wrote:

>> src/java.base/share/classes/jdk/internal/foreign/abi/BindingSpecializer.java line 98:
>> 
>>> 96:     private static final String CLASS_DATA_DESC = methodType(Object.class, MethodHandles.Lookup.class, String.class, Class.class).descriptorString();
>>> 97:     private static final String RELEASE0_DESC = methodType(void.class).descriptorString();
>>> 98:     private static final String ACQUIRE0_DESC = methodType(void.class).descriptorString();
>> 
>> calling methodType() is quite slow because of the cache of MethodType so maybe those initialization should be done explicitly in a static block to avoid to recompute methodType(long).descriptorString() several times
>
> What about using MethodTypeDesc/ClassDesc as building block?

yes, it should be less expensive, the ClassDesc still need to be constructed from Class to allow refactoring.

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

PR: https://git.openjdk.java.net/jdk/pull/8685


More information about the core-libs-dev mailing list