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).


> 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