From 52dcc4acf3c31883e4ca737c47fb3141e5a32a8c Mon Sep 17 00:00:00 2001 From: Val Packett Date: Tue, 24 Oct 2023 04:57:57 -0300 Subject: [PATCH] compiler: add munmap finalizer on cache hits to avoid memory leak Signed-off-by: Val Packett --- internal/engine/compiler/engine_cache.go | 3 +++ 1 file changed, 3 insertions(+) diff --git a/internal/engine/compiler/engine_cache.go b/internal/engine/compiler/engine_cache.go index 37e481bdb6..204eb1b8a5 100644 --- a/internal/engine/compiler/engine_cache.go +++ b/internal/engine/compiler/engine_cache.go @@ -46,6 +46,9 @@ func (e *engine) getCompiledModule(module *wasm.Module, listeners []experimental cm.functions[i].listener = listeners[i] } } + + // As this uses mmap, we need to munmap on the compiled machine code when it's GCed. + e.setFinalizer(cm, releaseCompiledModule) } return }