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