src/os/solaris/vm/os_solaris.cpp
Index
Unified diffs
Context diffs
Sdiffs
Patch
New
Old
Previous File
Next File
warning2 Cdiff src/os/solaris/vm/os_solaris.cpp
src/os/solaris/vm/os_solaris.cpp
Print this page
rev 3821 : [mq]: unused
*** 5795,5814 ****
}
}
//---------------------------------------------------------------------------------
- static address same_page(address x, address y) {
- intptr_t page_bits = -os::vm_page_size();
- if ((intptr_t(x) & page_bits) == (intptr_t(y) & page_bits))
- return x;
- else if (x > y)
- return (address)(intptr_t(y) | ~page_bits) + 1;
- else
- return (address)(intptr_t(y) & page_bits);
- }
-
bool os::find(address addr, outputStream* st) {
Dl_info dlinfo;
memset(&dlinfo, 0, sizeof(dlinfo));
if (dladdr(addr, &dlinfo)) {
#ifdef _LP64
--- 5795,5804 ----
*** 5830,5841 ****
#endif
st->cr();
if (Verbose) {
// decode some bytes around the PC
! address begin = same_page(addr-40, addr);
! address end = same_page(addr+40, addr);
address lowest = (address) dlinfo.dli_sname;
if (!lowest) lowest = (address) dlinfo.dli_fbase;
if (begin < lowest) begin = lowest;
Dl_info dlinfo2;
if (dladdr(end, &dlinfo2) && dlinfo2.dli_saddr != dlinfo.dli_saddr
--- 5820,5831 ----
#endif
st->cr();
if (Verbose) {
// decode some bytes around the PC
! address begin = clamp_address_in_page(addr-40, addr);
! address end = clamp_address_in_page(addr+40, addr);
address lowest = (address) dlinfo.dli_sname;
if (!lowest) lowest = (address) dlinfo.dli_fbase;
if (begin < lowest) begin = lowest;
Dl_info dlinfo2;
if (dladdr(end, &dlinfo2) && dlinfo2.dli_saddr != dlinfo.dli_saddr
src/os/solaris/vm/os_solaris.cpp
Index
Unified diffs
Context diffs
Sdiffs
Patch
New
Old
Previous File
Next File