[LLVMdev] Copy function pointer contents (original) (raw)
Tim Northover t.p.northover at gmail.com
Tue Oct 21 09:42:40 PDT 2014
- Previous message: [LLVMdev] Copy function pointer contents
- Next message: [LLVMdev] RFC: Are we ready to completely move away from the optionality of a DataLayout?
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
My first experiments shew that it works but I'd like to know it could have any side effects?
I'd be very worried about doing that. For an isolated function with no external references, and referenced by nothing externally, you might get away with it (make sure it's compiled PIC!). But outside those bounds, all kinds of things could go wrong:
- Global variables going away when the memory is freed
- GOT & PLT entries going away when the memory is freed.
- External functions calling freed memory or getting unequal function pointers (at best).
My goal is to delete a finalized module and just keep the copyed function (to decrease the memory use)
I think you should be able to just keep the output around and delete the input Module & associated compile-time data. That's a large part of what the various MemoryManagers are there to handle, I think.
Cheers.
Tim.
- Previous message: [LLVMdev] Copy function pointer contents
- Next message: [LLVMdev] RFC: Are we ready to completely move away from the optionality of a DataLayout?
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]