< prev index next >
src/hotspot/os_cpu/linux_s390/os_linux_s390.cpp
Print this page
rev 51015 : 8207342: error occurred during error reporting (printing register info)
Summary: os::print_location misses a check if the pointer is readable.
Reviewed-by:
@@ -626,11 +626,23 @@
print_hex_dump(st, pc-64, pc+64, /*intrsize=*/4);
st->cr();
}
void os::print_register_info(outputStream *st, const void *context) {
- st->print("Not ported\n");
+ if (context == NULL) return;
+
+ const ucontext_t *uc = (const ucontext_t*)context;
+
+ st->print_cr("Register to memory mapping:");
+ st->cr();
+
+ st->print("pc ="); print_location(st, (intptr_t)uc->uc_mcontext.psw.addr);
+ for (int i = 0; i < 16; i++) {
+ st->print("r%-2d=", i);
+ print_location(st, uc->uc_mcontext.gregs[i]);
+ }
+ st->cr();
}
#ifndef PRODUCT
void os::verify_stack_alignment() {
}
< prev index next >