Monday, August 02, 2010
PyPy GSoC: 64-bit JIT merged to trunk
Well, that took longer than it should have. In any case, 64-bit JIT support (with Boehm GC only) has been merged to trunk. Please try it out!
The remainder of my GSoC will be work on the asmgcc-64 branch, to allow the 64-bit JIT to work with non-Boehm collectors.
Could you explain why other GCs need to be ported to 64-bit? I assumed that the JIT was the hardest part, and GCs only need to be tweaked to understand 64-bit pointers.
The latter method is faster, since it doesn't entail any runtime overhead in the common case when there is no collection done, and that is what the asmgcc code does in PyPy.
However, the downside is that the way asmgcc works is by parsing the assembly code that gcc generates (hence the name!) to extract the relevant information. Since x86-64 assembly differs in some respects from x86-32 assembly, work has to be done to make asmgcc work properly on 64-bit machines.
With that, pypy-c compiled. When I start it I see a stack trace indicating that no curses is available. I don't know if that is normal or not (it needs -lncurses, not -lcureses, but I cannot see where to specify this). Ignoring the stack trace, pypy-c appears to work correctly.
What OS, hardware and SVN revision are you using to translate?