[LLVMbugs] [Bug 22717] New: Decouple memory management and external symbol resolution.

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Thu Feb 26 15:09:15 PST 2015


            Bug ID: 22717
           Summary: Decouple memory management and external symbol
           Product: libraries
           Version: trunk
          Hardware: PC
                OS: All
            Status: NEW
          Severity: normal
          Priority: P
         Component: OrcJIT
          Assignee: unassignedbugs at nondot.org
          Reporter: lhames at gmail.com
                CC: llvmbugs at cs.uiuc.edu
    Classification: Unclassified

The RTDyldMemoryManager couples memory allocation and symbol resolution in a
way that I don't think is helpful. Having them coupled hasn't been a blocker so
far, but the LookasideMemoryManager definitely feels like it's working around

Adding a module to an Orc layer should really look like:

addModuleSet(Modules, Lookup, MemoryManagment);

With the MemoryManager being an optional argument (with a sensible default).

We can basically do this now if we thread the lookup argument (I'd make it a
template argument) through the addModuleSet methods down to the
ObjectLinkingLayer. The ObjectLinkingLayer should then construct a
LookasideMemoryManager with the lookup functor that the user has passed in.
Basically take what the user is forced to do now, and do it for them, way down
in the stack where they don't have to look at or think about it.

This approach would avoid affecting any MCJIT clients for now. In the longer
term we could plumb the lookup argument right down into RuntimeDyld to get some
symbol-resolution performance improvements.

You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20150226/c7afd238/attachment.html>

More information about the llvm-bugs mailing list