From owner-cvs-all Tue Apr 30 8:55:44 2002 Delivered-To: cvs-all@freebsd.org Received: from anchor-post-30.mail.demon.net (anchor-post-30.mail.demon.net [194.217.242.88]) by hub.freebsd.org (Postfix) with ESMTP id 896BD37B419; Tue, 30 Apr 2002 08:55:30 -0700 (PDT) Received: from mailgate.nlsystems.com ([62.49.251.130] helo=herring.nlsystems.com) by anchor-post-30.mail.demon.net with esmtp (Exim 3.35 #1) id 172ZyI-000JTJ-0U; Tue, 30 Apr 2002 16:55:18 +0100 Received: from herring (herring [10.0.0.2]) by herring.nlsystems.com (8.12.3/8.11.2) with ESMTP id g3UFrxB9056061; Tue, 30 Apr 2002 16:53:59 +0100 (BST) (envelope-from dfr@nlsystems.com) Date: Tue, 30 Apr 2002 16:53:59 +0100 (BST) From: Doug Rabson To: Marcel Moolenaar Cc: cvs-committers@FreeBSD.org, Subject: Re: cvs commit: src/sys/ia64/ia64 exception.s src/sys/ia64/include frame.h In-Reply-To: <200204300637.g3U6bQc25956@freefall.freebsd.org> Message-ID: <20020430165257.M25863-100000@herring.nlsystems.com> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-cvs-all@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG 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