Lines Matching defs:resolved_klass
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) {
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);
106 KlassHandle resolved_klass = SystemDictionaryHandles::MethodHandle_klass();
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) {
119 _resolved_klass = resolved_klass;
326 KlassHandle resolved_klass,
342 resolved_klass->oop_is_array()) {
353 resolved_klass->as_klassOop(),
371 void LinkResolver::resolve_method_statically(methodHandle& resolved_method, KlassHandle& resolved_klass,
376 resolved_klass = SystemDictionaryHandles::MethodHandle_klass();
380 resolve_method(resolved_method, resolved_klass, method_name, method_signature, current_klass, true, CHECK);
384 resolve_klass(resolved_klass, pool, index, CHECK);
391 || (resolved_klass() == SystemDictionary::MethodHandle_klass() &&
392 MethodHandles::is_signature_polymorphic_name(resolved_klass(), method_name))) {
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,
412 if (resolved_klass->is_interface()) {
415 jio_snprintf(buf, sizeof(buf), "Found interface %s, but class was expected", Klass::cast(resolved_klass())->external_name());
422 lookup_method_in_klasses(resolved_method, resolved_klass, method_name, method_signature, CHECK);
426 lookup_method_in_interfaces(resolved_method, resolved_klass, method_name, method_signature, CHECK);
430 lookup_polymorphic_method(resolved_method, resolved_klass, method_name, method_signature,
442 methodOopDesc::name_and_sig_as_C_string(Klass::cast(resolved_klass()),
450 if (resolved_method->is_abstract() && !resolved_klass->is_abstract()) {
453 methodOopDesc::name_and_sig_as_C_string(Klass::cast(resolved_klass()),
464 resolved_klass,
482 char* sig = methodOopDesc::name_and_sig_as_C_string(Klass::cast(resolved_klass()),method_name,method_signature);
486 char* resolved = instanceKlass::cast(resolved_klass())->name()->as_C_string();
500 KlassHandle resolved_klass,
507 if (!resolved_klass->is_interface()) {
510 jio_snprintf(buf, sizeof(buf), "Found class %s, but interface was expected", Klass::cast(resolved_klass())->external_name());
515 lookup_instance_method_in_klasses(resolved_method, resolved_klass, method_name, method_signature, CHECK);
519 lookup_method_in_interfaces(resolved_method, resolved_klass, method_name, method_signature, CHECK);
524 methodOopDesc::name_and_sig_as_C_string(Klass::cast(resolved_klass()),
545 char* sig = methodOopDesc::name_and_sig_as_C_string(Klass::cast(resolved_klass()),method_name,method_signature);
549 char* resolved = instanceKlass::cast(resolved_klass())->name()->as_C_string();
566 KlassHandle resolved_klass,
571 resolved_klass->as_klassOop(),
600 KlassHandle resolved_klass;
602 resolve_klass(resolved_klass, pool, index, CHECK);
604 resolve_klass_no_update(resolved_klass, pool, index, CHECK);
610 if( resolved_klass.is_null() ) {
617 KlassHandle sel_klass(THREAD, instanceKlass::cast(resolved_klass())->find_field(field, sig, &fd));
626 check_field_accessability(ref_klass, resolved_klass, sel_klass, fd, CHECK);
632 jio_snprintf(msg, sizeof(msg), "Expected %s field %s.%s", is_static ? "static" : "non-static", Klass::cast(resolved_klass())->external_name(), fd.name()->as_C_string());
641 // initialize resolved_klass if necessary
697 // resolved_klass the specified klass (i.e., specified via constant pool index)
701 void LinkResolver::resolve_static_call(CallInfo& result, KlassHandle& resolved_klass, Symbol* method_name,
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()));
709 if (initialize_class && resolved_klass->should_be_initialized()) {
710 resolved_klass->initialize(CHECK);
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);
730 jio_snprintf(buf, sizeof(buf), "Expected static method %s", methodOopDesc::name_and_sig_as_C_string(Klass::cast(resolved_klass()),
738 void LinkResolver::resolve_special_call(CallInfo& result, KlassHandle resolved_klass, Symbol* method_name,
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);
754 resolved_method->method_holder() != resolved_klass()) {
760 resolved_klass->external_name(),
773 methodOopDesc::name_and_sig_as_C_string(Klass::cast(resolved_klass()),
781 void LinkResolver::runtime_resolve_special_method(CallInfo& result, methodHandle resolved_method, KlassHandle resolved_klass,
807 methodOopDesc::name_and_sig_as_C_string(Klass::cast(resolved_klass()),
818 jio_snprintf(buf, sizeof(buf), "Expecting non-static method %s", methodOopDesc::name_and_sig_as_C_string(Klass::cast(resolved_klass()),
828 methodOopDesc::name_and_sig_as_C_string(Klass::cast(resolved_klass()),
834 result.set_static(resolved_klass, sel_method, CHECK);
837 void LinkResolver::resolve_virtual_call(CallInfo& result, Handle recv, KlassHandle receiver_klass, KlassHandle resolved_klass,
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);
859 jio_snprintf(buf, sizeof(buf), "Expecting non-static method %s", methodOopDesc::name_and_sig_as_C_string(Klass::cast(resolved_klass()),
869 KlassHandle resolved_klass,
897 vtable_index = vtable_index_of_miranda_method(resolved_klass,
928 methodOopDesc::name_and_sig_as_C_string(Klass::cast(resolved_klass()),
937 methodOopDesc::name_and_sig_as_C_string(Klass::cast(resolved_klass()),
943 result.set_virtual(resolved_klass, recv_klass, resolved_method, selected_method, vtable_index, CHECK);
946 void LinkResolver::resolve_interface_call(CallInfo& result, Handle recv, KlassHandle recv_klass, KlassHandle resolved_klass,
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);
965 void LinkResolver::runtime_resolve_interface_method(CallInfo& result, methodHandle resolved_method, KlassHandle resolved_klass,
973 if (!recv_klass->is_subtype_of(resolved_klass())) {
978 (Klass::cast(resolved_klass()))->external_name());
1011 result.set_interface(resolved_klass, recv_klass, resolved_method, sel_method, CHECK);
1016 KlassHandle resolved_klass,
1023 linktime_resolve_interface_method(method_result, resolved_klass, method_name, method_signature, current_klass, check_access, THREAD);
1033 KlassHandle resolved_klass,
1040 linktime_resolve_virtual_method(method_result, resolved_klass, method_name, method_signature, current_klass, check_access, THREAD);
1051 KlassHandle resolved_klass,
1057 resolve_virtual_call(info, Handle(), receiver_klass, resolved_klass, name, signature, current_klass, true, false, THREAD);
1067 KlassHandle resolved_klass,
1073 resolve_interface_call(info, Handle(), receiver_klass, resolved_klass, name, signature, current_klass, true, false, THREAD);
1083 KlassHandle resolved_klass,
1089 resolve_virtual_call(info, Handle(), receiver_klass, resolved_klass, name, signature, current_klass, true, false, THREAD);
1098 KlassHandle resolved_klass,
1104 resolve_static_call(info, resolved_klass, name, signature, current_klass, true, false, THREAD);
1112 methodHandle LinkResolver::resolve_special_call_or_null(KlassHandle resolved_klass, Symbol* name, Symbol* signature,
1116 resolve_special_call(info, resolved_klass, name, signature, current_klass, true, THREAD);
1141 void LinkResolver::resolve_pool(KlassHandle& resolved_klass, Symbol*& method_name, Symbol*& method_signature,
1144 resolve_klass(resolved_klass, pool, index, CHECK);
1154 KlassHandle resolved_klass;
1158 resolve_pool(resolved_klass, method_name, method_signature, current_klass, pool, index, CHECK);
1159 resolve_static_call(result, resolved_klass, method_name, method_signature, current_klass, true, true, CHECK);
1164 KlassHandle resolved_klass;
1168 resolve_pool(resolved_klass, method_name, method_signature, current_klass, pool, index, CHECK);
1169 resolve_special_call(result, resolved_klass, method_name, method_signature, current_klass, true, CHECK);
1177 KlassHandle resolved_klass;
1181 resolve_pool(resolved_klass, method_name, method_signature, current_klass, pool, index, CHECK);
1183 resolve_virtual_call(result, recv, recvrKlass, resolved_klass, method_name, method_signature, current_klass, true, true, CHECK);
1188 KlassHandle resolved_klass;
1192 resolve_pool(resolved_klass, method_name, method_signature, current_klass, pool, index, CHECK);
1194 resolve_interface_call(result, recv, recvrKlass, resolved_klass, method_name, method_signature, current_klass, true, true, CHECK);
1201 KlassHandle resolved_klass;
1205 resolve_pool(resolved_klass, method_name, method_signature, current_klass, pool, index, CHECK);
1210 resolve_handle_call(result, resolved_klass, method_name, method_signature, current_klass, CHECK);
1213 void LinkResolver::resolve_handle_call(CallInfo& result, KlassHandle resolved_klass,
1218 assert(resolved_klass() == SystemDictionary::MethodHandle_klass(), "");
1223 lookup_polymorphic_method(resolved_method, resolved_klass,
1234 //resolve_pool(<resolved_klass>, method_name, method_signature, current_klass, pool, index, CHECK);