7003748: Decode C stack frames when symbols are presented (PhoneHome project)

Implemented in-process C native stack frame decoding when symbols are available.

Reviewed-by: coleenp, never
This commit is contained in:
Zhengyu Gu 2010-12-11 13:20:56 -05:00
parent 8006fe8f75
commit 61a4658b22
17 changed files with 1177 additions and 34 deletions

View file

@ -33,6 +33,7 @@
#include "runtime/vmThread.hpp"
#include "runtime/vm_operations.hpp"
#include "utilities/debug.hpp"
#include "utilities/decoder.hpp"
#include "utilities/defaultStream.hpp"
#include "utilities/top.hpp"
#include "utilities/vmError.hpp"
@ -516,8 +517,10 @@ void VMError::report(outputStream* st) {
if (fr.pc()) {
st->print_cr("Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)");
int count = 0;
// initialize decoder to decode C frames
Decoder decoder;
int count = 0;
while (count++ < StackPrintLimit) {
fr.print_on_error(st, buf, sizeof(buf));
st->cr();