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

Argiris Kirtzidis akyrtzi at gmail.com
Mon May 18 14:13:28 PDT 2009


Hi Evan,

I commited the patch, thanks!

-Argiris


Evan Phoenix wrote:
> I haven't heard anything from Argiris, or any other thoughts on what 
> the JITListener would look like. I hesitate to write such a thing 
> without an idea of what people want, so I'm hoping we can commit my 
> patch as is.
>
> When there is more discussion about the JITListener, it will be easy 
> to make MachineCodeInfo sit on top of it without any external API 
> changes.
>
> I've attached an updated version of the patch against SVN HEAD.
>
>  - Evan
>
>
>
> On May 13, 2009, at 10:21 AM, Chris Lattner wrote:
>
>> 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
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
>   



More information about the llvm-commits mailing list