This is the mail archive of the egcs@egcs.cygnus.com mailing list for the EGCS project. See the EGCS home page for more information.
> > The two adds appear to be an artefact of the nested function calls. This > > appears to be a bug: it causes the stack to become unaligned in the > > presence of nested function calls. Ugh :-( > A minor Ugh. :-) Nested function calls are uncommon to normal function > calls. I don't mind nested functions running slower :-) > > Of course if we can fix it easily, we ought to. I haven't looked how hard it would be. At the moment I have too little spare time to do anything interesting. Probably we can fix it by using some global information about the current stack alignment which would need to be kept accurate through every action performed by expand_call. We could also precalculate arguments when they require calls. > > I sent a patch to egcs-patches to implement the necessary changes in i386.c > > one or two months ago. You should be able to find it in the archives. Of > > course, it won't work as long as calls.c generates the above bogosity. > I remember the patch, but I thought you said it wasn't actually meant to > be installed, just for folks to start playing with? Exactly. As long as no one demonstrates that the patch has a positive effect, there is no reason to install it. I mentioned it so that John could avoid duplicating the effort. > Did you get any feedback? Toon Moene ran some benchmarks, but did not get conclusive results. All messages related to this are in the December egcs-patches archive, for those who are interested. Bernd