At 4:54 PM +0200 5/26/04, Leopold Toetsch wrote:
Piers Cawley wrote:

But under this scheme, the implementing function will have to do a saveall for every function it calls because it doesn't know what registers its caller cares about. And you're almost certainly going to want to call other functions to do the heavy lifting for all the usual reasons of code reuse.

Yep that's true. As well as with real caller saves. Which leads back to my (almost) warnocked "proposal":

If you want to go back to a frame pointer style of register stack access, that's doable, but that's the way it was in the beginning and the performance penalties in normal code outweighed the savings in stack pushes.


If you want to try it again to see if things are different I don't care, so long as the semantics expressed to the bytecode programs don't change. It will invalidate all the current JIT code on all the platforms so it's a not-insignificant thing to do. I also don't think we've sufficient real code to judge performance, so I think it's a bit premature to worry about it.
--
Dan


--------------------------------------"it's like this"-------------------
Dan Sugalski                          even samurai
[EMAIL PROTECTED]                         have teddy bears and even
                                      teddy bears get drunk

Reply via email to