diff options
Diffstat (limited to 'src/ChangeLog')
| -rw-r--r-- | src/ChangeLog | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index e16da43761f..bebb36b50a8 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,3 +1,28 @@ | |||
| 1 | 2012-06-08 Dmitry Antipov <dmantipov@yandex.ru> | ||
| 2 | |||
| 3 | Block-based vector allocation of small vectors. | ||
| 4 | * lisp.h (struct vectorlike_header): New field `nbytes', | ||
| 5 | adjust comment accordingly. | ||
| 6 | * alloc.c (enum mem_type): New type `MEM_TYPE_VECTOR_BLOCK' | ||
| 7 | to denote vector blocks. Adjust users (live_vector_p, | ||
| 8 | mark_maybe_pointer, valid_lisp_object_p) accordingly. | ||
| 9 | (COMMON_MULTIPLE): Move outside #if USE_LSB_TAG. | ||
| 10 | (VECTOR_BLOCK_SIZE, vroundup, VECTOR_BLOCK_BYTES), | ||
| 11 | (VBLOCK_BYTES_MIN, VBLOCK_BYTES_MAX, VECTOR_MAX_FREE_LIST_INDEX), | ||
| 12 | (VECTOR_FREE_LIST_FLAG, ADVANCE, VINDEX, SETUP_ON_FREE_LIST), | ||
| 13 | (VECTOR_SIZE, VECTOR_IN_BLOCK): New macros. | ||
| 14 | (roundup_size): New constant. | ||
| 15 | (struct vector_block): New data type. | ||
| 16 | (vector_blocks, vector_free_lists, zero_vector): New variables. | ||
| 17 | (all_vectors): Renamed to `large_vectors'. | ||
| 18 | (allocate_vector_from_block, init_vectors, allocate_vector_from_block) | ||
| 19 | (sweep_vectors): New functions. | ||
| 20 | (allocate_vectorlike): Return `zero_vector' as the only vector of | ||
| 21 | 0 items. Allocate new vector from block if vector size is less than | ||
| 22 | or equal to VBLOCK_BYTES_MAX. | ||
| 23 | (Fgarbage_collect): Move all vector sweeping code to sweep_vectors. | ||
| 24 | (init_alloc_once): Add call to init_vectors. | ||
| 25 | |||
| 1 | 2012-06-08 Stefan Monnier <monnier@iro.umontreal.ca> | 26 | 2012-06-08 Stefan Monnier <monnier@iro.umontreal.ca> |
| 2 | 27 | ||
| 3 | * eval.c (Fmacroexpand): Stop if the macro returns the same form. | 28 | * eval.c (Fmacroexpand): Stop if the macro returns the same form. |