src/hotspot/share/interpreter/interpreterRuntime.cpp
changeset 51444 3e5d28e6de32
parent 51170 7410cb248bbf
child 51467 12997ebbc0d8
equal deleted inserted replaced
51443:cdffba164671 51444:3e5d28e6de32
   922   } else {
   922   } else {
   923     assert(info.call_kind() == CallInfo::direct_call ||
   923     assert(info.call_kind() == CallInfo::direct_call ||
   924            info.call_kind() == CallInfo::vtable_call, "");
   924            info.call_kind() == CallInfo::vtable_call, "");
   925   }
   925   }
   926 #endif
   926 #endif
   927   // Get sender or sender's host_klass, and only set cpCache entry to resolved if
   927   // Get sender or sender's unsafe_anonymous_host, and only set cpCache entry to resolved if
   928   // it is not an interface.  The receiver for invokespecial calls within interface
   928   // it is not an interface.  The receiver for invokespecial calls within interface
   929   // methods must be checked for every call.
   929   // methods must be checked for every call.
   930   InstanceKlass* sender = pool->pool_holder();
   930   InstanceKlass* sender = pool->pool_holder();
   931   sender = sender->has_host_klass() ? sender->host_klass() : sender;
   931   sender = sender->is_unsafe_anonymous() ? sender->unsafe_anonymous_host() : sender;
   932 
   932 
   933   switch (info.call_kind()) {
   933   switch (info.call_kind()) {
   934   case CallInfo::direct_call:
   934   case CallInfo::direct_call:
   935     cp_cache_entry->set_direct_call(
   935     cp_cache_entry->set_direct_call(
   936       bytecode,
   936       bytecode,