[LLVMdev] [JIT] JIT trace tree works
clattner at apple.com
Wed Apr 1 22:16:21 PDT 2009
On Apr 1, 2009, at 2:23 PM, Kasra wrote:
>> LLVM directly supports this sort of thing, what is it that you need?
>> Just compile one trace tree to one LLVM function.
> How does it provide tracing?
> My goal it to make the JIT faster at runtime. By tracing I meant,
> optimisation based on the execution of the software.
> For example if a node within the execution tree is rarely used when
> it is
> invoked JIT will do little optimisations and for parts that is used
> frequently multiple optimisations occurs.
Only compile to LLVM IR the pieces of the code that are hot. Cold
pieces just run through the interpreter. Falling off the trace tree
returns to the interpreter. Chaining of traces can be done by having
traces end with indirect tail calls.
More information about the llvm-dev