< prev index next >

src/hotspot/share/opto/library_call.cpp

Print this page

        

*** 3848,3857 **** --- 3848,3864 ---- slow_call = new CallStaticJavaNode(C, tf, SharedRuntime::get_resolve_opt_virtual_call_stub(), method, bci()); slow_call->set_optimized_virtual(true); } + if (CallGenerator::is_inlined_method_handle_intrinsic(this->method(), bci(), callee())) { + // To be able to issue a direct call (optimized virtual or virtual) + // and skip a call to MH.linkTo*/invokeBasic adapter, additional information + // about the method being invoked should be attached to the call site to + // make resolution logic work (see SharedRuntime::resolve_{virtual,opt_virtual}_call_C). + slow_call->set_override_symbolic_info(true); + } set_arguments_for_java_call(slow_call); set_edges_for_java_call(slow_call); return slow_call; }
< prev index next >