aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/eval/funcs.c
diff options
context:
space:
mode:
authorbfredl <bjorn.linse@gmail.com>2022-06-14 15:20:37 +0200
committerGitHub <noreply@github.com>2022-06-14 15:20:37 +0200
commit2a2fb8be74f9147773416be63334ea6a74c66869 (patch)
treeb0593d6a1f328862a3a131155be2f35a2feee941 /src/nvim/eval/funcs.c
parentcd9e08cb94663558891fdd46dfa58f662e947be5 (diff)
parent3f5c647de97a424d8a06e85b912ed46cc3ca8298 (diff)
downloadrneovim-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.c5
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);
}