[PATCH][llvm-c] Expose MC JIT

David Tweed david.tweed at arm.com
Tue Apr 23 01:06:03 PDT 2013


Hi,

 

It's great that you're doing high-quality work on getting MC-JIT into a much
better shape!

 

| More broadly, getting MCJIT into a better shape is on my critical path, as
well.  See: https://bugs.webkit.org/show_bug.cgi?id=112840.  I'd like to
help out with the de-sloppiness-ifying of it, so I'd like to understand
better what the end goal is.  I

|already know that I want to control memory management, cache management,
and page permissions myself as a client, and preferably I want to accomplish
this by supplying my own RuntimeDyld (or JITMemoryManager).  I also know
that I'll want to

|improve error tolerance - for example in case of memory allocation failure
(honestly, I haven't investigated this much, so this may already be
supported - I just don't see how through the API).  So, I'm particularly
interesting in seeing how to get the

|MCJIT into a great shape while supporting both the currently-envisioned use
cases in LLVM and its other clients, and also the way that WebKit will use
it!  This should be fun. :-)

 

Can I just ask why you want to control cache management and page permissions
within your client code? (This is a genuine question: I don't quite see what
it gets you, but it'd be interesting to know.) One of my worries about
delegating cache management is that it can be a source of very intermittent
bugs: if you don't cache invalidate on the transition from data to code on
ARM, 99% of the time everything works... I can't at the moment see the
advantage of not delegating that to a core part of LLVM that "knows what
it's doing better than I do".

 

Cheers,

Dave
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20130423/9e2b156f/attachment.html>


More information about the llvm-commits mailing list