[LLVMdev] JITEventListener for eventual profiling and maybe gdb support

Jeffrey Yasskin jyasskin at google.com
Wed Jun 24 12:02:40 PDT 2009

I intend to use this to support oprofile's ability to symbolize JITted
code through the interface described at
http://oprofile.sourceforge.net/doc/devel/jit-interface.html. I
believe the interface will also be useful for gdb support. I'm
considering adding some flags to the JITEventListener to let the JIT
avoid collecting information no listener is going to use, but I won't
do that until there's a need.

I've added EmittedFunctionDetails in this patch so that I don't have
to change the NotifyFunctionEmitted() interface in a future patch. To
record line number information, oprofile wants an array of structs of
the form:

 struct debug_line_info {
       unsigned long vma;
       unsigned int lineno;
       /* The filename format is unspecified, absolute path, relative etc. */
       char const * filename;

so I'll add enough information to produce that to the
EmittedFunctionDetails in a later patch.

Chris mentioned that someone may want to extend this to fire events on
stub emission too.

Let me know what you think.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: event-listener.patch
Type: application/octet-stream
Size: 34354 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20090624/3563eefe/attachment.obj>

More information about the llvm-dev mailing list