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>
