--- old/src/share/vm/code/relocInfo.cpp 2011-12-15 13:31:18.215090606 +0100 +++ new/src/share/vm/code/relocInfo.cpp 2011-12-15 13:31:17.961962731 +0100 @@ -911,7 +911,7 @@ } -address opt_virtual_call_Relocation::static_stub() { +address virtual_call_Relocation::static_stub() { // search for the static stub who points back to this static call address static_call_addr = addr(); RelocIterator iter(code()); @@ -925,6 +925,19 @@ return NULL; } +address opt_virtual_call_Relocation::static_stub() { + // search for the static stub who points back to this static call + address static_call_addr = addr(); + RelocIterator iter(code()); + while (iter.next()) { + if (iter.type() == relocInfo::static_stub_type) { + if (iter.static_stub_reloc()->static_call() == static_call_addr) { + return iter.addr(); + } + } + } + return NULL; +} void static_call_Relocation::clear_inline_cache() { // Safe call site info