Re: any benefit to throwing off lua51 constraints?

  • From: Mike Pall <mike-1304@xxxxxxxxxx>
  • To: luajit@xxxxxxxxxxxxx
  • Date: Thu, 11 Apr 2013 12:05:26 +0200

William Adams wrote:
> If LuaJIT were not constrained by ABI compatibility with Lua 5.1,
> how could the environment benefit?

Well, the classic Lua/C API/ABI _does_ impose some constraints on
the design of the VM. But I don't think these constraints are very
serious or would significantly impede progress.

I mean ... due to the unknown and potentially wide-ranging
side-effects of classic C functions, the JIT-compiler cannot
(reasonably) compile a call to them. So it already treats the
classic Lua/C API like a legacy interface. Yes, it would save some
code space if it's ripped out. But not much else would happen.

I've explained elsewhere that the current API makes it unfeasible
to switch to a moving garbage collector. Alas, the FFI imposes
similar constraints: better not move cdata. And there isn't clear
cut evidence that a moving GC is the best design choice, anyway.

Ok, so the debugging part of the API leads to ugly contortions
inside LuaJIT, to remain somewhat compatible. It would be a relief
if that could be dropped. The pitfall is that adding yet another
debug API might cause similar problems for some future version.

One could go on ... but it's just a laundry list with lots of
minor issues. None of them warrant such a drastic step as dropping
ABI compatibility (at this time).

[The real issues that Lua faces are elsewhere and mostly out of my
control. *Sigh*, that would certainly make for a long rant. Alas,
I don't have enough time right now to deal with the backlash, so
I shall remain silent.]

--Mike

Other related posts: