[llvm-commits] [PATCH] Generate info about the JIT process

Chris Lattner clattner at apple.com
Wed May 13 10:21:41 PDT 2009


On May 13, 2009, at 2:20 AM, Argiris Kirtzidis wrote:
>> Thats basically what MachineCodeInfo enables. ATM, there are only 2
>> things it publishes directly to the MCI, but future APIs can easily  
>> be
>> added using virtual methods to allow for subclasses of  
>> MachineCodeInfo
>> to do new things.
>>
>> This is far from a final set of things MCI will do, it's primarily a
>> way of introduce an API that we can add future things to.
>
> Ok, that sounds great. It's just that MachineCodeInfo is restricted to
> the "function level", how about "module level" info, specifically
> getting notifications during code execution like:
> -"I lazy JITed this function"
> -"I allocated this memory chunk for this global variable"
>
> Of course, MachineCodeInfo could be the one for the "function level"  
> and
> something like "JITListener" at the module level. The JITListener  
> could
> have a method that passes a MachineCodeInfo before function JITing.  
> IMO
> this is flexible and clean.

I agree with Argiris: there should be a simple abstract interface with  
methods like the above.  The JIT should have an optional pointer to  
it.  If non-null, it would invoke the methods on the JITListener.   
This would allow lots of detailed instrumentation, but would introduce  
no overhead if it's not being used.

-Chris



More information about the llvm-commits mailing list