13#ifndef LLVM_EXECUTIONENGINE_ORC_SECTCREATE_H
14#define LLVM_EXECUTIONENGINE_ORC_SECTCREATE_H
36 uint64_t Alignment, std::unique_ptr<MemoryBuffer> Data,
39 ObjLinkingLayer(ObjLinkingLayer), SectName(
std::
move(SectName)), MP(MP),
40 Alignment(Alignment), Data(
std::
move(Data)),
41 ExtraSymbols(
std::
move(ExtraSymbols)) {}
45 void materialize(std::unique_ptr<MaterializationResponsibility> R)
override;
50 static Interface getInterface(
const ExtraSymbolsMap &ExtraSymbols);
56 std::unique_ptr<MemoryBuffer>
Data;
57 ExtraSymbolsMap ExtraSymbols;
Flags for symbols in the JIT.
StringRef - Represent a constant reference to a string, i.e.
Represents a JIT'd dynamic library.
MaterializationUnit(Interface I)
An ObjectLayer implementation built on JITLink.
SectCreateMaterializationUnit(ObjectLinkingLayer &ObjLinkingLayer, std::string SectName, MemProt MP, uint64_t Alignment, std::unique_ptr< MemoryBuffer > Data, ExtraSymbolsMap ExtraSymbols=ExtraSymbolsMap())
StringRef getName() const override
Return the name of this materialization unit.
DenseMap< SymbolStringPtr, ExtraSymbolInfo > ExtraSymbolsMap
Pointer to a pooled string representing a symbol name.
MemProt
Describes Read/Write/Exec permissions for memory.
FunctionAddr VTableAddr uintptr_t uintptr_t Data
OutputIt move(R &&Range, OutputIt Out)
Provide wrappers to std::move which take ranges instead of having to pass begin/end explicitly.
Implement std::hash so that hash_code can be used in STL containers.