//===- MemoryMapper.h - Cross-process memory mapper -------------*- C++ -*-===// // // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. // See https://llvm.org/LICENSE.txt for license information. // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // //===----------------------------------------------------------------------===// // // Cross-process (and in-process) memory mapping and transfer // //===----------------------------------------------------------------------===// #ifndef LLVM_EXECUTIONENGINE_ORC_MEMORYMAPPER_H #define LLVM_EXECUTIONENGINE_ORC_MEMORYMAPPER_H #include "llvm/ExecutionEngine/Orc/Core.h" #include "llvm/ExecutionEngine/Orc/Shared/MemoryFlags.h" #include "llvm/Support/Process.h" #include <mutex> namespace llvm { namespace orc { /// Manages mapping, content transfer and protections for JIT memory class MemoryMapper { … }; class InProcessMemoryMapper : public MemoryMapper { … }; class SharedMemoryMapper final : public MemoryMapper { … }; } // namespace orc } // end namespace llvm #endif // LLVM_EXECUTIONENGINE_ORC_MEMORYMAPPER_H