Mercurial > hg > graal-jvmci-8
comparison src/share/vm/runtime/javaCalls.cpp @ 1421:6223633ce7dd
changed VMExit/VMEntries to non-static, added eclipse c++ project, CIR interface changes
author | Lukas Stadler <lukas.stadler@oracle.com> |
---|---|
date | Fri, 23 Jul 2010 15:53:02 -0700 |
parents | 09e7826ecf01 |
children | 2d26b0046e0d |
comparison
equal
deleted
inserted
replaced
1420:44efca8a02d6 | 1421:6223633ce7dd |
---|---|
173 JavaCallArguments args(receiver); | 173 JavaCallArguments args(receiver); |
174 call(&result, method, &args, CHECK); | 174 call(&result, method, &args, CHECK); |
175 } | 175 } |
176 } | 176 } |
177 | 177 |
178 // ============ Interface calls ============ | |
179 | |
180 void JavaCalls::call_interface(JavaValue* result, KlassHandle spec_klass, symbolHandle name, symbolHandle signature, JavaCallArguments* args, TRAPS) { | |
181 CallInfo callinfo; | |
182 Handle receiver = args->receiver(); | |
183 KlassHandle recvrKlass(THREAD, receiver.is_null() ? (klassOop)NULL : receiver->klass()); | |
184 LinkResolver::resolve_interface_call( | |
185 callinfo, receiver, recvrKlass, spec_klass, name, signature, | |
186 KlassHandle(), false, true, CHECK); | |
187 methodHandle method = callinfo.selected_method(); | |
188 assert(method.not_null(), "should have thrown exception"); | |
189 | |
190 // Invoke the method | |
191 JavaCalls::call(result, method, args, CHECK); | |
192 } | |
193 | |
194 | |
178 // ============ Virtual calls ============ | 195 // ============ Virtual calls ============ |
179 | 196 |
180 void JavaCalls::call_virtual(JavaValue* result, KlassHandle spec_klass, symbolHandle name, symbolHandle signature, JavaCallArguments* args, TRAPS) { | 197 void JavaCalls::call_virtual(JavaValue* result, KlassHandle spec_klass, symbolHandle name, symbolHandle signature, JavaCallArguments* args, TRAPS) { |
181 CallInfo callinfo; | 198 CallInfo callinfo; |
182 Handle receiver = args->receiver(); | 199 Handle receiver = args->receiver(); |