Projects / GNU Lightning

GNU Lightning

GNU Lightning is a library that generates assembly language code at run time. It is very fast, making it ideal for Just-In-Time compilers, and it abstracts over the target CPU, as it exposes to the clients a standardized RISC instruction set (inspired by the MIPS and SPARC chips).

Tags
Licenses
Operating Systems
Implementation

RSS Recent releases

  •  31 Jan 2007 08:07

Release Notes: This is a development version, but it should be stable except for the new x86-64 back-end. Other new features include support for allocation of stack-based variables, support for Mac OS X/Intel. Many bugs were fixed in the SPARC backend. The "push" and "pop" opcodes are now deprecated because of differences in the stack layout of various ABIs; stack-based variables should be used instead.

  •  25 Nov 2004 08:18

Release Notes: The floating-point interface is now stable and based on a flat register file. There's now support for more than 6 registers on a machine (which is used by the SPARC and PowerPC backends). A lot of bugfixes were made.

  •  13 Dec 2003 03:41

Release Notes: This release fixes outstanding bugs in the PowerPC runtime.

  •  04 Nov 2003 04:54

Release Notes: This release now passes the tests on the SPARC. It also includes a few small fixes to the accompanying shell scripts.

  •  01 Jun 2003 06:46

Release Notes: This release includes fixes for known bugs, and includes a "lightningize" script to ease the inclusion of lightning within your own projects.

RSS Recent comments

25 Oct 2006 12:11 bonzini

Re: x86_64 porting

> Whether porting to a x86_64 platform in

> the near future is planned?

It is already done in MzScheme, it has to be merged and it will soon. The port, however, will not be complete from the beginning.

25 Oct 2006 01:40 dimal

x86_64 porting
Whether porting to a x86_64 platform in the near future is planned?

12 Dec 2003 05:49 bonzini

Re: Win32

> Would it be a problem for you sending me
> a makefile for win32/i386. I'm using mingw32

I would not know how to do that, but lightning is basically a set of header files. Copy the lightning/i386 directory into your project's directory, do some manual tweaking of lightning.h.in and rename it to lightning.h.

You should have no problems also by using Cygwin to run "lightningize" in your project's directory. After you lightningized the directory there are no more makefiles involved, only header files.

13 May 2003 12:19 zygfryd

Win32
[ I couldn't contact You via mail at gnu.org
so I'm posting here]

Greetings,

I'd like to (try to) use your project in a JIT
for a MUD scripting language, however I'm a bit
confused about how to compile it.

Usually there's a 'makefile' but your project
uses some unix-specific *.am and *.in and I don't
really know how to use them.

Would it be a problem for you sending me
a makefile for win32/i386. I'm using mingw32 gcc-3.2.
Don't bother changing all those 'cp' and 'rm' and such
to dos/win specific because mingw32 supports them.

I'd be very grateful.

Zygfryd <zygfryd(at)piwko.pl>

24 Nov 2002 23:11 SteveDekorte Thumbs up

great for just in time compilers
Everything works well except the pop function appears to be missing on PPC.

Screenshot

Project Spotlight

Scid vs. PC

A chess database application, PGN viewer, and more.

Screenshot

Project Spotlight

Wenity

A multi-platform Zenity clone.