Quoting Steve Reinhardt <ste...@gmail.com>:

> On Tue, Apr 28, 2009 at 10:21 AM, nathan binkert <n...@binkert.org> wrote:
>
>> Realistically, I don't see it being more complicated since you'd just
>> be replacing traceData with foo->traceData.  Efficiency is
>> questionable as well since that traceData had to come from somewhere.
>
>
> I think the difference is that passing it in explicitly means that you could
> keep it in a register for the duration of the function, and if you can put
> it in a callee-save then maybe you could save a few dereferences.  In
> contrast the indirection would have to be repeated after every function call
> (which is exactly the behavior we'd be relying on here).
>

Wouldn't we need to make it xc->traceData() to allow for all the  
redirection we've got in there?

>
>> Futhermore, the traceData parameter has to be provided even in m5.fast
>> which means we pay extra then.
>
>
> That's a good point; it's probably worth paying the (at best negligible,
> possibly illusory) penalty in the debug versions to avoid this unnecessary
> overhead in m5.fast.
>
>
>> Steve, do you have any idea why this
>> happened?  My guess is that it's just historical and that traceData
>> came from somewhere else at some point.
>
>
> Yea, I believe it's just historical.
>
> Steve
>


_______________________________________________
m5-dev mailing list
m5-dev@m5sim.org
http://m5sim.org/mailman/listinfo/m5-dev

Reply via email to