hotspot/src/share/vm/opto/library_call.cpp
changeset 17383 3665c0901a0d
parent 16827 2705b620f1a7
child 17384 4e6ea5fa04ad
equal deleted inserted replaced
17382:bba473b81ec0 17383:3665c0901a0d
  3701 
  3701 
  3702   const TypeFunc* tf = TypeFunc::make(method);
  3702   const TypeFunc* tf = TypeFunc::make(method);
  3703   CallJavaNode* slow_call;
  3703   CallJavaNode* slow_call;
  3704   if (is_static) {
  3704   if (is_static) {
  3705     assert(!is_virtual, "");
  3705     assert(!is_virtual, "");
  3706     slow_call = new(C) CallStaticJavaNode(tf,
  3706     slow_call = new(C) CallStaticJavaNode(C, tf,
  3707                            SharedRuntime::get_resolve_static_call_stub(),
  3707                            SharedRuntime::get_resolve_static_call_stub(),
  3708                            method, bci());
  3708                            method, bci());
  3709   } else if (is_virtual) {
  3709   } else if (is_virtual) {
  3710     null_check_receiver();
  3710     null_check_receiver();
  3711     int vtable_index = Method::invalid_vtable_index;
  3711     int vtable_index = Method::invalid_vtable_index;
  3720     slow_call = new(C) CallDynamicJavaNode(tf,
  3720     slow_call = new(C) CallDynamicJavaNode(tf,
  3721                           SharedRuntime::get_resolve_virtual_call_stub(),
  3721                           SharedRuntime::get_resolve_virtual_call_stub(),
  3722                           method, vtable_index, bci());
  3722                           method, vtable_index, bci());
  3723   } else {  // neither virtual nor static:  opt_virtual
  3723   } else {  // neither virtual nor static:  opt_virtual
  3724     null_check_receiver();
  3724     null_check_receiver();
  3725     slow_call = new(C) CallStaticJavaNode(tf,
  3725     slow_call = new(C) CallStaticJavaNode(C, tf,
  3726                                 SharedRuntime::get_resolve_opt_virtual_call_stub(),
  3726                                 SharedRuntime::get_resolve_opt_virtual_call_stub(),
  3727                                 method, bci());
  3727                                 method, bci());
  3728     slow_call->set_optimized_virtual(true);
  3728     slow_call->set_optimized_virtual(true);
  3729   }
  3729   }
  3730   set_arguments_for_java_call(slow_call);
  3730   set_arguments_for_java_call(slow_call);