mirror of
https://github.com/LuaJIT/LuaJIT.git
synced 2025-02-07 23:24:09 +00:00
Update docs and changelog.
This commit is contained in:
parent
8060f5b531
commit
4a7ee2cb66
@ -55,21 +55,48 @@ to see whether newer versions are available.
|
||||
<div class="major" style="background: #d0d0d0;">
|
||||
<h2 id="snap">Development Snapshot</h2>
|
||||
<ul>
|
||||
<li>Build of preliminary x64 interpreter works on Linux/x64 or WIN64.</li>
|
||||
<li>Implement call/return hooks (zero-cost if disabled).</li>
|
||||
<li>Major redesign of internal function call handling.</li>
|
||||
<li>Implement yield from C hooks.</li>
|
||||
<li>Add abstract C call handling to IR.</li>
|
||||
<li>Improve KNUM fuse vs. load heuristics.</li>
|
||||
<li>Drive the GC forward on string allocations in the parser.</li>
|
||||
<li>Compile various <tt>io.*()</tt> functions.</li>
|
||||
<li>Compile <tt>math.sinh()</tt>, <tt>math.cosh()</tt>, <tt>math.tanh()</tt>
|
||||
and <tt>math.random()</tt>.</li>
|
||||
<li>CPU support:
|
||||
<ul>
|
||||
<li>Port integrated memory allocator to Linux/x64 and Windows/x64.</li>
|
||||
<li>Port the interpreter to x64.</li>
|
||||
<li>Port DynASM to x64.</li>
|
||||
<li>Many 32/64 bit cleanups in the VM.</li>
|
||||
<li>Allow building the interpreter with either x87 or SSE2 arithmetics.</li>
|
||||
<li>Disable JIT compiler on older non-SSE2 CPUs instead of aborting.</li>
|
||||
</ul></li>
|
||||
<li>Correctness and completeness:
|
||||
<ul>
|
||||
<li>Fix constructor bytecode generation for certain conditional values.</li>
|
||||
<li>Fix some cases of ordered string comparisons.</li>
|
||||
<li>Fix <tt>lua_tocfunction()</tt>.</li>
|
||||
<li>Fix cutoff register in JMP bytecode for some conditional expressions.</li>
|
||||
<li>Fix PHI marking algorithm for references from variant slots.</li>
|
||||
<li>Fix <tt>package.cpath</tt> for non-default PREFIX.</li>
|
||||
<li>Fix DWARF2 frame unwind information for interpreter on OSX.</li>
|
||||
<li>Drive the GC forward on string allocations in the parser.</li>
|
||||
<li>Implement call/return hooks (zero-cost if disabled).</li>
|
||||
<li>Implement yield from C hooks.</li>
|
||||
<li>Add external unwinding and C++ exception interop (default on x64).</li>
|
||||
</ul></li>
|
||||
<li>Structural and performance enhancements:
|
||||
<ul>
|
||||
<li>Split CALL/FUNC recording and clean up fast function call semantics.</li>
|
||||
<li>Major redesign of internal function call handling.</li>
|
||||
<li>Improve FOR loop const specialization and integerness checks.</li>
|
||||
<li>Switch to pre-initialized stacks. Avoid frame-clearing.</li>
|
||||
<li>Colocation of prototypes and related data: bytecode, constants, debug info.</li>
|
||||
<li>Cleanup parser and streamline bytecode generation.</li>
|
||||
<li>Add support for weak IR references to register allocator.</li>
|
||||
<li>Switch to compressed, extensible snapshots.</li>
|
||||
<li>Compile returns to frames below the start frame.</li>
|
||||
<li>Improve alias analysis of upvalues using a disambiguation hash value.</li>
|
||||
<li>Compile floor/ceil/trunc to SSE2 helper calls or SSE4.1 instructions.</li>
|
||||
<li>Add generic C call handling to IR and backend.</li>
|
||||
<li>Improve KNUM fuse vs. load heuristics.</li>
|
||||
<li>Compile various <tt>io.*()</tt> functions.</li>
|
||||
<li>Compile <tt>math.sinh()</tt>, <tt>math.cosh()</tt>, <tt>math.tanh()</tt>
|
||||
and <tt>math.random()</tt>.</li>
|
||||
</ul></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
|
@ -44,7 +44,7 @@ LuaJIT is a <b>Just-In-Time Compiler</b> for the Lua<sup>*</sup>
|
||||
programming language.
|
||||
</p>
|
||||
<p>
|
||||
LuaJIT is Copyright © 2005-2008 Mike Pall.
|
||||
LuaJIT is Copyright © 2005-2010 Mike Pall.
|
||||
LuaJIT is open source software, released under the
|
||||
<a href="http://www.opensource.org/licenses/mit-license.php"><span class="ext">»</span> MIT/X license</a>.
|
||||
</p>
|
||||
@ -82,8 +82,8 @@ LuaJIT has been in continuous development since 2005. It's widely
|
||||
considered to be <b>one of the fastest dynamic language
|
||||
implementations</b>. It has outperfomed other dynamic languages on many
|
||||
cross-language benchmarks since its first release — often by a
|
||||
substantial margin. Only now, in 2009, other dynamic language VMs are
|
||||
starting to catch up with the performance of LuaJIT 1.x …
|
||||
substantial margin. In 2009 other dynamic language VMs started to catch up
|
||||
with the performance of LuaJIT 1.x. Well, I couldn't let that slide. ;-)
|
||||
</p>
|
||||
<p>
|
||||
2009 also marks the first release of the long-awaited <b>LuaJIT 2.0</b>.
|
||||
|
@ -206,12 +206,6 @@ interested in sponsoring a port to a particular architecture, please
|
||||
use the given contact address.
|
||||
</li>
|
||||
<li>
|
||||
There are some planned <b>structural improvements</b> to the compiler,
|
||||
like compressed snapshot maps or generic handling of calls to helper
|
||||
methods. These are of lesser importance, unless other developments
|
||||
elevate their priority.
|
||||
</li>
|
||||
<li>
|
||||
<b>Documentation</b> about the <b>internals</b> of LuaJIT is still sorely
|
||||
missing. Although the source code is included and is IMHO well
|
||||
commented, many basic design decisions are in need of an explanation.
|
||||
|
Loading…
Reference in New Issue
Block a user