Lines Matching refs:mtype

77         MethodType mtype = targetType;
78 MethodType invokerType = mtype.invokerType();
80 final int MTYPE_ARG_APPENDED = 1; // argument count for appended mtype value
81 if (mtype.parameterSlotCount() <= MethodType.MAX_MH_INVOKER_ARITY - MTYPE_ARG_APPENDED) {
82 lform = invokeForm(mtype, false, MethodTypeForm.LF_EX_INVOKER);
83 invoker = BoundMethodHandle.bindSingle(invokerType, lform, mtype);
85 // At maximum arity, we cannot afford an extra mtype argument,
87 lform = invokeForm(mtype, true, MethodTypeForm.LF_EX_INVOKER);
98 MethodType mtype = targetType;
99 MethodType invokerType = mtype.invokerType();
101 final int MTYPE_ARG_APPENDED = 1; // argument count for appended mtype value
103 if (mtype.parameterSlotCount() <= MethodType.MAX_MH_INVOKER_ARITY - GENERIC_INVOKER_SLOP) {
104 prepareForGenericCall(mtype);
105 lform = invokeForm(mtype, false, MethodTypeForm.LF_GEN_INVOKER);
106 invoker = BoundMethodHandle.bindSingle(invokerType, lform, mtype);
108 // At maximum arity, we cannot afford an extra mtype argument,
110 lform = invokeForm(mtype, true, MethodTypeForm.LF_GEN_INVOKER);
232 static MemberName exactInvokerMethod(MethodType mtype, Object[] appendixResult) {
234 final int MTYPE_ARG_APPENDED = 1; // argument count for appended mtype value
235 if (mtype.parameterSlotCount() <= MethodType.MAX_MH_ARITY - MTYPE_ARG_APPENDED) {
236 lform = invokeForm(mtype, false, MethodTypeForm.LF_EX_LINKER);
237 appendixResult[0] = mtype;
239 lform = invokeForm(mtype, true, MethodTypeForm.LF_EX_LINKER);
244 static MemberName genericInvokerMethod(MethodType mtype, Object[] appendixResult) {
246 final int MTYPE_ARG_APPENDED = 1; // argument count for appended mtype value
247 if (mtype.parameterSlotCount() <= MethodType.MAX_MH_ARITY - (MTYPE_ARG_APPENDED + GENERIC_INVOKER_SLOP)) {
248 lform = invokeForm(mtype, false, MethodTypeForm.LF_GEN_LINKER);
249 appendixResult[0] = mtype;
250 prepareForGenericCall(mtype);
252 lform = invokeForm(mtype, true, MethodTypeForm.LF_GEN_LINKER);
257 private static LambdaForm invokeForm(MethodType mtype, boolean customized, int which) {
260 mtype = mtype.basicType(); // normalize Z to I, String to Object, etc.
263 isCached = false; // maybe cache if mtype == mtype.basicType()
276 lform = mtype.form().cachedLambdaForm(which);
284 final int OUTARG_LIMIT = ARG_BASE + mtype.parameterCount();
290 MethodType invokerFormType = mtype.invokerType();
299 : Arrays.asList(mtype, customized, which, nameCursor, names.length);
309 Object mtypeArg = (customized ? mtype : names[MTYPE_ARG]);
314 outCallType = mtype;
321 outCallType = mtype;
334 outCallType = mtype.insertParameterTypes(0, MethodType.class, MethodHandle.class);
341 lform = mtype.form().setCachedLambdaForm(which, lform);
381 /*non-public*/ static MethodHandle prepareForGenericCall(MethodType mtype) {
383 MethodTypeForm form = mtype.form();
396 static MemberName linkToCallSiteMethod(MethodType mtype) {
397 LambdaForm lform = callSiteForm(mtype);
401 private static LambdaForm callSiteForm(MethodType mtype) {
402 mtype = mtype.basicType(); // normalize Z to I, String to Object, etc.
403 LambdaForm lform = mtype.form().cachedLambdaForm(MethodTypeForm.LF_CS_LINKER);
408 final int OUTARG_LIMIT = ARG_BASE + mtype.parameterCount();
414 MethodType invokerFormType = mtype.appendParameterTypes(CallSite.class);
425 names[LINKER_CALL] = new Name(invokeBasicMethod(mtype), outArgs);
428 lform = mtype.form().setCachedLambdaForm(MethodTypeForm.LF_CS_LINKER, lform);