Lines Matching defs:resolved_method

77 void CallInfo::set_static(KlassHandle resolved_klass, methodHandle resolved_method, TRAPS) {
79 set_common(resolved_klass, resolved_klass, resolved_method, resolved_method, vtable_index, CHECK);
83 void CallInfo::set_interface(KlassHandle resolved_klass, KlassHandle selected_klass, methodHandle resolved_method, methodHandle selected_method, TRAPS) {
84 // This is only called for interface methods. If the resolved_method
89 if (resolved_method->method_holder() == SystemDictionary::Object_klass()) {
90 assert(resolved_method->vtable_index() == selected_method->vtable_index(), "sanity check");
91 vtable_index = resolved_method->vtable_index();
93 set_common(resolved_klass, selected_klass, resolved_method, selected_method, vtable_index, CHECK);
96 void CallInfo::set_virtual(KlassHandle resolved_klass, KlassHandle selected_klass, methodHandle resolved_method, methodHandle selected_method, int vtable_index, TRAPS) {
98 set_common(resolved_klass, selected_klass, resolved_method, selected_method, vtable_index, CHECK);
99 assert(!resolved_method->is_compiled_lambda_form(), "these must be handled via an invokehandle call");
102 void CallInfo::set_handle(methodHandle resolved_method, Handle resolved_appendix, Handle resolved_method_type, TRAPS) {
103 if (resolved_method.is_null()) {
107 assert(resolved_method->intrinsic_id() == vmIntrinsics::_invokeBasic ||
108 resolved_method->is_compiled_lambda_form(),
111 assert(resolved_method->vtable_index() == vtable_index, "");
112 set_common(resolved_klass, resolved_klass, resolved_method, resolved_method, vtable_index, CHECK);
117 void CallInfo::set_common(KlassHandle resolved_klass, KlassHandle selected_klass, methodHandle resolved_method, methodHandle selected_method, int vtable_index, TRAPS) {
118 assert(resolved_method->signature() == selected_method->signature(), "signatures must correspond");
121 _resolved_method = resolved_method;
371 void LinkResolver::resolve_method_statically(methodHandle& resolved_method, KlassHandle& resolved_klass,
380 resolve_method(resolved_method, resolved_klass, method_name, method_signature, current_klass, true, CHECK);
395 resolved_method = methodHandle(THREAD, result_oop);
401 resolve_interface_method(resolved_method, resolved_klass, method_name, method_signature, current_klass, true, CHECK);
403 resolve_method(resolved_method, resolved_klass, method_name, method_signature, current_klass, true, CHECK);
407 void LinkResolver::resolve_method(methodHandle& resolved_method, KlassHandle resolved_klass,
422 lookup_method_in_klasses(resolved_method, resolved_klass, method_name, method_signature, CHECK);
424 if (resolved_method.is_null()) { // not found in the class hierarchy
426 lookup_method_in_interfaces(resolved_method, resolved_klass, method_name, method_signature, CHECK);
428 if (resolved_method.is_null()) {
430 lookup_polymorphic_method(resolved_method, resolved_klass, method_name, method_signature,
438 if (resolved_method.is_null()) {
450 if (resolved_method->is_abstract() && !resolved_klass->is_abstract()) {
465 KlassHandle(THREAD, resolved_method->method_holder()),
466 resolved_method,
471 Handle class_loader (THREAD, instanceKlass::cast(resolved_method->method_holder())->class_loader());
499 void LinkResolver::resolve_interface_method(methodHandle& resolved_method,
515 lookup_instance_method_in_klasses(resolved_method, resolved_klass, method_name, method_signature, CHECK);
517 if (resolved_method.is_null()) {
519 lookup_method_in_interfaces(resolved_method, resolved_klass, method_name, method_signature, CHECK);
520 if (resolved_method.is_null()) {
533 Handle class_loader (THREAD, instanceKlass::cast(resolved_method->method_holder())->class_loader());
695 // resolved_method the specified method (i.e., static receiver specified via constant pool index)
704 methodHandle resolved_method;
705 linktime_resolve_static_method(resolved_method, resolved_klass, method_name, method_signature, current_klass, check_access, CHECK);
706 resolved_klass = KlassHandle(THREAD, Klass::cast(resolved_method->method_holder()));
711 linktime_resolve_static_method(resolved_method, resolved_klass, method_name, method_signature, current_klass, check_access, CHECK);
715 result.set_static(resolved_klass, resolved_method, CHECK);
719 void LinkResolver::linktime_resolve_static_method(methodHandle& resolved_method, KlassHandle resolved_klass,
723 resolve_method(resolved_method, resolved_klass, method_name, method_signature, current_klass, check_access, CHECK);
724 assert(resolved_method->name() != vmSymbols::class_initializer_name(), "should have been checked in verifier");
727 if (!resolved_method->is_static()) {
731 resolved_method->name(),
732 resolved_method->signature()));
740 methodHandle resolved_method;
741 linktime_resolve_special_method(resolved_method, resolved_klass, method_name, method_signature, current_klass, check_access, CHECK);
742 runtime_resolve_special_method(result, resolved_method, resolved_klass, current_klass, check_access, CHECK);
746 void LinkResolver::linktime_resolve_special_method(methodHandle& resolved_method, KlassHandle resolved_klass,
750 resolve_method(resolved_method, resolved_klass, method_name, method_signature, current_klass, check_access, CHECK);
753 if (resolved_method->name() == vmSymbols::object_initializer_name() &&
754 resolved_method->method_holder() != resolved_klass()) {
761 resolved_method->name()->as_C_string(),
762 resolved_method->signature()->as_C_string()
768 if (resolved_method->is_static()) {
774 resolved_method->name(),
775 resolved_method->signature()));
781 void LinkResolver::runtime_resolve_special_method(CallInfo& result, methodHandle resolved_method, KlassHandle resolved_klass,
785 methodHandle sel_method(THREAD, resolved_method());
789 resolved_method->method_holder());
797 resolved_method->name() != vmSymbols::object_initializer_name()) {
801 resolved_method->name(),
802 resolved_method->signature(), CHECK);
808 resolved_method->name(),
809 resolved_method->signature()));
819 resolved_method->name(),
820 resolved_method->signature()));
840 methodHandle resolved_method;
841 linktime_resolve_virtual_method(resolved_method, resolved_klass, method_name, method_signature, current_klass, check_access, CHECK);
842 runtime_resolve_virtual_method(result, resolved_method, resolved_klass, recv, receiver_klass, check_null_and_abstract, CHECK);
846 void LinkResolver::linktime_resolve_virtual_method(methodHandle &resolved_method, KlassHandle resolved_klass,
850 resolve_method(resolved_method, resolved_klass, method_name, method_signature, current_klass, check_access, CHECK);
852 assert(resolved_method->name() != vmSymbols::object_initializer_name(), "should have been checked in verifier");
853 assert(resolved_method->name() != vmSymbols::class_initializer_name (), "should have been checked in verifier");
856 if (resolved_method->is_static()) {
860 resolved_method->name(),
861 resolved_method->signature()));
868 methodHandle resolved_method,
888 assert(instanceKlass::cast(resolved_method->method_holder())->is_linked(), "must be linked");
893 assert(instanceKlass::cast(resolved_method->method_holder())->is_linked(), "must be linked");
896 if (resolved_method->method_holder()->klass_part()->is_interface()) { // miranda method
898 resolved_method->name(),
899 resolved_method->signature(), CHECK);
905 // at this point we are sure that resolved_method is virtual and not
907 vtable_index = resolved_method->vtable_index();
914 assert(resolved_method->can_be_statically_bound(), "cannot override this method");
915 selected_method = resolved_method;
929 resolved_method->name(),
930 resolved_method->signature()));
943 result.set_virtual(resolved_klass, recv_klass, resolved_method, selected_method, vtable_index, CHECK);
949 methodHandle resolved_method;
950 linktime_resolve_interface_method(resolved_method, resolved_klass, method_name, method_signature, current_klass, check_access, CHECK);
951 runtime_resolve_interface_method(result, resolved_method, resolved_klass, recv, recv_klass, check_null_and_abstract, CHECK);
955 void LinkResolver::linktime_resolve_interface_method(methodHandle& resolved_method, KlassHandle resolved_klass, Symbol* method_name,
958 resolve_interface_method(resolved_method, resolved_klass, method_name, method_signature, current_klass, check_access, CHECK);
960 assert(resolved_method->name() != vmSymbols::object_initializer_name(), "should have been checked in verifier");
961 assert(resolved_method->name() != vmSymbols::class_initializer_name (), "should have been checked in verifier");
965 void LinkResolver::runtime_resolve_interface_method(CallInfo& result, methodHandle resolved_method, KlassHandle resolved_klass,
984 resolved_method->name(),
985 resolved_method->signature(), CHECK);
991 resolved_method->name(),
992 resolved_method->signature()));
1011 result.set_interface(resolved_klass, recv_klass, resolved_method, sel_method, CHECK);
1220 methodHandle resolved_method;
1223 lookup_polymorphic_method(resolved_method, resolved_klass,
1226 result.set_handle(resolved_method, resolved_appendix, resolved_method_type, CHECK);
1277 methodHandle resolved_method =
1302 result.set_handle(resolved_method, resolved_appendix, resolved_method_type, CHECK);