From owner-cvs-all Mon Apr 29 23:37:32 2002 Delivered-To: cvs-all@freebsd.org Received: from freefall.freebsd.org (freefall.FreeBSD.org [216.136.204.21]) by hub.freebsd.org (Postfix) with ESMTP id C842737B41C; Mon, 29 Apr 2002 23:37:26 -0700 (PDT) Received: (from marcel@localhost) by freefall.freebsd.org (8.11.6/8.11.6) id g3U6bQc25956; Mon, 29 Apr 2002 23:37:26 -0700 (PDT) (envelope-from marcel) Message-Id: <200204300637.g3U6bQc25956@freefall.freebsd.org> From: Marcel Moolenaar Date: Mon, 29 Apr 2002 23:37:26 -0700 (PDT) To: cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/sys/ia64/ia64 exception.s src/sys/ia64/include frame.h X-FreeBSD-CVS-Branch: HEAD 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 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. 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! 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. Revision Changes Path 1.34 +458 -171 src/sys/ia64/ia64/exception.s 1.4 +13 -10 src/sys/ia64/include/frame.h To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe cvs-all" in the body of the message