summaryrefslogtreecommitdiffstats
path: root/eval
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2022-02-15 08:49:56 +0100
committerGitHub <noreply@github.com>2022-02-15 08:49:56 +0100
commitf4e09e851dd265dd13c8b2e8f129dd36ffb4582c (patch)
treee5858bf57c650e4eb0d8d6bf5850bc8a944751f0 /eval
parentd81b45b685a1ddd72555ee5b8ffacc2cba275e46 (diff)
Revert "Revert "Revert "Revert "Let allocations larger than 1M be handled directly by mmap""""
Diffstat (limited to 'eval')
-rw-r--r--eval/src/vespa/eval/eval/llvm/llvm_wrapper.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/eval/src/vespa/eval/eval/llvm/llvm_wrapper.cpp b/eval/src/vespa/eval/eval/llvm/llvm_wrapper.cpp
index 512e12bec71..d1a9ffc5b49 100644
--- a/eval/src/vespa/eval/eval/llvm/llvm_wrapper.cpp
+++ b/eval/src/vespa/eval/eval/llvm/llvm_wrapper.cpp
@@ -21,6 +21,8 @@
#include <vespa/eval/eval/check_type.h>
#include <vespa/vespalib/stllike/hash_set.h>
#include <vespa/vespalib/util/approx.h>
+#include <vespa/vespalib/util/size_literals.h>
+#include <vespa/vespalib/util/malloc_mmap_guard.h>
#include <limits>
double vespalib_eval_ldexp(double a, double b) { return std::ldexp(a, b); }
@@ -728,6 +730,8 @@ LLVMWrapper::compile(llvm::raw_ostream * dumpStream)
// Set relocation model to silence valgrind on CentOS 8 / aarch64
_engine.reset(llvm::EngineBuilder(std::move(_module)).setOptLevel(llvm::CodeGenOpt::Aggressive).setRelocationModel(llvm::Reloc::Static).create());
assert(_engine && "llvm jit not available for your platform");
+
+ MallocMmapGuard largeAllocsAsMMap(1_Mi);
_engine->finalizeObject();
}