equal
deleted
inserted
replaced
760 inner->external_name() |
760 inner->external_name() |
761 ); |
761 ); |
762 } |
762 } |
763 |
763 |
764 // Utility method converting a single SignatureStream element into java.lang.Class instance |
764 // Utility method converting a single SignatureStream element into java.lang.Class instance |
765 static oop get_mirror_from_signature(methodHandle method, |
765 static oop get_mirror_from_signature(const methodHandle& method, |
766 SignatureStream* ss, |
766 SignatureStream* ss, |
767 TRAPS) { |
767 TRAPS) { |
768 |
768 |
769 |
769 |
770 if (T_OBJECT == ss->type() || T_ARRAY == ss->type()) { |
770 if (T_OBJECT == ss->type() || T_ARRAY == ss->type()) { |
786 "T_VOID should only appear as return type"); |
786 "T_VOID should only appear as return type"); |
787 |
787 |
788 return java_lang_Class::primitive_mirror(ss->type()); |
788 return java_lang_Class::primitive_mirror(ss->type()); |
789 } |
789 } |
790 |
790 |
791 static objArrayHandle get_parameter_types(methodHandle method, |
791 static objArrayHandle get_parameter_types(const methodHandle& method, |
792 int parameter_count, |
792 int parameter_count, |
793 oop* return_type, |
793 oop* return_type, |
794 TRAPS) { |
794 TRAPS) { |
795 // Allocate array holding parameter types (java.lang.Class instances) |
795 // Allocate array holding parameter types (java.lang.Class instances) |
796 objArrayOop m = oopFactory::new_objArray(SystemDictionary::Class_klass(), parameter_count, CHECK_(objArrayHandle())); |
796 objArrayOop m = oopFactory::new_objArray(SystemDictionary::Class_klass(), parameter_count, CHECK_(objArrayHandle())); |
812 *return_type = get_mirror_from_signature(method, &ss, CHECK_(objArrayHandle())); |
812 *return_type = get_mirror_from_signature(method, &ss, CHECK_(objArrayHandle())); |
813 } |
813 } |
814 return mirrors; |
814 return mirrors; |
815 } |
815 } |
816 |
816 |
817 static objArrayHandle get_exception_types(methodHandle method, TRAPS) { |
817 static objArrayHandle get_exception_types(const methodHandle& method, TRAPS) { |
818 return method->resolved_checked_exceptions(THREAD); |
818 return method->resolved_checked_exceptions(THREAD); |
819 } |
819 } |
820 |
820 |
821 static Handle new_type(Symbol* signature, Klass* k, TRAPS) { |
821 static Handle new_type(Symbol* signature, Klass* k, TRAPS) { |
822 // Basic types |
822 // Basic types |
1050 } |
1050 } |
1051 |
1051 |
1052 |
1052 |
1053 // Method call (shared by invoke_method and invoke_constructor) |
1053 // Method call (shared by invoke_method and invoke_constructor) |
1054 static oop invoke(InstanceKlass* klass, |
1054 static oop invoke(InstanceKlass* klass, |
1055 methodHandle reflected_method, |
1055 const methodHandle& reflected_method, |
1056 Handle receiver, |
1056 Handle receiver, |
1057 bool override, |
1057 bool override, |
1058 objArrayHandle ptypes, |
1058 objArrayHandle ptypes, |
1059 BasicType rtype, |
1059 BasicType rtype, |
1060 objArrayHandle args, |
1060 objArrayHandle args, |