lua-users home
lua-l archive

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]

I'm happy to announce that as of today the sponsorship program for
the x64 port of LuaJIT 2.0 has reached it's goal to raise EUR 20,000.
In fact it raised EUR 20,167 (approx. $ 28,839) in under six weeks!

The generous contribution of EUR 8,000 by Google Inc. helped to
close the final gap. My personal thanks go to Joshua Haberman,
Chris DiBona, Cat Allman and Ellen Ko at Google! Please read more
about their take on it at the official Google open source blog:

A big thank you goes to all sponsors and in particular to Evan Wies
of Athena CR for arranging the initial sponsorship and the matching

All sponsors are listed here:

Of course the LuaJIT sponsorship program is still open for companies
who want to sponsor the development of other features. There are
quite a few open issues and many more optimizations and interesting
ideas waiting to be researched and implemented. And of course there
are more platforms than just x86/x64 out there. Please contact me if
you're interested in sponsoring a particular feature!

Status of the x64 port

The x64 port of LuaJIT 2.0 is still ongoing. The git repository
already contains a preliminary port of the x64 interpreter.

It currently only (*) compiles on Linux/x64 or Windows 64.
The adventurous minded may pull the git repo as described on and explicitly compile for x64.

The Linux/x64 build is not enabled by default, so you'll still get
the 32 bit JIT compiler if you run "make". Instead run this command:

  make "CC=gcc -m64"

For Windows 64, open a "Windows SDK Command Shell" and run:

  setenv /release /x64
  cd <path-to-the-src-directory>

This builds LuaJIT on x64 with just the interpreter. This should
already give you a good speedup over the Lua interpreter and allow
for some testing. All bug reports are welcome of course.

(*) Sorry, but I can't develop support for OSX/x64 since I don't
have an OSX box. I could need some help from anyone who knows more
about the Mach-Kernel and its virtual memory management.

The JIT compiler for x64 is not anywhere near ready yet. Memory
usage and performance are expected to be roughly the same as the
x86 JIT compiler. But there are many different things I need to
fix up first, so this will take some more time.

On a positive note, LuaJIT x64 (both POSIX/x64 and Windows 64)
will provide much better interoperability with C++ exceptions than
on x86. You can throw Lua errors or C++ exceptions through a mix
of Lua frames and C++ frames and catch them in either language.
C++ destructors are called as needed. This works out-of-the-box
and no changes to your code are required to enjoy these features.

[This feature can be selectively enabled on Linux/x86 or OSX/x86
with some effort (see src/lj_err.c). I cannot add a comparable
feature for 32 bit Windows due to the SEH software patent.]