Skip site navigation (1)Skip section navigation (2)
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>