--- a/src/hotspot/share/runtime/os.cpp Wed Jan 30 18:21:06 2019 +0000
+++ b/src/hotspot/share/runtime/os.cpp Wed Jan 30 19:45:10 2019 +0100
@@ -885,11 +885,15 @@
address p = start;
st->print(PTR_FORMAT ": ", p2i(start));
while (p < end) {
- switch (unitsize) {
- case 1: st->print("%02x", *(u1*)p); break;
- case 2: st->print("%04x", *(u2*)p); break;
- case 4: st->print("%08x", *(u4*)p); break;
- case 8: st->print("%016" FORMAT64_MODIFIER "x", *(u8*)p); break;
+ if (is_readable_pointer(p)) {
+ switch (unitsize) {
+ case 1: st->print("%02x", *(u1*)p); break;
+ case 2: st->print("%04x", *(u2*)p); break;
+ case 4: st->print("%08x", *(u4*)p); break;
+ case 8: st->print("%016" FORMAT64_MODIFIER "x", *(u8*)p); break;
+ }
+ } else {
+ st->print("%*.*s", 2*unitsize, 2*unitsize, "????????????????");
}
p += unitsize;
cols++;