Displaying 6 results from an estimated 6 matches for "linkingmemorymanager".
2013 Nov 01
0
[LLVMdev] [Proposal] Adding callback mechanism to Execution Engines
...d::string &Name, bool
> AbortOnFailure). So, the hypercall resolution can be done here.
>
> In MCJIT, during finalizeObject(), all the symbol relocations are
> finalized. In the Memory Managers, the external symbols are resolved. So,
> the hypercall resolution can be done in
> LinkingMemoryManager::getSymbolAddress().
>
>
>
> In JIT::getPointerToNamedFunction(), check whether the function name is
> PerformCustomCallback and store the address of the function
> PerformCustomCallback in the global table. So the next time a call happens,
> JIT will get the address directly f...
2013 Nov 01
4
[LLVMdev] [Proposal] Adding callback mechanism to Execution Engines
...interToNamedFunction(const std::string &Name, bool
AbortOnFailure). So, the hypercall resolution can be done here.
In MCJIT, during finalizeObject(), all the symbol relocations are
finalized. In the Memory Managers, the external symbols are resolved. So,
the hypercall resolution can be done in
LinkingMemoryManager::getSymbolAddress().
In JIT::getPointerToNamedFunction(), check whether the function name is
PerformCustomCallback and store the address of the function
PerformCustomCallback in the global table. So the next time a call happens,
JIT will get the address directly from the table.
In MCJIT, in L...
2013 Nov 01
0
[LLVMdev] [Proposal] Adding callback mechanism to Execution Engines
...ointerToNamedFunction(const std::string &Name, bool AbortOnFailure). So, the hypercall resolution can be done here.
In MCJIT, during finalizeObject(), all the symbol relocations are finalized. In the Memory Managers, the external symbols are resolved. So, the hypercall resolution can be done in LinkingMemoryManager::getSymbolAddress().
In JIT::getPointerToNamedFunction(), check whether the function name is PerformCustomCallback and store the address of the function PerformCustomCallback in the global table. So the next time a call happens, JIT will get the address directly from the table.
In MCJIT, in Linki...
2013 Nov 01
0
[LLVMdev] [Proposal] Adding callback mechanism to Execution Engines
Unless I'm missing something, indeed addGlobalMapping should not work with
MCJIT.
MCJIT does not consult EEState.getGlobalAddressMap when resolving symbols.
Instead it uses RTDyldMemoryManager::getSymbolAddress which checks
with DynamicLibrary::SearchForAddressOfSymbol, so Andy's suggestion of
DynamicLibrary::addSymbol is better as it should work with both JIT and
MCJIT.
Another options
2013 Nov 01
2
[LLVMdev] [Proposal] Adding callback mechanism to Execution Engines
Hi Andrew,
I used the latest code from trunk. GlobalSymbolTable is being used in
MCJIT.
I guess it wasn't clear from the proposal that the user program will be
modified to indicate that the callback should happen at that point in the
code. The objective is to call some of the functions which belong to lli or
the ExecutionEngine.
Thanks,
Sumeeth
On Fri, Nov 1, 2013 at 5:40 PM, Kaylor,
2015 Jan 13
2
[LLVMdev] MCJIT handling of linkonce_odr
Hi Keno,
The part that scares me a bit is
> and then adjust the other methods to not
> bail out two quickly when encountering a weak symbol.
I would very much appreciate if you could implement this; I don't have
enough knowledge of the MCJIT nor llvm CodeGen internals... I will
happily try it out and provide you with feedback, though! :-)
Thank you *so* much for your fast reaction!