From a9442c532e9af45fc5c79d0207ab837cb715941f Mon Sep 17 00:00:00 2001 From: bfredl Date: Tue, 21 Jun 2022 13:03:35 +0200 Subject: perf(highlight): allocate permanent names in an arena for fun and cache locality --- src/nvim/memory.c | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'src/nvim/memory.c') diff --git a/src/nvim/memory.c b/src/nvim/memory.c index 9d02b83e5f..a615802b36 100644 --- a/src/nvim/memory.c +++ b/src/nvim/memory.c @@ -605,6 +605,14 @@ void arena_mem_free(ArenaMem mem, ArenaMem *reuse_blk) } } +char *arena_memdupz(Arena *arena, const char *buf, size_t size) +{ + char *mem = arena_alloc(arena, size + 1, false); + memcpy(mem, buf, size); + mem[size] = NUL; + return mem; +} + #if defined(EXITFREE) # include "nvim/buffer.h" -- cgit