Date: Fri, 19 May 2000 00:07:20 -0600 From: Wes Peters <wes@softweyr.com> To: Terry Lambert <tlambert@primenet.com> Cc: Chuck Paterson <cp@bsdi.com>, Doug Rabson <dfr@nlsystems.com>, arch@FreeBSD.ORG Subject: Re: Sparc & api for asynchronous task execution (2) Message-ID: <3924DA18.392990EA@softweyr.com> References: <200005182045.NAA21595@usr08.primenet.com>
next in thread | previous in thread | raw e-mail | index | archive | help
Terry Lambert wrote: > > > }I didn't realize that every function call involved a fault on the sparc > > }architecture - that sounds pretty nasty. > > > > Actually every function call doesn't cause a fault, every > > time you overflow/underflow the current set of register windows causes a > > fault. (Perhaps what you meant). This means that calling a function > > from the bottom most function will cause two faults, one for going down > > and one eventually as you go up. > > > > This makes going up and down when you don't overflow > > very fast at the expense of when you add to the total depth. The register window sizes weren't picked willy-nilly. The SPARC default size is 7 windows, chosen after months of analyzing every M68K SunOS program they could get their hands, including compiled C, Pascal, LISP, and Fortran programs. I suspect C++ and Java probably skew these stats a little. This might account for the 8 windows in more modern SPARC processors. -- "Where am I, and what am I doing in this handbasket?" Wes Peters Softweyr LLC wes@softweyr.com http://softweyr.com/ To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-arch" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3924DA18.392990EA>