# HG changeset patch # User Thomas Wuerthinger # Date 1290775935 -3600 # Node ID 30e1f67703da344fcea78f01cd51b22c2ba09bd1 # Parent 1f81c0d18c75940be65cb98ba27725fd1e422af9 Fix for failed method lookup. diff -r 1f81c0d18c75 -r 30e1f67703da src/share/vm/c1x/c1x_VMEntries.cpp --- a/src/share/vm/c1x/c1x_VMEntries.cpp Fri Nov 26 12:12:35 2010 +0100 +++ b/src/share/vm/c1x/c1x_VMEntries.cpp Fri Nov 26 13:52:15 2010 +0100 @@ -314,7 +314,16 @@ VM_ENTRY_MARK; klassOop klass = VmIds::get(vmId); - methodOop method = klass->klass_part()->lookup_method(VmIds::toSymbol(name), VmIds::toSymbol(signature)); + symbolOop name_symbol = VmIds::toSymbol(name); + symbolOop signature_symbol = VmIds::toSymbol(signature); + methodOop method = klass->klass_part()->lookup_method(name_symbol, signature_symbol); + if (method == NULL) { + if (TraceC1X >= 3) { + ResourceMark rm; + 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()); + } + return NULL; + } return JNIHandles::make_local(THREAD, VMExits::createRiMethodResolved(VmIds::add(method), Handle(JNIHandles::resolve(name)), THREAD)); }