src/hotspot/share/utilities/vmError.cpp
changeset 52115 9e6158f12068
parent 52109 101c2b6eacbe
child 52148 2d9f8845d0ae
--- a/src/hotspot/share/utilities/vmError.cpp	Sun Oct 14 19:07:34 2018 -0700
+++ b/src/hotspot/share/utilities/vmError.cpp	Mon Oct 15 08:08:02 2018 +0200
@@ -756,6 +756,24 @@
        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) {