On Thu, 29 Aug 2024 01:30:55 GMT, Shaojin Wen <s...@openjdk.org> wrote:
> A small optimization to simplify the implementation logic of > LambdaForm$BasicType#basicType method can reduce the call stack and reduce > the overall bytecode size. > > Below is the compiler log > > * baseline > > @ 1 java.lang.invoke.LambdaForm$BasicType::basicType (8 bytes) inline > @ 1 sun.invoke.util.Wrapper::basicTypeChar (18 bytes) inline > @ 1 java.lang.Class::isPrimitive (0 bytes) intrinsic > @ 11 sun.invoke.util.Wrapper::forPrimitiveType (122 bytes) failed to > inline: callee is too large > @ 14 sun.invoke.util.Wrapper::basicTypeChar (5 bytes) inline > > > * current > > java.lang.invoke.LambdaForm$BasicType::basicType (59 bytes) failed to > inline: callee is too large What about this: if (!type.isPrimitive()) return L_TYPE; if (type == long.class) return J_TYPE; if (type == float.class) return F_TYPE; if (type == double.class) return D_TYPE; if (type == void.class) return V_TYPE; return I_TYPE; // int, short, byte, char, boolean Is this even smaller? ------------- PR Comment: https://git.openjdk.org/jdk/pull/20759#issuecomment-2316646898