Driver

To compile a set of modules do following steps: 1. initialize(passes) 2. beginCompilation() 3. addHostSymbols(hostSymbols) --+ foreach(module; modules) | In any order 4. addModule(module) ------------+ 5. compile() 6. markCodeAsExecutable() if in JIT mode 7. releaseMemory()

Members

Functions

addHar
void addHar(string harFilename, const(char)[] harData)
Undocumented in source. Be warned that the author may not have intended to support it.
addHostSymbols
void addHostSymbols(HostSymbol[] hostSymbols)
Undocumented in source. Be warned that the author may not have intended to support it.
addModule
void addModule(SourceFileInfo moduleFile)
Undocumented in source. Be warned that the author may not have intended to support it.
beginCompilation
void beginCompilation()
Undocumented in source. Be warned that the author may not have intended to support it.
compile
void compile()
Undocumented in source. Be warned that the author may not have intended to support it.
initialize
void initialize(CompilePassGlobal[] passes_)
Undocumented in source. Be warned that the author may not have intended to support it.
markCodeAsExecutable
void markCodeAsExecutable()

Must be called after compilation is finished and before execution Effect is reverted with the call to beginCompilation Marks code pages as read-execute, and readonly data pages as read-only Clears zero-initialized data Only needed in JIT mode, not needed in AOT mode

releaseMemory
void releaseMemory()
Undocumented in source. Be warned that the author may not have intended to support it.

Static functions

funWithAddress
void funWithAddress()
Undocumented in source. Be warned that the author may not have intended to support it.

Variables

arenaPool
ArenaPool arenaPool;
Undocumented in source.
context
CompilationContext context;
Undocumented in source.
passes
CompilePassGlobal[] passes;
Undocumented in source.

Meta