--- a/hotspot/src/cpu/ppc/vm/nativeInst_ppc.cpp Mon Jan 06 11:02:21 2014 +0100
+++ b/hotspot/src/cpu/ppc/vm/nativeInst_ppc.cpp Tue Jan 07 17:24:59 2014 +0100
@@ -71,7 +71,7 @@
if (nm->stub_contains(destination) && is_NativeCallTrampolineStub_at(destination)) {
// Yes we do, so get the destination from the trampoline stub.
const address trampoline_stub_addr = destination;
- destination = NativeCallTrampolineStub_at(trampoline_stub_addr)->destination();
+ destination = NativeCallTrampolineStub_at(trampoline_stub_addr)->destination(nm);
}
return destination;
@@ -371,8 +371,8 @@
return instruction_addr;
}
-address NativeCallTrampolineStub::destination() const {
- CodeBlob* cb = CodeCache::find_blob(addr_at(0));
+address NativeCallTrampolineStub::destination(nmethod *nm) const {
+ CodeBlob* cb = nm ? nm : CodeCache::find_blob_unsafe(addr_at(0));
address ctable = cb->content_begin();
return *(address*)(ctable + destination_toc_offset());