hotspot/src/share/vm/ci/ciEnv.cpp
changeset 31019 d05fcdd70109
parent 30764 fec48bf5a827
child 33451 0712796e4039
child 33593 60764a78fa5c
equal deleted inserted replaced
30886:d2a0ec86d6ef 31019:d05fcdd70109
   707   EXCEPTION_CONTEXT;
   707   EXCEPTION_CONTEXT;
   708   KlassHandle h_accessor(THREAD, accessor);
   708   KlassHandle h_accessor(THREAD, accessor);
   709   KlassHandle h_holder(THREAD, holder);
   709   KlassHandle h_holder(THREAD, holder);
   710   LinkResolver::check_klass_accessability(h_accessor, h_holder, KILL_COMPILE_ON_FATAL_(NULL));
   710   LinkResolver::check_klass_accessability(h_accessor, h_holder, KILL_COMPILE_ON_FATAL_(NULL));
   711   methodHandle dest_method;
   711   methodHandle dest_method;
       
   712   LinkInfo link_info(h_holder, name, sig, h_accessor, /*check_access*/true);
   712   switch (bc) {
   713   switch (bc) {
   713   case Bytecodes::_invokestatic:
   714   case Bytecodes::_invokestatic:
   714     dest_method =
   715     dest_method =
   715       LinkResolver::resolve_static_call_or_null(h_holder, name, sig, h_accessor);
   716       LinkResolver::resolve_static_call_or_null(link_info);
   716     break;
   717     break;
   717   case Bytecodes::_invokespecial:
   718   case Bytecodes::_invokespecial:
   718     dest_method =
   719     dest_method =
   719       LinkResolver::resolve_special_call_or_null(h_holder, name, sig, h_accessor);
   720       LinkResolver::resolve_special_call_or_null(link_info);
   720     break;
   721     break;
   721   case Bytecodes::_invokeinterface:
   722   case Bytecodes::_invokeinterface:
   722     dest_method =
   723     dest_method =
   723       LinkResolver::linktime_resolve_interface_method_or_null(h_holder, name, sig,
   724       LinkResolver::linktime_resolve_interface_method_or_null(link_info);
   724                                                               h_accessor, true);
       
   725     break;
   725     break;
   726   case Bytecodes::_invokevirtual:
   726   case Bytecodes::_invokevirtual:
   727     dest_method =
   727     dest_method =
   728       LinkResolver::linktime_resolve_virtual_method_or_null(h_holder, name, sig,
   728       LinkResolver::linktime_resolve_virtual_method_or_null(link_info);
   729                                                             h_accessor, true);
       
   730     break;
   729     break;
   731   default: ShouldNotReachHere();
   730   default: ShouldNotReachHere();
   732   }
   731   }
   733 
   732 
   734   return dest_method();
   733   return dest_method();