Mercurial > hg > truffle
changeset 1477:30e1f67703da
Fix for failed method lookup.
author | Thomas Wuerthinger <wuerthinger@ssw.jku.at> |
---|---|
date | Fri, 26 Nov 2010 13:52:15 +0100 |
parents | 1f81c0d18c75 |
children | 5571b97fc1ec |
files | src/share/vm/c1x/c1x_VMEntries.cpp |
diffstat | 1 files changed, 10 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- 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<klassOop>(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<methodOop>(method), Handle(JNIHandles::resolve(name)), THREAD)); }