Closed
Bug 777828
Opened 12 years ago
Closed 3 years ago
Refactor the profiler stack unwinding facility to expose deadstack/location structure
Categories
(Core :: Gecko Profiler, defect)
Tracking
()
RESOLVED
INACTIVE
People
(Reporter: BenWa, Unassigned)
References
Details
We often want to know the source of a call grammatically but are not interested in profiling. It would be nice to have something like
struct frame {
// If we have an API to resolve the symbol in process,
// otherwise you need to symbolicate it using addr2line
// or a symbol server.
char* symbol_name;
char* library_name;
void* library_offset;
};
frame[] GeckoGetBacktrace();
which would return something like:
main()
process_event()
js_foo()
js_draw_canvas()
or if you don't have an API to symbolicate:
0x<ADDRESS>
0x<ADDRESS>
js_foo()
js_draw_canvas()
Comment 1•12 years ago
|
||
Yeah, within SpiderMonkey itself we have about a dozen potential applications for a "dead stack" data structure: just a record of where execution was, not live frames or anything like that. If you can refactor this stack unwinding facility, that's what it should produce. We can make sure it can include C++ frames, too.
Reporter | ||
Updated•11 years ago
|
Summary: Refactor the profiler stack unwinding facility to work outside the of profiling → Refactor the profiler stack unwinding facility to expose deadstack/location structure
Status: NEW → RESOLVED
Closed: 3 years ago
Resolution: --- → INACTIVE
You need to log in
before you can comment on or make changes to this bug.
Description
•