diff options
Diffstat (limited to 'src/ChangeLog')
| -rw-r--r-- | src/ChangeLog | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index 62737994747..b068056667b 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,5 +1,23 @@ | |||
| 1 | 2015-01-05 Paul Eggert <eggert@cs.ucla.edu> | 1 | 2015-01-05 Paul Eggert <eggert@cs.ucla.edu> |
| 2 | 2 | ||
| 3 | Use 0 for Qnil | ||
| 4 | Fixes Bug#15880. | ||
| 5 | If USE_LSB_TAG, arrange for the representation of Qnil to be zero so | ||
| 6 | that NILP (x) is equivalent to testing whether x is 0 at the | ||
| 7 | machine level. The overall effects of this and the previous patch | ||
| 8 | shrink the size of the text segment by 2.3% and speeds up | ||
| 9 | compilation of all the .elc files by about 0.5% on my platform, | ||
| 10 | which is Fedora 20 x86-64. | ||
| 11 | * lisp.h (lisp_h_XPNTR, lisp_h_XSYMBOL, lisp_h_XUNTAG) | ||
| 12 | (make_lisp_symbol) [USE_LSB_TAG]: | ||
| 13 | Symbols now tag the difference from lispsym, not the pointer. | ||
| 14 | (lisp_h_XUNTAGBASE, TAG_SYMPTR): New macros. | ||
| 15 | (Lisp_Int0, Lisp_Int1, Lisp_Symbol, Lisp_Misc, Lisp_String, Lisp_Cons): | ||
| 16 | Renumber so that Lisp_Symbol is 0, so that Qnil is zero. | ||
| 17 | (XSYMBOL): New forward decl. | ||
| 18 | (XUNTAGBASE): New function. | ||
| 19 | (XUNTAG): Use it. | ||
| 20 | |||
| 3 | Compute C decls for DEFSYMs automatically | 21 | Compute C decls for DEFSYMs automatically |
| 4 | Fixes Bug#15880. | 22 | Fixes Bug#15880. |
| 5 | This patch also makes Q constants (e.g., Qnil) constant addresses | 23 | This patch also makes Q constants (e.g., Qnil) constant addresses |