Date: Mon, 29 Apr 2002 23:37:26 -0700 (PDT) From: Marcel Moolenaar <marcel@FreeBSD.org> To: cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/sys/ia64/ia64 exception.s src/sys/ia64/include frame.h Message-ID: <200204300637.g3U6bQc25956@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200204300637.g3U6bQc25956>