1 /* |
1 /* |
2 * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. |
2 * Copyright (c) 1997, 2016, Oracle and/or its affiliates. All rights reserved. |
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
4 * |
4 * |
5 * This code is free software; you can redistribute it and/or modify it |
5 * This code is free software; you can redistribute it and/or modify it |
6 * under the terms of the GNU General Public License version 2 only, as |
6 * under the terms of the GNU General Public License version 2 only, as |
7 * published by the Free Software Foundation. |
7 * published by the Free Software Foundation. |
229 |
229 |
230 // ============ Special calls ============ |
230 // ============ Special calls ============ |
231 |
231 |
232 void JavaCalls::call_special(JavaValue* result, KlassHandle klass, Symbol* name, Symbol* signature, JavaCallArguments* args, TRAPS) { |
232 void JavaCalls::call_special(JavaValue* result, KlassHandle klass, Symbol* name, Symbol* signature, JavaCallArguments* args, TRAPS) { |
233 CallInfo callinfo; |
233 CallInfo callinfo; |
234 LinkResolver::resolve_special_call(callinfo, klass, name, signature, KlassHandle(), false, CHECK); |
234 LinkResolver::resolve_special_call(callinfo, args->receiver(), klass, name, signature, KlassHandle(), false, CHECK); |
235 methodHandle method = callinfo.selected_method(); |
235 methodHandle method = callinfo.selected_method(); |
236 assert(method.not_null(), "should have thrown exception"); |
236 assert(method.not_null(), "should have thrown exception"); |
237 |
237 |
238 // Invoke the method |
238 // Invoke the method |
239 JavaCalls::call(result, method, args, CHECK); |
239 JavaCalls::call(result, method, args, CHECK); |