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;">
 <h2 id="snap">Development Snapshot</h2>
 <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>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>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>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>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>
 </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.
 </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
 <a href="http://www.opensource.org/licenses/mit-license.php"><span class="ext">&raquo;</span>&nbsp;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 &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>
 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.
 </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.