Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 30 Apr 2002 16:53:59 +0100 (BST)
From:      Doug Rabson <dfr@nlsystems.com>
To:        Marcel Moolenaar <marcel@FreeBSD.org>
Cc:        cvs-committers@FreeBSD.org, <cvs-all@FreeBSD.org>
Subject:   Re: cvs commit: src/sys/ia64/ia64 exception.s src/sys/ia64/include frame.h
Message-ID:  <20020430165257.M25863-100000@herring.nlsystems.com>
In-Reply-To: <200204300637.g3U6bQc25956@freefall.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, 29 Apr 2002, Marcel Moolenaar wrote:

> marcel      2002/04/29 23:37:25 PDT
>
>   Modified files:
>     sys/ia64/ia64        exception.s
>     sys/ia64/include     frame.h
>   Log:
>   Add ar.lc and ar.ec to the trapframe. These are not saved for syscalls,
>   only for exceptions.

I was kind-of relying on the C calling conventions saving/restoring these
as needed.

>
>   While adding this to exception_save and exception_restore, it was hard
>   to find a good place to put the instructions. The code sequence was
>   sufficiently arbitrarily ordered that the density was low (roughly 67%).
>   No explicit bundling was used.
>   Thus, I rewrote the functions to optimize for density (close to 80% now),
>   and added explicit bundles and nop instructions. The immediate operand
>   on the nop instruction has been incremented with each instance, to make
>   debugging a bit easier when looking at recurring patterns. Redundant
>   stops have been removed as much as possible. Future optimizations can
>   focus more on performance. A well-placed lfetch can make all the
>   difference here!

Hey, cool! I've been planning to have a go at that for a long while.

>
>   Also, the FRAME_Fxx defines in frame.h were mostly bogus. FRAME_F10 to
>   FRAME_F15 were copied from FRAME_F9 and still had the same index. We
>   don't use them yet, so nothing was broken.

Oops.

-- 
Doug Rabson				Mail:  dfr@nlsystems.com
					Phone: +44 20 8348 6160



To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe cvs-all" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20020430165257.M25863-100000>