< 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 >