Path: utzoo!utgpu!attcan!uunet!munnari!jkjl From: jkjl@munnari.oz (John Lim) Newsgroups: comp.arch Subject: Re: register save/restore Message-ID: <2557@munnari.oz> Date: 3 Nov 88 05:56:35 GMT References: <3300037@m.cs.uiuc.edu> <5938@killer.DALLAS.TX.US> <7580@aw.sei.cmu.edu> Reply-To: jkjl@munnari.UUCP (John Lim) Organization: Comp Sci, Melbourne Uni, Australia Lines: 21 One issue about the caller/callee saves argument that hasnt been brought up is code size. Callee saves minimizes code size. For example in C : a() {} b() {} c() {} f() {a();b();c();} g() {b();a();c();} If caller saves, assuming that saves and restores take 1 instruction each, we get 12 save/restore instructions used for the above code. If callee saves, we get 6 save/restore instructions needed only. Not too important you might think, but i remember that M'soft used the pascal calling convention in Windows to save 5% (if i remember) of code, which is similar in principle to the caller/callee argument. Luckily, this isn't so much of an issue when you arent confined to 640K of mem... john lim