< prev index next >

src/hotspot/share/utilities/vmError.cpp

Print this page
rev 52073 : 8211852: inspect stack during error reporting
Reviewed-by: dholmes

*** 754,763 **** --- 754,781 ---- if (_verbose && _context) { os::print_context(st, _context); st->cr(); } + STEP("inspecting top of stack") + + // decode stack contents if possible + if (_verbose && _context && Universe::is_fully_initialized()) { + frame fr = os::fetch_frame_from_context(_context); + const int slots = 8; + const intptr_t *start = fr.sp(); + const intptr_t *end = start + slots; + if (is_aligned(start, sizeof(intptr_t)) && os::is_readable_range(start, end)) { + st->print_cr("Stack slot to memory mapping:"); + for (int i = 0; i < slots; ++i) { + st->print("stack at sp + %d slots: ", i); + os::print_location(st, *(start + i)); + } + } + st->cr(); + } + STEP("printing code blob if possible") if (_verbose && _context) { CodeBlob* cb = CodeCache::find_blob(_pc); if (cb != NULL) {
< prev index next >