Mercurial > hg > graal-jvmci-8
comparison src/share/vm/c1x/c1x_VMEntries.cpp @ 1477:30e1f67703da
Fix for failed method lookup.
author | Thomas Wuerthinger <wuerthinger@ssw.jku.at> |
---|---|
date | Fri, 26 Nov 2010 13:52:15 +0100 |
parents | ef7761803480 |
children | 71cd4b9610eb |
comparison
equal
deleted
inserted
replaced
1476:1f81c0d18c75 | 1477:30e1f67703da |
---|---|
312 // public RiMethod RiType_resolveMethodImpl(long vmId, String name, String signature); | 312 // public RiMethod RiType_resolveMethodImpl(long vmId, String name, String signature); |
313 JNIEXPORT jobject JNICALL Java_com_sun_hotspot_c1x_VMEntries_RiType_3resolveMethodImpl(JNIEnv *, jobject, jlong vmId, jstring name, jstring signature) { | 313 JNIEXPORT jobject JNICALL Java_com_sun_hotspot_c1x_VMEntries_RiType_3resolveMethodImpl(JNIEnv *, jobject, jlong vmId, jstring name, jstring signature) { |
314 VM_ENTRY_MARK; | 314 VM_ENTRY_MARK; |
315 | 315 |
316 klassOop klass = VmIds::get<klassOop>(vmId); | 316 klassOop klass = VmIds::get<klassOop>(vmId); |
317 methodOop method = klass->klass_part()->lookup_method(VmIds::toSymbol(name), VmIds::toSymbol(signature)); | 317 symbolOop name_symbol = VmIds::toSymbol(name); |
318 symbolOop signature_symbol = VmIds::toSymbol(signature); | |
319 methodOop method = klass->klass_part()->lookup_method(name_symbol, signature_symbol); | |
320 if (method == NULL) { | |
321 if (TraceC1X >= 3) { | |
322 ResourceMark rm; | |
323 tty->print_cr("Could not resolve method %s %s on klass %d", name_symbol->as_C_string(), signature_symbol->as_C_string(), klass->klass_part()->name()->as_C_string()); | |
324 } | |
325 return NULL; | |
326 } | |
318 return JNIHandles::make_local(THREAD, VMExits::createRiMethodResolved(VmIds::add<methodOop>(method), Handle(JNIHandles::resolve(name)), THREAD)); | 327 return JNIHandles::make_local(THREAD, VMExits::createRiMethodResolved(VmIds::add<methodOop>(method), Handle(JNIHandles::resolve(name)), THREAD)); |
319 } | 328 } |
320 | 329 |
321 // public boolean RiType_isSubtypeOf(long vmId, RiType other); | 330 // public boolean RiType_isSubtypeOf(long vmId, RiType other); |
322 JNIEXPORT jboolean JNICALL Java_com_sun_hotspot_c1x_VMEntries_RiType_2isSubtypeOf(JNIEnv *, jobject, jlong vmId, jobject jother) { | 331 JNIEXPORT jboolean JNICALL Java_com_sun_hotspot_c1x_VMEntries_RiType_2isSubtypeOf(JNIEnv *, jobject, jlong vmId, jobject jother) { |