<html><head><meta http-equiv="Content-Type" content="text/html charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><div></div><div><br></div><div>-Filip</div><div><br></div><div><br><div><div>On Apr 12, 2013, at 4:26 PM, Filip Pizlo <<a href="mailto:fpizlo@apple.com">fpizlo@apple.com</a>> wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div style="letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;">Included are two patches that expose MCJIT via the C API:<br><br>The first patch makes the MCJIT use the default JITMemoryManager if no memory manager is provided.  This simplifies integration with the C API, which does not already expose a mechanism for supplying a custom memory manager.<br><br>The second patch exposes the MCJIT via the C API, and also exposes the NoFramePointerElim option.  The manner in which options are exposed is designed for forward compatibility; you supply an options struct along with a size which you zero-fill prior to manipulating.  This is similar to the idiom I've seen used in other C APIs like BerkeleyDB.  I considered having separate C function calls for each option, in the style of the ExecutionEngineBuilder API - but while that idiom feels right to me in C++, it feels less C-like.  As well, the current options approach exposes not just parts of the Builder but also part of TargetOptions (namely, NoFramePointerElim).  It's also more concise in practice.<br><br>I plan to expose more innards through the LLVMMCJITCompilerOptions in the future.  I'd be happy to do more of that in one go if that was preferred; but I thought that a baby step would be the best thing for now.<br><br><span><mcjit-default-allocator.patch></span><span><mcjit-llvm-c.patch></span><br><br>-Filip<br><br>_______________________________________________<br>llvm-commits mailing list<br><a href="mailto:llvm-commits@cs.uiuc.edu">llvm-commits@cs.uiuc.edu</a><br><a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits">http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits</a></div></blockquote></div><br></div></body></html>