[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Redundant type checking in window.c and w32menu.c
From: |
Dmitry Antipov |
Subject: |
Redundant type checking in window.c and w32menu.c |
Date: |
Tue, 19 Jun 2007 18:44:26 +0400 |
User-agent: |
Thunderbird 1.5.0.7 (X11/20061008) |
If we pass CHECK_CONS(), we don't need CONSP()s in Fcar() and Fcdr() and may
use XCAR()
and XCDR() instead.
Dmitry
P.S. Is code size the only reason to call Fcar(), Fcdr() and their safe
versions directly
from C code ? Replacing these dumb proxies with an appropriate macros
eliminates a lot of
function calls at the cost of ~28K increment in code size (for a stripped
binary on x86).
Note if someone needs smaller emacs executable (what a strange requirement, but
why not ?),
just replacing -O2 with -Os saves ~235K.
P.P.S. Maintainers, please update my e-mail to address@hidden in src/ChangeLog -
address@hidden is no longer used.
Index: window.c
===================================================================
RCS file: /sources/emacs/emacs/src/window.c,v
retrieving revision 1.577
diff -u -r1.577 window.c
--- window.c 1 Jun 2007 10:57:37 -0000 1.577
+++ window.c 19 Jun 2007 14:05:32 -0000
@@ -942,8 +942,8 @@
w = XWINDOW (window);
f = XFRAME (w->frame);
CHECK_CONS (coordinates);
- lx = Fcar (coordinates);
- ly = Fcdr (coordinates);
+ lx = XCAR (coordinates);
+ ly = XCDR (coordinates);
CHECK_NUMBER_OR_FLOAT (lx);
CHECK_NUMBER_OR_FLOAT (ly);
x = FRAME_PIXEL_X_FROM_CANON_X (f, lx) + FRAME_INTERNAL_BORDER_WIDTH (f);
Index: w32menu.c
===================================================================
RCS file: /sources/emacs/emacs/src/w32menu.c,v
retrieving revision 1.90
diff -u -r1.90 w32menu.c
--- w32menu.c 17 Jun 2007 22:10:06 -0000 1.90
+++ w32menu.c 19 Jun 2007 14:05:32 -0000
@@ -605,7 +605,7 @@
else
{
CHECK_CONS (item);
- item1 = Fcar (item);
+ item1 = XCAR (item);
CHECK_STRING (item1);
push_menu_item (item1, Qt, Fcdr (item), Qt, Qnil, Qnil, Qnil, Qnil);
}
- Redundant type checking in window.c and w32menu.c,
Dmitry Antipov <=
- Re: Redundant type checking in window.c and w32menu.c, Ken Raeburn, 2007/06/19
- Re: Redundant type checking in window.c and w32menu.c, Dmitry Antipov, 2007/06/20
- Re: Redundant type checking in window.c and w32menu.c, Jason Rumney, 2007/06/20
- Re: Redundant type checking in window.c and w32menu.c, dmantipov, 2007/06/20
- Re: Redundant type checking in window.c and w32menu.c, Jason Rumney, 2007/06/20
- Re: Redundant type checking in window.c and w32menu.c, Dmitry Antipov, 2007/06/21
- Re: Redundant type checking in window.c and w32menu.c, Ken Raeburn, 2007/06/21
- Re: Redundant type checking in window.c and w32menu.c, Tom Tromey, 2007/06/20
Re: Redundant type checking in window.c and w32menu.c, Stefan Monnier, 2007/06/19