neovim

Neovim text editor
git clone https://git.dasho.dev/neovim.git
Log | Files | Refs | README

commit 59012a18e190532f673e72899b3e005e9792d8f8
parent 146c428a533b649adbc95fc29b41af42624b6ece
Author: zeertzjq <zeertzjq@outlook.com>
Date:   Tue, 27 Dec 2022 18:49:24 +0800

vim-patch:9.0.1096: reallocating hashtab when the size didn't change

Problem:    Reallocating hashtab when the size didn't change.
Solution:   Bail out when the hashtab is already the desired size.

https://github.com/vim/vim/commit/71d53e7c579b8af44083142ea3894b455947ad81

Co-authored-by: Bram Moolenaar <Bram@vim.org>

Diffstat:
Msrc/nvim/hashtab.c | 5+++++
1 file changed, 5 insertions(+), 0 deletions(-)

diff --git a/src/nvim/hashtab.c b/src/nvim/hashtab.c @@ -334,6 +334,11 @@ static void hash_may_resize(hashtab_T *ht, size_t minitems) assert(newsize != 0); } + // bail out if the hashtab is already at the desired size + if (newsize == ht->ht_mask + 1) { + return; + } + bool newarray_is_small = newsize == HT_INIT_SIZE; bool keep_smallarray = newarray_is_small && ht->ht_array == ht->ht_smallarray;