diff options
| author | Dmitry Antipov | 2012-11-08 18:10:28 +0400 |
|---|---|---|
| committer | Dmitry Antipov | 2012-11-08 18:10:28 +0400 |
| commit | 914adc427f7d1159356e465ec616c65a2ea902af (patch) | |
| tree | a4af121088abea87624dd93640d1deb1dd54ea95 /src/ChangeLog | |
| parent | d14bb752ea51331ce2fb459c6ffacd8b11f80bb0 (diff) | |
| download | emacs-914adc427f7d1159356e465ec616c65a2ea902af.tar.gz emacs-914adc427f7d1159356e465ec616c65a2ea902af.zip | |
Shrink struct vectorlike_header to the only size field.
* lisp.h (enum pvec_type): Avoid explicit enum member values.
Adjust comment.
(enum More_Lisp_Bits): Change PSEUDOVECTOR_SIZE_BITS and
PVEC_TYPE_MASK to arrange new bitfield in the vector header.
(PSEUDOVECTOR_REST_BITS, PSEUDOVECTOR_REST_MASK): New members.
(PSEUDOVECTOR_AREA_BITS): New member used to extract subtype
information from the vector header. Adjust comment.
(XSETPVECTYPE, XSETPVECTYPESIZE, XSETTYPED_PSEUDOVECTOR)
(PSEUDOVECTOR_TYPEP, DEFUN): Adjust to match new vector header
layout.
(XSETSUBR, SUBRP): Adjust to match new Lisp_Subr layout.
(struct vectorlike_header): Remove next member. Adjust comment.
(struct Lisp_Subr): Add convenient header. Adjust comment.
(allocate_pseudovector): Adjust prototype.
* alloc.c (mark_glyph_matrix, mark_face_cache, allocate_string)
(sweep_string, lisp_malloc): Remove useless prototypes.
(enum mem_type): Adjust comment.
(NEXT_IN_FREE_LIST): New macro.
(SETUP_ON_FREE_LIST): Adjust XSETPVECTYPESIZE usage.
(Fmake_bool_vector): Likewise.
(struct large_vector): New type to represent allocation unit for
the vectors with the memory footprint more than VBLOOCK_BYTES_MAX.
(large_vectors): Change type to struct large_vector.
(allocate_vector_from_block): Simplify.
(PSEUDOVECTOR_NBYTES): Replace with...
(vector_nbytes): ...new function. Adjust users.
(sweep_vectors): Adjust processing of large vectors.
(allocate_vectorlike): Likewise.
(allocate_pseudovector): Change type of 3rd arg to enum pvec_type.
Add easserts. Adjust XSETPVECTYPESIZE usage.
(allocate_buffer): Use BUFFER_PVEC_INIT.
(live_vector_p): Adjust to match large vector.
* buffer.c (init_buffer_once): Use BUFFER_PVEC_INIT.
* buffer.h (struct buffer): Add next member.
(BUFFER_LISP_SIZE, BUFFER_REST_SIZE, BUFFER_PVEC_INIT):
New macros.
(FOR_EACH_BUFFER): Adjust to match struct buffer change.
* fns.c (internal_equal): Adjust to match enum pvec_type change.
(copy_hash_table): Adjust to match vector header change.
* lread.c (defsubr): Use XSETPVECTYPE.
* .gdbinit (xpr, xbacktrace): Adjust to match vector header change.
(xvectype): Likewise. Print PVEC_NORMAL_VECTOR for regular vectors.
(xvecsize): New command.
Diffstat (limited to 'src/ChangeLog')
| -rw-r--r-- | src/ChangeLog | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index 291eec18fe9..7ddff43d94d 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,5 +1,52 @@ | |||
| 1 | 2012-11-08 Dmitry Antipov <dmantipov@yandex.ru> | 1 | 2012-11-08 Dmitry Antipov <dmantipov@yandex.ru> |
| 2 | 2 | ||
| 3 | Shrink struct vectorlike_header to the only size field. | ||
| 4 | * lisp.h (enum pvec_type): Avoid explicit enum member values. | ||
| 5 | Adjust comment. | ||
| 6 | (enum More_Lisp_Bits): Change PSEUDOVECTOR_SIZE_BITS and | ||
| 7 | PVEC_TYPE_MASK to arrange new bitfield in the vector header. | ||
| 8 | (PSEUDOVECTOR_REST_BITS, PSEUDOVECTOR_REST_MASK): New members. | ||
| 9 | (PSEUDOVECTOR_AREA_BITS): New member used to extract subtype | ||
| 10 | information from the vector header. Adjust comment. | ||
| 11 | (XSETPVECTYPE, XSETPVECTYPESIZE, XSETTYPED_PSEUDOVECTOR) | ||
| 12 | (PSEUDOVECTOR_TYPEP, DEFUN): Adjust to match new vector header | ||
| 13 | layout. | ||
| 14 | (XSETSUBR, SUBRP): Adjust to match new Lisp_Subr layout. | ||
| 15 | (struct vectorlike_header): Remove next member. Adjust comment. | ||
| 16 | (struct Lisp_Subr): Add convenient header. Adjust comment. | ||
| 17 | (allocate_pseudovector): Adjust prototype. | ||
| 18 | * alloc.c (mark_glyph_matrix, mark_face_cache, allocate_string) | ||
| 19 | (sweep_string, lisp_malloc): Remove useless prototypes. | ||
| 20 | (enum mem_type): Adjust comment. | ||
| 21 | (NEXT_IN_FREE_LIST): New macro. | ||
| 22 | (SETUP_ON_FREE_LIST): Adjust XSETPVECTYPESIZE usage. | ||
| 23 | (Fmake_bool_vector): Likewise. | ||
| 24 | (struct large_vector): New type to represent allocation unit for | ||
| 25 | the vectors with the memory footprint more than VBLOOCK_BYTES_MAX. | ||
| 26 | (large_vectors): Change type to struct large_vector. | ||
| 27 | (allocate_vector_from_block): Simplify. | ||
| 28 | (PSEUDOVECTOR_NBYTES): Replace with... | ||
| 29 | (vector_nbytes): ...new function. Adjust users. | ||
| 30 | (sweep_vectors): Adjust processing of large vectors. | ||
| 31 | (allocate_vectorlike): Likewise. | ||
| 32 | (allocate_pseudovector): Change type of 3rd arg to enum pvec_type. | ||
| 33 | Add easserts. Adjust XSETPVECTYPESIZE usage. | ||
| 34 | (allocate_buffer): Use BUFFER_PVEC_INIT. | ||
| 35 | (live_vector_p): Adjust to match large vector. | ||
| 36 | * buffer.c (init_buffer_once): Use BUFFER_PVEC_INIT. | ||
| 37 | * buffer.h (struct buffer): Add next member. | ||
| 38 | (BUFFER_LISP_SIZE, BUFFER_REST_SIZE, BUFFER_PVEC_INIT): | ||
| 39 | New macros. | ||
| 40 | (FOR_EACH_BUFFER): Adjust to match struct buffer change. | ||
| 41 | * fns.c (internal_equal): Adjust to match enum pvec_type change. | ||
| 42 | (copy_hash_table): Adjust to match vector header change. | ||
| 43 | * lread.c (defsubr): Use XSETPVECTYPE. | ||
| 44 | * .gdbinit (xpr, xbacktrace): Adjust to match vector header change. | ||
| 45 | (xvectype): Likewise. Print PVEC_NORMAL_VECTOR for regular vectors. | ||
| 46 | (xvecsize): New command. | ||
| 47 | |||
| 48 | 2012-11-08 Dmitry Antipov <dmantipov@yandex.ru> | ||
| 49 | |||
| 3 | * keyboard.c (event_to_kboard): Do not dereference | 50 | * keyboard.c (event_to_kboard): Do not dereference |
| 4 | frame_or_window field of SELECTION_REQUEST_EVENT | 51 | frame_or_window field of SELECTION_REQUEST_EVENT |
| 5 | and SELECTION_CLEAR_EVENT events (Bug#12814). | 52 | and SELECTION_CLEAR_EVENT events (Bug#12814). |