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) {