equal
deleted
inserted
replaced
219 // ============ Special calls ============ |
219 // ============ Special calls ============ |
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, link_info, CHECK); |
224 LinkResolver::resolve_special_call(callinfo, args->receiver(), link_info, CHECK); |
225 methodHandle method = callinfo.selected_method(); |
225 methodHandle method = 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); |