[PATCH][llvm-c] Expose MC JIT

Kaylor, Andrew andrew.kaylor at intel.com
Mon Apr 22 17:58:18 PDT 2013


MCJIT is partially supported on Darwin.  It works well enough that LLDB uses it (which means it mostly works).

I believe it is marked as unsupported for testing purposes because of the problem I mentioned before about being unable to resolve external function calls.  The MCJIT unit tests would probably pass on Darwin, and so we should probably be running them there.  Some of the non-unit ExecutionEngine tests probably fail on Darwin but most of them should pass.  I think it would be preferable to have the tests running there and mark the ones that fail as XFAIL.  If you want to make a quick investigation that would be much appreciated.

-Andy


From: Filip Pizlo [mailto:fpizlo at apple.com]
Sent: Monday, April 22, 2013 5:37 PM
To: Kaylor, Andrew
Cc: llvm-commits at cs.uiuc.edu
Subject: Re: [PATCH][llvm-c] Expose MC JIT

Actually, it looks like the MCJIT tests claim Darwin as an unsupported platform.

Is this accurate?  If I hack the MCJITTestBase to claim to support Darwin, then the tests do indeed crash.

Also, it is generally true, as far as I can tell, that the C API doesn't have tests.

Let me know how you want me to proceed: should I first fix MCJIT enough to make it supported on Darwin, and write the first-ever C API unit test, as a prerequisite to exposing enough MCJIT functionality in LLVM that I can actually start using it in WebKit?  I would rather this get landed - that will at least unblock me a bit, and then I'd be happy to help in ruggedizing the MCJIT.

-Filip


On Apr 22, 2013, at 4:50 PM, Filip Pizlo <fpizlo at apple.com<mailto:fpizlo at apple.com>> wrote:




On Apr 22, 2013, at 4:43 PM, "Kaylor, Andrew" <andrew.kaylor at intel.com<mailto:andrew.kaylor at intel.com>> wrote:
Looks great!

Any chance you have tests for this?

Heh, good question. I tested it by running WebKit tests, but I can do better. Anything I should be mindful of when writing unit tests for the MCJIT?  And in particular the C API?  I couldn't immediately find we're C API tests lived.



-Andy

From: llvm-commits-bounces at cs.uiuc.edu<mailto:llvm-commits-bounces at cs.uiuc.edu> [mailto:llvm-commits-bounces at cs.uiuc.edu] On Behalf Of Filip Pizlo
Sent: Monday, April 22, 2013 2:09 PM
To: llvm-commits at cs.uiuc.edu<mailto:llvm-commits at cs.uiuc.edu>
Subject: Re: [PATCH][llvm-c] Expose MC JIT

Here it is.  The C API no longer exposes finalizeObject() in any way, and makes sure to call it prior to doing anything that the user would expect to have already done permissions/invalidation.

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


More information about the llvm-commits mailing list