equal
deleted
inserted
replaced
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 } |