search for: __jitsymboltable

Displaying 7 results from an estimated 7 matches for "__jitsymboltable".

2009 Jun 24
3
[LLVMdev] [llvm-commits] JITEventListener for eventual profiling and maybe gdb support
...ess range it occupies. This allows the client to map +/// from a PC value to the name of the function. +struct JitSymbolEntry { A nitpick. Please rename it to "JITSymbolEntry" for naming consistency. + +// This is a public symbol so the performance tools can find it. +JitSymbolTable *__jitSymbolTable; + Hmm. Is there a better solution? From what I can tell, the event listener is responsible for allocating symbol table memory so it effectively owns it. Can we register the address with the performance tools? We're pushing to be more thread safe. +struct FunctionEmittedEvent { + // In...
2009 Jun 25
0
[LLVMdev] [llvm-commits] JITEventListener for eventual profiling and maybe gdb support
...a PC value to the name of the function. > +struct JitSymbolEntry { > > A nitpick. Please rename it to "JITSymbolEntry" for naming consistency. Done, although this is just a move. > + > +// This is a public symbol so the performance tools can find it. > +JitSymbolTable *__jitSymbolTable; > + > > Hmm. Is there a better solution? From what I can tell, the event > listener is responsible for allocating symbol table memory so it > effectively owns it. Can we register the address with the performance > tools? We're pushing to be more thread safe. As Eric said, th...
2009 Jan 27
1
[LLVMdev] Newbie question: Getting info about JIT-compiled function
...onPassManager to do some optimization passes, and then call ExecutionEngine::getPointerToFunction() to get a native-code version of the function. Everything works fine so far. Two questions: Question (1): How can I get the size of the native function? I see that the information is stored in the __jitSymbolTable structure in JITEmitter.cpp, but I don't see any interface to query this symbol table. I see AddFunctionToSymbolTable() and RemoveFunctionFromSymbolTable(), but not any equivalent of GetFunctionFromSymbolTable(). Is there a supported way to get at the JitSymbolEntry for a function? If not, i...
2009 Jan 28
1
[LLVMdev] Newbie question: Getting info about JIT-compiled function
...; ExecutionEngine::getPointerToFunction() to get a native-code version > > of the function. Everything works fine so far. > > > > Two questions: > > > > Question (1): How can I get the size of the native function? I see > > that the information is stored in the __jitSymbolTable structure in > > JITEmitter.cpp, but I don't see any interface to query this symbol > > table. I see AddFunctionToSymbolTable() and > > RemoveFunctionFromSymbolTable(), but not any equivalent of > > GetFunctionFromSymbolTable(). Is there a supported way to get at >...
2009 Jun 24
0
[LLVMdev] JITEventListener for eventual profiling and maybe gdb support
Ack, sorry. I should have sent this to llvm-commits instead. :-P Followups there please. On Wed, Jun 24, 2009 at 12:02 PM, Jeffrey Yasskin<jyasskin at google.com> wrote: > 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
2009 Mar 31
2
[LLVMdev] Connecting JITted code to gdb
I'm adding the gdb list because it appears there's currently no way to tell gdb about newly-JITted code. That is, it's not an LLVM-specific problem. There appear to be two techniques in common use to debug dynamically-generated code despite this. First, as Evan suggests below, we can have the JIT print the address range that it's written a function into, have gdb disassemble that,
2009 Jun 24
2
[LLVMdev] JITEventListener for eventual profiling and maybe gdb support
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