Update docs and changelog.

This commit is contained in:
Mike Pall 2010-02-17 00:47:55 +01:00
parent 8060f5b531
commit 4a7ee2cb66
3 changed files with 40 additions and 19 deletions

View File

@ -55,21 +55,48 @@ to see whether newer versions are available.
<div class="major" style="background: #d0d0d0;"> <div class="major" style="background: #d0d0d0;">
<h2 id="snap">Development Snapshot</h2> <h2 id="snap">Development Snapshot</h2>
<ul> <ul>
<li>Build of preliminary x64 interpreter works on Linux/x64 or WIN64.</li> <li>CPU support:
<li>Implement call/return hooks (zero-cost if disabled).</li> <ul>
<li>Major redesign of internal function call handling.</li> <li>Port integrated memory allocator to Linux/x64 and Windows/x64.</li>
<li>Implement yield from C hooks.</li> <li>Port the interpreter to x64.</li>
<li>Add abstract C call handling to IR.</li> <li>Port DynASM to x64.</li>
<li>Improve KNUM fuse vs. load heuristics.</li> <li>Many 32/64 bit cleanups in the VM.</li>
<li>Drive the GC forward on string allocations in the parser.</li> <li>Allow building the interpreter with either x87 or SSE2 arithmetics.</li>
<li>Compile various <tt>io.*()</tt> functions.</li> <li>Disable JIT compiler on older non-SSE2 CPUs instead of aborting.</li>
<li>Compile <tt>math.sinh()</tt>, <tt>math.cosh()</tt>, <tt>math.tanh()</tt> </ul></li>
and <tt>math.random()</tt>.</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 <tt>lua_tocfunction()</tt>.</li>
<li>Fix cutoff register in JMP bytecode for some conditional expressions.</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 PHI marking algorithm for references from variant slots.</li>
<li>Fix <tt>package.cpath</tt> for non-default PREFIX.</li> <li>Fix <tt>package.cpath</tt> for non-default PREFIX.</li>
<li>Fix DWARF2 frame unwind information for interpreter on OSX.</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> </ul>
</div> </div>

View File

@ -44,7 +44,7 @@ LuaJIT is a <b>Just-In-Time Compiler</b> for the Lua<sup>*</sup>
programming language. programming language.
</p> </p>
<p> <p>
LuaJIT is Copyright &copy; 2005-2008 Mike Pall. LuaJIT is Copyright &copy; 2005-2010 Mike Pall.
LuaJIT is open source software, released under the LuaJIT is open source software, released under the
<a href="http://www.opensource.org/licenses/mit-license.php"><span class="ext">&raquo;</span>&nbsp;MIT/X license</a>. <a href="http://www.opensource.org/licenses/mit-license.php"><span class="ext">&raquo;</span>&nbsp;MIT/X license</a>.
</p> </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 considered to be <b>one of the fastest dynamic language
implementations</b>. It has outperfomed other dynamic languages on many implementations</b>. It has outperfomed other dynamic languages on many
cross-language benchmarks since its first release &mdash; often by a cross-language benchmarks since its first release &mdash; often by a
substantial margin. Only now, in 2009, other dynamic language VMs are substantial margin. In 2009 other dynamic language VMs started to catch up
starting to catch up with the performance of LuaJIT 1.x &hellip; with the performance of LuaJIT 1.x. Well, I couldn't let that slide. ;-)
</p> </p>
<p> <p>
2009 also marks the first release of the long-awaited <b>LuaJIT 2.0</b>. 2009 also marks the first release of the long-awaited <b>LuaJIT 2.0</b>.

View File

@ -206,12 +206,6 @@ interested in sponsoring a port to a particular architecture, please
use the given contact address. use the given contact address.
</li> </li>
<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 <b>Documentation</b> about the <b>internals</b> of LuaJIT is still sorely
missing. Although the source code is included and is IMHO well missing. Although the source code is included and is IMHO well
commented, many basic design decisions are in need of an explanation. commented, many basic design decisions are in need of an explanation.