equal
deleted
inserted
replaced
758 // Accessibility checks are performed in ciEnv::get_method_by_index_impl. |
758 // Accessibility checks are performed in ciEnv::get_method_by_index_impl. |
759 assert(check_klass_accessibility(accessor, holder->get_Klass()), "holder not accessible"); |
759 assert(check_klass_accessibility(accessor, holder->get_Klass()), "holder not accessible"); |
760 |
760 |
761 InstanceKlass* accessor_klass = accessor->get_instanceKlass(); |
761 InstanceKlass* accessor_klass = accessor->get_instanceKlass(); |
762 Klass* holder_klass = holder->get_Klass(); |
762 Klass* holder_klass = holder->get_Klass(); |
763 methodHandle dest_method; |
763 Method* dest_method; |
764 LinkInfo link_info(holder_klass, name, sig, accessor_klass, LinkInfo::needs_access_check, tag); |
764 LinkInfo link_info(holder_klass, name, sig, accessor_klass, LinkInfo::needs_access_check, tag); |
765 switch (bc) { |
765 switch (bc) { |
766 case Bytecodes::_invokestatic: |
766 case Bytecodes::_invokestatic: |
767 dest_method = |
767 dest_method = |
768 LinkResolver::resolve_static_call_or_null(link_info); |
768 LinkResolver::resolve_static_call_or_null(link_info); |
780 LinkResolver::linktime_resolve_virtual_method_or_null(link_info); |
780 LinkResolver::linktime_resolve_virtual_method_or_null(link_info); |
781 break; |
781 break; |
782 default: ShouldNotReachHere(); |
782 default: ShouldNotReachHere(); |
783 } |
783 } |
784 |
784 |
785 return dest_method(); |
785 return dest_method; |
786 } |
786 } |
787 |
787 |
788 |
788 |
789 // ------------------------------------------------------------------ |
789 // ------------------------------------------------------------------ |
790 // ciEnv::get_method_by_index_impl |
790 // ciEnv::get_method_by_index_impl |