8058345: Refactor native stack printing from vmError.cpp to debug.cpp to make it available in gdb as well

Also fix stack trace on x86 to enable walking of runtime stubs and native wrappers

Reviewed-by: kvn
This commit is contained in:
Volker Simonis 2014-09-24 12:19:07 -07:00
parent f85f7d2832
commit a1628426d3
12 changed files with 117 additions and 41 deletions

View file

@ -68,6 +68,15 @@ class frame VALUE_OBJ_CLASS_SPEC {
// Constructors
frame();
#ifndef PRODUCT
// This is a generic constructor which is only used by pns() in debug.cpp.
// pns (i.e. print native stack) uses this constructor to create a starting
// frame for stack walking. The implementation of this constructor is platform
// dependent (i.e. SPARC doesn't need an 'fp' argument an will ignore it) but
// we want to keep the signature generic because pns() is shared code.
frame(void* sp, void* fp, void* pc);
#endif
// Accessors
// pc: Returns the pc at which this frame will continue normally.