• Home
  • Raw
  • Download

Lines Matching refs:MCJIT

2 MCJIT Design and Implementation
8 This document describes the internal workings of the MCJIT execution
17 the MCJIT execution engine. The EngineBuilder takes an llvm::Module
19 options that we control the later be passed along to the MCJIT engine,
20 including the selection of MCJIT as the engine type to be created.
24 will be created when the MCJIT engine is instantiated.
27 create an instance of the MCJIT engine. If the client does not use the
32 .. image:: MCJIT-engine-builder.png
34 EngineBuilder::create will call the static MCJIT::createJIT function,
36 objects, all of which will subsequently be owned by the MCJIT object.
38 The MCJIT class has a member variable, Dyld, which contains an instance of
40 communications between MCJIT and the actual RuntimeDyldImpl object that
43 .. image:: MCJIT-creation.png
45 Upon creation, MCJIT holds a pointer to the Module object that it received
48 MCJIT::finalizeObject method is called explicitly or a function such as
49 MCJIT::getPointerToFunction is called which requires the code to have been
55 When code generation is triggered, as described above, MCJIT will first
57 has been set. If a cached object image cannot be retrieved, MCJIT will
58 call its emitObject method. MCJIT::emitObject uses a local PassManager
63 .. image:: MCJIT-load.png
87 .. image:: MCJIT-dyld-load.png
108 .. image:: MCJIT-load-object.png
116 [Currently (as of August 2013) the MCJIT engine will immediately apply
131 The client remaps the section address by calling MCJIT::mapSectionAddress.
135 When MCJIT::mapSectionAddress is called, MCJIT passes the call on to
141 MCJIT::finalizeObject to complete the remapping process.
146 When MCJIT::finalizeObject is called, MCJIT calls
168 .. image:: MCJIT-resolve-relocations.png
170 Once relocations have been applied as described above, MCJIT calls
176 Finally, MCJIT calls the memory manager's finalizeMemory method. In this