LuaJIT is open source software and depends on your contributions! This may be in the form of bug reports, bug fixes and patches — see the status page for details. Another option is to financially support the project through corporate sponsorship.
How to Become a Sponsor
Sponsorship is open to all companies worldwide. For various legal and administrative reasons I cannot accept funds from individuals. The basic idea is that your company finances the work on a particular feature of LuaJIT. Everyone gets a proper invoice, tax receipt, Rechnung or whatever it's called in your country. This can usually be deducted as a business expense if it's directly related to the needs of your business (but check with your tax advisor first).
In exchange for sponsoring the work on a feature, it's incorporated into LuaJIT and is available as open source under the same liberal license. Thus you get your favorite missing feature and everyone benefits, too.
To arrange for contracting me to work on a particular feature, please contact me under my business address:
List of Previous Sponsorships
| Date | Sponsorship | Sponsors | Status |
| 2009-12 | x64 port | Various, see below | ✔ Complete beta3+ |
| 2010-08 | PPC/e500 port (interp.) | Anon. corporate sponsor | ✔ Complete beta6+ |
| 2011-01 | ARM port | QUALCOMM Inc. | ✔ Complete beta8+ |
| 2011-06 | Bytecode load/save | Anon. corporate sponsor | ✔ Complete beta8+ |
| 2011-07 | PPC port | Anon. corporate sponsor | ✔ Complete beta9+ |
| 2011-09 | Continued dev. | iNTERFACEWARE Inc. | ✔ Ongoing |
| 2011-10 | MIPS port | MIPS Technologies, Inc. | ✔ Complete beta10+ |
| 2011-11 | FFI callbacks | Anon. corporate sponsor | ✔ Complete beta9+ |
| 2012-03 | Alloc/store sinking | Anon. corporate sponsor | ⟳ In progress |
Sponsorship for allocation/store sinking
A corporate sponsor, who wishes to remain anonymous, has sponsored the development of allocation sinking and store sinking optimizations for LuaJIT in March 2012.
Avoiding temporary allocations is an important optimization for high-level languages. LuaJIT already eliminates many of these with multiple techniques: e.g. floating-point numbers aren't boxed and the JIT compiler eliminates allocations for most immutable objects. Alas, traditional techniques to avoid the remaining allocations (escape analysis and scalar replacement of aggregates) are ineffective for dynamic languages.
The goal of this sponsorship is to research the combination of store-to-load-forwarding (already implemented in LuaJIT 2.0) with store sinking and allocation sinking (to be implemented). This innovative approach is highly effective in avoiding temporary allocations in the fast paths, even under the presence of many slow paths where the temporary object may escape to. This approach is most effective for dynamic languages, but may be successfully applied elsewhere, when the classic techniques fail.
Work for this feature is currently in progress.
Sponsorship for FFI callbacks
A corporate sponsor, who wishes to remain anonymous, has sponsored the FFI callback feature for LuaJIT x86/x64 in November 2011.
The work is complete by now and available from the download page.
Sponsorship for the MIPS port of LuaJIT
As part of its commitment to open source development, MIPS Technologies, Inc. has sponsored a MIPS port of LuaJIT 2.0 in October 2011.
The port requires a CPU conforming to the MIPS32 R1 architecture (O32 ABI, hard-fp, little-endian or big-endian). The port will be tuned for the MIPS32 34K and 74K cores.
The MIPS port of LuaJIT is complete by now and available from the download page.
Sponsorship for continued development of LuaJIT 2.0
iNTERFACEWARE Inc. is sponsoring the continued development of LuaJIT 2.0 beginning in September 2011 with an annual contribution of € 15,000.
iNTERFACEWARE uses LuaJIT in their Iguana Translator 5 for processing and converting healthcare-related data (HL7). All aspects of the process can be extensively customized with Lua scripts. This is assisted with a reactive, auto-completing IDE. HL7 message throughput is a critical metric for interface engines and LuaJIT helps to achieve the necessary processing speed.
Sponsorship for bytecode loading/saving
A corporate sponsor, who wishes to remain anonymous, has sponsored the bytecode loading/saving feature for LuaJIT in June 2011.
The LuaJIT bytecode format is portable and ~40% smaller than Lua bytecode. The LuaJIT bytecode loader is 10x faster than the Lua bytecode loader. And LuaJIT bytecode loads 30x-40x faster than source code. Note that this is unrelated to the execution speed of the code itself — it doesn't matter how the code was loaded.
The work is complete by now and available from the download page.
Sponsorship for the ARM port of LuaJIT
QUALCOMM Inc. has sponsored an ARM port of LuaJIT 2.0 in January 2011.
The initial target for the ARM port are low-to-middle-end ARM-based devices. The port requires a CPU conforming to the ARMv5 architecture (ARM9E cores or better) with software floating-point (no FPU needed) and the classic ARM instruction set.
The ARM port of LuaJIT is complete by now and available from the download page.
Sponsorship for the PPC port of LuaJIT
A corporate sponsor, who wishes to remain anonymous, has sponsored the port of LuaJIT to PowerPC CPUs in July 2011. The port has been tuned for the FreeScale e300 cores, but runs fine on all PPC CPUs with a standard hardware FPU.
The PPC port of LuaJIT is complete by now and available from the download page.
Another corporate sponsor, who wishes to remain anonymous, has previously sponsored the port of the LuaJIT interpreter to PowerPC/e500v2 (different FPU than standard PPC) in August 2010.
The PPC/e500v2 port of LuaJIT is complete by now and available from the download page.
Sponsorship for the x64 port of LuaJIT
The goal of this sponsorship campaign was to raise € 20,000 for the x64 port of LuaJIT 2.0. To jump-start sponsorship of LuaJIT, Athena Capital Research has provided an initial contribution of € 5,000 in December 2009.
As part of their commitment to the open source community, Athena Capital Research has offered to provide up to € 7,000 of matching funds. All funds offered through corporate sponsorship have been matched one-to-one. Other funds have been matched two-to-one.
The x64 sponsorship goal was reached in January 2010 and a total of € 20,167 was raised! The x64 port is complete by now and available from the download page.
Many thanks to all sponsors for supporting LuaJIT!
| Sponsor Name | Amount | Matched | Date |
| Athena Capital Research LLC | € 5,000 | 2009-12-07 | |
| (Identity withheld) via Athena CR | $ 100 | + $ 200 | 2009-12-10 |
| bottom up system design GmbH | € 100 | + € 100 | 2009-12-17 |
| Google Inc. | € 8,000 | + € 6,767 | 2010-01-20 |
| € 20,167 total | € 13,167 | + € 7,000 |
Note: All accounting is performed in €. Foreign currencies are converted to € on the day of receipt using the actual conversion rate minus banking fees and taxes (if applicable).
-
The bid for contracting work is a commercial offer provided by:
Die Offerte für Auftragsarbeiten ist ein kommerzielles Angebot durch: