Browse Source

Update docs and changelog.

Mike Pall 15 years ago
parent
commit
4a7ee2cb66
3 changed files with 39 additions and 18 deletions
  1. 36 9
      doc/changes.html
  2. 3 3
      doc/luajit.html
  3. 0 6
      doc/status.html

+ 36 - 9
doc/changes.html

@@ -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:
+<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 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>Implement yield from C hooks.</li>
-<li>Add abstract C call handling to IR.</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>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 various <tt>io.*()</tt> functions.</li>
 <li>Compile <tt>math.sinh()</tt>, <tt>math.cosh()</tt>, <tt>math.tanh()</tt>
 <li>Compile <tt>math.sinh()</tt>, <tt>math.cosh()</tt>, <tt>math.tanh()</tt>
 and <tt>math.random()</tt>.</li>
 and <tt>math.random()</tt>.</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>
+</ul></li>
 </ul>
 </ul>
 </div>
 </div>
 
 

+ 3 - 3
doc/luajit.html

@@ -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
-starting to catch up with the performance of LuaJIT 1.x &hellip;
+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>
 <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>.

+ 0 - 6
doc/status.html

@@ -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.