Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support MCJIT #5208

Merged
merged 12 commits into from
Jan 17, 2014
Merged

Support MCJIT #5208

merged 12 commits into from
Jan 17, 2014

Conversation

Keno
Copy link
Member

@Keno Keno commented Dec 21, 2013

This adds MCJIT support (only enabled on 3.4+ though due missing functionality and patches in 3.3). MCJIT is ifdef'ed out for 3.3, so we can merge this soon, so we don't have to keep maintaining a branch that touches so many different locations. For 3.4 with MCJIT, I'm still seeing random failures when running the tests, though sequentially everything is fine. This might well be an MCJIT bug, we'll see.

I ended up going with the shadow module approach during imaging (i.e. everything gets emitted into a giant module and we pull out the functions we're actually running).

Closes #3922
Closes #4418

@timholy
Copy link
Member

timholy commented Dec 21, 2013

Whoa! Amazing stuff!

@tknopp
Copy link
Contributor

tknopp commented Dec 21, 2013

Has this a large impact on the performance of compilation?

@johnmyleswhite
Copy link
Member

Nice!

@ArchRobison
Copy link
Contributor

Looking forward to this, particularly if it fixes the AVX issue #4418.

@@ -182,7 +182,6 @@ LLVM_TAR=llvm-$(LLVM_VER).tar.gz
else
LLVM_TAR=llvm-$(LLVM_VER).src.tar.gz
endif
endif
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this change doesn't seem necessary / related

@vtjnash
Copy link
Member

vtjnash commented Jan 3, 2014

@JeffBezanson @loladiro this looks good to me (ready to merge), from doing a code read-through

@Keno
Copy link
Member Author

Keno commented Jan 13, 2014

Alright, I'll rebase this this and then let's merge it. Actually using MCJIT still crashes sometimes, but to figure out why I need to add more debug info that master can make use of as well and this doesn't change anything for the current REPL.

@Keno
Copy link
Member Author

Keno commented Jan 15, 2014

@JeffBezanson bump

@Keno
Copy link
Member Author

Keno commented Jan 17, 2014

@JeffBezanson Can we just merge this?

JeffBezanson added a commit that referenced this pull request Jan 17, 2014
@JeffBezanson JeffBezanson merged commit 43a901f into master Jan 17, 2014
@jiahao
Copy link
Member

jiahao commented Jan 17, 2014

I bet @loladiro is dancing a jig in his room right now.

@johnmyleswhite
Copy link
Member

Wheeeeeee!

@ihnorton
Copy link
Member

👍

@johnmyleswhite johnmyleswhite deleted the kf/mcjit branch January 17, 2014 04:11
@johnmyleswhite johnmyleswhite restored the kf/mcjit branch January 17, 2014 04:11
@johnmyleswhite
Copy link
Member

Woops. Sorry about the branch deletion. Too excited.

@Keno
Copy link
Member Author

Keno commented Jan 17, 2014

I bet @loladiro is dancing a jig in his room right now.

Oh, you betcha

@StefanKarpinski
Copy link
Member

And apparently he's from Fargo too.

@StefanKarpinski
Copy link
Member

So, am I correct that this didn't just add support for MCJIT but also turned on MCJIT as the default JIT?

@Keno
Copy link
Member Author

Keno commented Jan 17, 2014

no, the old JIT is still the default (on 3.3 anyway). This branch was just a pain to maintain, because it touches so many lines

@Keno Keno deleted the kf/mcjit branch August 10, 2014 18:47
@coveralls
Copy link

Coverage Status

Changes Unknown when pulling ed7d660 on kf/mcjit into * on master*.

@tkelman
Copy link
Contributor

tkelman commented Apr 5, 2015

@lemurheavy you guys have a hash collision or something going on, a couple times a month now we get a coveralls notification on a long-closed PR, that judging by the source files (here some python) are for a totally different repo.

@mbauman mbauman mentioned this pull request May 18, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Support AVX2 and BMI2 instructions switching to MCJIT