diff options
author | bfredl <bjorn.linse@gmail.com> | 2022-06-14 15:20:37 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-06-14 15:20:37 +0200 |
commit | 2a2fb8be74f9147773416be63334ea6a74c66869 (patch) | |
tree | b0593d6a1f328862a3a131155be2f35a2feee941 /src/nvim/eval/funcs.c | |
parent | cd9e08cb94663558891fdd46dfa58f662e947be5 (diff) | |
parent | 3f5c647de97a424d8a06e85b912ed46cc3ca8298 (diff) | |
download | rneovim-2a2fb8be74f9147773416be63334ea6a74c66869.tar.gz rneovim-2a2fb8be74f9147773416be63334ea6a74c66869.tar.bz2 rneovim-2a2fb8be74f9147773416be63334ea6a74c66869.zip |
Merge pull request #18880 from bfredl/arena
perf(memory): use an arena for RPC decoding
Diffstat (limited to 'src/nvim/eval/funcs.c')
-rw-r--r-- | src/nvim/eval/funcs.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/nvim/eval/funcs.c b/src/nvim/eval/funcs.c index fc8c9ef445..25f80758d2 100644 --- a/src/nvim/eval/funcs.c +++ b/src/nvim/eval/funcs.c @@ -7893,7 +7893,8 @@ static void f_rpcrequest(typval_T *argvars, typval_T *rettv, FunPtr fptr) uint64_t chan_id = (uint64_t)argvars[0].vval.v_number; const char *method = tv_get_string(&argvars[1]); - Object result = rpc_send_call(chan_id, method, args, &err); + ArenaMem res_mem = NULL; + Object result = rpc_send_call(chan_id, method, args, &res_mem, &err); if (l_provider_call_nesting) { current_sctx = save_current_sctx; @@ -7928,7 +7929,7 @@ static void f_rpcrequest(typval_T *argvars, typval_T *rettv, FunPtr fptr) } end: - api_free_object(result); + arena_mem_free(res_mem, NULL); api_clear_error(&err); } |