diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2022-02-14 21:08:55 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-02-14 21:08:55 +0100 |
commit | da903efa63c2a5576dec2316670c3d6ebdca70b3 (patch) | |
tree | e5858bf57c650e4eb0d8d6bf5850bc8a944751f0 /eval | |
parent | 8eb2ccf9ee6e3eec10fa212362c9f5ddbd3d85aa (diff) | |
parent | 493d1dbba614e255d1d07c266a5f783b98cc87f3 (diff) |
Merge pull request #21188 from vespa-engine/revert-21185-revert-21183-balder/let-large-allocations-by-llvm-during-compilation-be-done-by-mmap-directly
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.cpp | 4 |
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(); } |