hotspot/src/share/vm/oops/klassVtable.cpp
changeset 31019 d05fcdd70109
parent 30768 66b53dcce510
child 32189 5264b560ab1b
equal deleted inserted replaced
30886:d2a0ec86d6ef 31019:d05fcdd70109
  1134     Method* m = methods->at(i);
  1134     Method* m = methods->at(i);
  1135     methodHandle target;
  1135     methodHandle target;
  1136     if (m->has_itable_index()) {
  1136     if (m->has_itable_index()) {
  1137       // This search must match the runtime resolution, i.e. selection search for invokeinterface
  1137       // This search must match the runtime resolution, i.e. selection search for invokeinterface
  1138       // to correctly enforce loader constraints for interface method inheritance
  1138       // to correctly enforce loader constraints for interface method inheritance
  1139       LinkResolver::lookup_instance_method_in_klasses(target, _klass, m->name(), m->signature(), CHECK);
  1139       target = LinkResolver::lookup_instance_method_in_klasses(_klass, m->name(), m->signature(), CHECK);
  1140     }
  1140     }
  1141     if (target == NULL || !target->is_public() || target->is_abstract()) {
  1141     if (target == NULL || !target->is_public() || target->is_abstract()) {
  1142       // Entry does not resolve. Leave it empty for AbstractMethodError.
  1142       // Entry does not resolve. Leave it empty for AbstractMethodError.
  1143         if (!(target == NULL) && !target->is_public()) {
  1143         if (!(target == NULL) && !target->is_public()) {
  1144           // Stuff an IllegalAccessError throwing method in there instead.
  1144           // Stuff an IllegalAccessError throwing method in there instead.