src/hotspot/share/runtime/javaCalls.cpp
changeset 59056 15936b142f86
parent 58545 725244418646
equal deleted inserted replaced
59055:57ad70bcf06c 59056:15936b142f86
   184   Handle receiver = args->receiver();
   184   Handle receiver = args->receiver();
   185   Klass* recvrKlass = receiver.is_null() ? (Klass*)NULL : receiver->klass();
   185   Klass* recvrKlass = receiver.is_null() ? (Klass*)NULL : receiver->klass();
   186   LinkInfo link_info(spec_klass, name, signature);
   186   LinkInfo link_info(spec_klass, name, signature);
   187   LinkResolver::resolve_virtual_call(
   187   LinkResolver::resolve_virtual_call(
   188           callinfo, receiver, recvrKlass, link_info, true, CHECK);
   188           callinfo, receiver, recvrKlass, link_info, true, CHECK);
   189   methodHandle method = callinfo.selected_method();
   189   methodHandle method(THREAD, callinfo.selected_method());
   190   assert(method.not_null(), "should have thrown exception");
   190   assert(method.not_null(), "should have thrown exception");
   191 
   191 
   192   // Invoke the method
   192   // Invoke the method
   193   JavaCalls::call(result, method, args, CHECK);
   193   JavaCalls::call(result, method, args, CHECK);
   194 }
   194 }
   220 
   220 
   221 void JavaCalls::call_special(JavaValue* result, Klass* klass, Symbol* name, Symbol* signature, JavaCallArguments* args, TRAPS) {
   221 void JavaCalls::call_special(JavaValue* result, Klass* klass, Symbol* name, Symbol* signature, JavaCallArguments* args, TRAPS) {
   222   CallInfo callinfo;
   222   CallInfo callinfo;
   223   LinkInfo link_info(klass, name, signature);
   223   LinkInfo link_info(klass, name, signature);
   224   LinkResolver::resolve_special_call(callinfo, args->receiver(), link_info, CHECK);
   224   LinkResolver::resolve_special_call(callinfo, args->receiver(), link_info, CHECK);
   225   methodHandle method = callinfo.selected_method();
   225   methodHandle method(THREAD, callinfo.selected_method());
   226   assert(method.not_null(), "should have thrown exception");
   226   assert(method.not_null(), "should have thrown exception");
   227 
   227 
   228   // Invoke the method
   228   // Invoke the method
   229   JavaCalls::call(result, method, args, CHECK);
   229   JavaCalls::call(result, method, args, CHECK);
   230 }
   230 }
   255 
   255 
   256 void JavaCalls::call_static(JavaValue* result, Klass* klass, Symbol* name, Symbol* signature, JavaCallArguments* args, TRAPS) {
   256 void JavaCalls::call_static(JavaValue* result, Klass* klass, Symbol* name, Symbol* signature, JavaCallArguments* args, TRAPS) {
   257   CallInfo callinfo;
   257   CallInfo callinfo;
   258   LinkInfo link_info(klass, name, signature);
   258   LinkInfo link_info(klass, name, signature);
   259   LinkResolver::resolve_static_call(callinfo, link_info, true, CHECK);
   259   LinkResolver::resolve_static_call(callinfo, link_info, true, CHECK);
   260   methodHandle method = callinfo.selected_method();
   260   methodHandle method(THREAD, callinfo.selected_method());
   261   assert(method.not_null(), "should have thrown exception");
   261   assert(method.not_null(), "should have thrown exception");
   262 
   262 
   263   // Invoke the method
   263   // Invoke the method
   264   JavaCalls::call(result, method, args, CHECK);
   264   JavaCalls::call(result, method, args, CHECK);
   265 }
   265 }