aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/api/private/helpers.c
diff options
context:
space:
mode:
authorbfredl <bjorn.linse@gmail.com>2022-06-21 13:03:35 +0200
committerbfredl <bjorn.linse@gmail.com>2022-06-21 18:40:35 +0200
commita9442c532e9af45fc5c79d0207ab837cb715941f (patch)
treeba4edafcdf0794250a6e63725233c12e15cb3d29 /src/nvim/api/private/helpers.c
parent1dad288432d398dc1e4b5bbf1d72db7a488eb341 (diff)
downloadrneovim-a9442c532e9af45fc5c79d0207ab837cb715941f.tar.gz
rneovim-a9442c532e9af45fc5c79d0207ab837cb715941f.tar.bz2
rneovim-a9442c532e9af45fc5c79d0207ab837cb715941f.zip
perf(highlight): allocate permanent names in an arena for fun and cache locality
Diffstat (limited to 'src/nvim/api/private/helpers.c')
-rw-r--r--src/nvim/api/private/helpers.c5
1 files changed, 1 insertions, 4 deletions
diff --git a/src/nvim/api/private/helpers.c b/src/nvim/api/private/helpers.c
index 693d946088..9cadef0385 100644
--- a/src/nvim/api/private/helpers.c
+++ b/src/nvim/api/private/helpers.c
@@ -686,10 +686,7 @@ Dictionary arena_dict(Arena *arena, size_t max_size)
String arena_string(Arena *arena, String str)
{
if (str.size) {
- char *mem = arena_alloc(arena, str.size + 1, false);
- memcpy(mem, str.data, str.size);
- mem[str.size] = NUL;
- return cbuf_as_string(mem, str.size);
+ return cbuf_as_string(arena_memdupz(arena, str.data, str.size), str.size);
} else {
return (String)STRING_INIT;
}