Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!watmath!clyde!burl!ulysses!allegra!princeton!orsvax1!pyrnj!caip!cbmvax!grr From: grr@cbmvax.cbm.UUCP (George Robbins) Newsgroups: net.lang.c Subject: Re: Boolean Operators Slighted in C (Really arguments in registers) Message-ID: <227@cbmvax.cbmvax.cbm.UUCP> Date: Sun, 11-May-86 21:26:30 EDT Article-I.D.: cbmvax.227 Posted: Sun May 11 21:26:30 1986 Date-Received: Tue, 13-May-86 03:31:14 EDT References: <778@bentley.UUCP> <791@bentley.UUCP> <268@valid.UUCP> <357@pyramid.UUCP> Reply-To: grr@cbmvax.UUCP (George Robbins) Organization: Commodore Technology, West Chester, PA Lines: 38 In article <357@pyramid.UUCP> wendyt@pyramid.UUCP (Wendy Thrash) writes: [...] >I don't want to quote too much of the original article -- it was rather long. >The thrust of it was that passing parameters in registers doesn't make things >run faster. This does not fit with my experience. When we implemented >parameter passing in registers at Zilog, it was a big win. *WAS* a big win - meaning maybe it looked good on benchmarks... [...] >I will admit that this parameter passing caused difficulties. In particular, >varargs code was messy, and debuggers more difficult to implement. Was it >worth it? I believe so. Our emphasis was on speed, and that we had. 1) pdp-11 style varargs was broken - no way from C to get a those arguments that got crammed into registers. 2) Because of the register assignment scheme used, you couldn't even blindly pass a list of variable arguments to a routine like printf that did know how to deal with them. 3) setjmp/longjmp got broken with respect to restoring register variable parameters somewhere along the way. In the long run, portability seems to have become the more important issue: Just try porting some of the code in mod.sources and net.sources to the machine and see how far you can get without having to go into the editor and start whacking at source code. Assume that software developers will have the same problems porting their wares... Also, note that Zilog has never delivered its ATT SVID blessed System V port, and that their next series of machines will contain ATT chips running vanilla 3Bx software... -- George Robbins - now working with, uucp: {ihnp4|seismo|caip}!cbmvax!grr but no way officially representing arpa: cbmvax!grr@seismo.css.GOV Commodore, Engineering Department fone: 215-431-9255 (only by moonlite)