632
633 private static MemberName lookupPregenerated(LambdaForm form, MethodType invokerType) {
634 if (form.customized != null) {
635 // No pre-generated version for customized LF
636 return null;
637 }
638 String name = form.kind.methodName;
639 switch (form.kind) {
640 case BOUND_REINVOKER: {
641 name = name + "_" + BoundMethodHandle.speciesDataFor(form).key();
642 return resolveFrom(name, invokerType, DelegatingMethodHandle.Holder.class);
643 }
644 case DELEGATE: return resolveFrom(name, invokerType, DelegatingMethodHandle.Holder.class);
645 case ZERO: // fall-through
646 case IDENTITY: {
647 name = name + "_" + form.returnType().basicTypeChar();
648 return resolveFrom(name, invokerType, LambdaForm.Holder.class);
649 }
650 case EXACT_INVOKER: // fall-through
651 case EXACT_LINKER: // fall-through
652 case GENERIC_INVOKER: // fall-through
653 case GENERIC_LINKER: return resolveFrom(name, invokerType.basicType(), Invokers.Holder.class);
654 case GET_OBJECT: // fall-through
655 case GET_BOOLEAN: // fall-through
656 case GET_BYTE: // fall-through
657 case GET_CHAR: // fall-through
658 case GET_SHORT: // fall-through
659 case GET_INT: // fall-through
660 case GET_LONG: // fall-through
661 case GET_FLOAT: // fall-through
662 case GET_DOUBLE: // fall-through
663 case PUT_OBJECT: // fall-through
664 case PUT_BOOLEAN: // fall-through
665 case PUT_BYTE: // fall-through
666 case PUT_CHAR: // fall-through
667 case PUT_SHORT: // fall-through
668 case PUT_INT: // fall-through
669 case PUT_LONG: // fall-through
670 case PUT_FLOAT: // fall-through
671 case PUT_DOUBLE: // fall-through
|
632
633 private static MemberName lookupPregenerated(LambdaForm form, MethodType invokerType) {
634 if (form.customized != null) {
635 // No pre-generated version for customized LF
636 return null;
637 }
638 String name = form.kind.methodName;
639 switch (form.kind) {
640 case BOUND_REINVOKER: {
641 name = name + "_" + BoundMethodHandle.speciesDataFor(form).key();
642 return resolveFrom(name, invokerType, DelegatingMethodHandle.Holder.class);
643 }
644 case DELEGATE: return resolveFrom(name, invokerType, DelegatingMethodHandle.Holder.class);
645 case ZERO: // fall-through
646 case IDENTITY: {
647 name = name + "_" + form.returnType().basicTypeChar();
648 return resolveFrom(name, invokerType, LambdaForm.Holder.class);
649 }
650 case EXACT_INVOKER: // fall-through
651 case EXACT_LINKER: // fall-through
652 case LINK_TO_CALL_SITE: // fall-through
653 case LINK_TO_TARGET_METHOD: // fall-through
654 case GENERIC_INVOKER: // fall-through
655 case GENERIC_LINKER: return resolveFrom(name, invokerType.basicType(), Invokers.Holder.class);
656 case GET_OBJECT: // fall-through
657 case GET_BOOLEAN: // fall-through
658 case GET_BYTE: // fall-through
659 case GET_CHAR: // fall-through
660 case GET_SHORT: // fall-through
661 case GET_INT: // fall-through
662 case GET_LONG: // fall-through
663 case GET_FLOAT: // fall-through
664 case GET_DOUBLE: // fall-through
665 case PUT_OBJECT: // fall-through
666 case PUT_BOOLEAN: // fall-through
667 case PUT_BYTE: // fall-through
668 case PUT_CHAR: // fall-through
669 case PUT_SHORT: // fall-through
670 case PUT_INT: // fall-through
671 case PUT_LONG: // fall-through
672 case PUT_FLOAT: // fall-through
673 case PUT_DOUBLE: // fall-through
|