diff options
author | ZyX <kp-pav@yandex.ru> | 2018-01-03 04:25:42 +0300 |
---|---|---|
committer | ZyX <kp-pav@yandex.ru> | 2018-01-14 01:33:18 +0300 |
commit | 6a1557f2f496bf8e8f4dad7ed0d423051a7b65e2 (patch) | |
tree | e00517056c7dc44208a5d83e94b12eb18556537c /src/nvim/memory.c | |
parent | c10ae4bc8548ca170876e00489fb5d907801e553 (diff) | |
download | rneovim-6a1557f2f496bf8e8f4dad7ed0d423051a7b65e2.tar.gz rneovim-6a1557f2f496bf8e8f4dad7ed0d423051a7b65e2.tar.bz2 rneovim-6a1557f2f496bf8e8f4dad7ed0d423051a7b65e2.zip |
eval/typval: Log list actions
New logging is guarded by cmake LOG_LIST_ACTIONS define. To make it more
efficient it is allocated as a linked list with chunks of length
2^(7+chunk_num); that uses basically the same idea as behind increasing kvec
length (make appending O(1) (amortized)), but reduces constant by not bothering
to move memory around what realloc() would surely do: it is not like we need
random access to log entries here to justify usage of a single continuous memory
block.
Diffstat (limited to 'src/nvim/memory.c')
-rw-r--r-- | src/nvim/memory.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/nvim/memory.c b/src/nvim/memory.c index 328b96fd5c..a66ab6a3cc 100644 --- a/src/nvim/memory.c +++ b/src/nvim/memory.c @@ -559,6 +559,7 @@ void time_to_bytes(time_t time_, uint8_t buf[8]) #include "nvim/tag.h" #include "nvim/window.h" #include "nvim/os/os.h" +#include "nvim/eval/typval.h" /* * Free everything that we allocated. @@ -692,6 +693,7 @@ void free_all_mem(void) free_screenlines(); clear_hl_tables(); + list_free_log(); } #endif |