mirror of
git://git.sv.gnu.org/emacs.git
synced 2025-12-31 01:20:37 -08:00
Fixes Bug#15880. If USE_LSB_TAG, arrange for the representation of Qnil to be zero so that NILP (x) is equivalent to testing whether x is 0 at the machine level. The overall effects of this and the previous patch shrink the size of the text segment by 2.3% and speeds up compilation of all the .elc files by about 0.5% on my platform, which is Fedora 20 x86-64. * lib-src/make-docfile.c (compare_globals): * src/lisp.h (lisp_h_XPNTR, lisp_h_XSYMBOL, lisp_h_XUNTAG) (make_lisp_symbol) [USE_LSB_TAG]: Symbols now tag the difference from lispsym, not the pointer. (lisp_h_XUNTAGBASE, TAG_SYMPTR): New macros. (Lisp_Int0, Lisp_Int1, Lisp_Symbol, Lisp_Misc, Lisp_String, Lisp_Cons): Renumber so that Lisp_Symbol is 0, so that Qnil is zero. (XSYMBOL): New forward decl. (XUNTAGBASE): New function. (XUNTAG): Use it. |
||
|---|---|---|
| .. | ||
| ChangeLog | ||
| COPYING | ||
| ctags.c | ||
| ebrowse.c | ||
| emacsclient.c | ||
| etags.c | ||
| hexl.c | ||
| make-docfile.c | ||
| Makefile.in | ||
| makefile.w32-in | ||
| movemail.c | ||
| ntlib.c | ||
| ntlib.h | ||
| pop.c | ||
| pop.h | ||
| profile.c | ||
| rcs2log | ||
| README | ||
| update-game-score.c | ||
| update-game-score.exe.manifest | ||
This directory contains the source code for the architecture-dependent
files that go in ${archlibdir}. At present, these are mostly utility
programs used by GNU Emacs.