]> git.ipfire.org Git - thirdparty/LuaJIT.git/commitdiff
Merge branch 'master' into v2.1
authorMike Pall <mike>
Mon, 1 May 2017 18:27:04 +0000 (20:27 +0200)
committerMike Pall <mike>
Mon, 1 May 2017 18:27:04 +0000 (20:27 +0200)
1  2 
doc/changes.html
doc/install.html
doc/running.html

index 426b18f7830873d0fe987532fd5afafacd4b1b4e,4a4d4fb9188fb853e402b4fd05ad47d6c572b22d..6522fa16138beacfe633bf69807b47489aff3a38
@@@ -74,72 -72,48 +74,114 @@@ to see whether newer versions are avail
  </p>
  
  <div class="major" style="background: #d0d0ff;">
 +<h2 id="LuaJIT-2.1.0-beta2">LuaJIT 2.1.0-beta2 &mdash; 2016-03-03</h2>
 +<ul>
 +<li>Enable trace stitching.</li>
 +<li>Use internal implementation for converting FP numbers to strings.</li>
 +<li>Parse Unicode escape <tt>'\u{XX...}'</tt> in string literals.</li>
 +<li>Add MIPS soft-float support.</li>
 +<li>Switch MIPS port to dual-number mode.</li>
 +<li>x86/x64: Add support for AES-NI, AVX and AVX2 to DynASM.</li>
 +<li>FFI: Add <tt>ssize_t</tt> declaration.</li>
 +<li>FFI: Parse <tt>#line NN</tt> and <tt>#NN</tt>.</li>
 +<li>Various minor fixes.</li>
 +</ul>
 +
 +<h2 id="LuaJIT-2.1.0-beta1">LuaJIT 2.1.0-beta1 &mdash; 2015-08-25</h2>
 +<p>
 +This is a brief summary of the major changes in LuaJIT 2.1 compared to 2.0.
 +Please take a look at the commit history for more details.
 +</p>
 +<ul>
 +<li>Changes to the VM core:
 +<ul>
 +<li>Add low-overhead profiler (<tt>-jp</tt>).</li>
 +<li>Add <tt>LJ_GC64</tt> mode: 64 bit GC object references (really: 47 bit). Interpreter-only for now.</li>
 +<li>Add <tt>LJ_FR2</tt> mode: Two-slot frame info. Required by <tt>LJ_GC64</tt> mode.</li>
 +<li>Add <tt>table.new()</tt> and <tt>table.clear()</tt>.</li>
 +<li>Parse binary number literals (<tt>0bxxx</tt>).</li>
 +</ul></li>
 +<li>Improvements to the JIT compiler:
 +<ul>
 +<li>Add trace stitching (disabled for now).</li>
 +<li>Compile various builtins: <tt>string.char()</tt>, <tt>string.reverse()</tt>, <tt>string.lower()</tt>, <tt>string.upper()</tt>, <tt>string.rep()</tt>, <tt>string.format()</tt>, <tt>table.concat()</tt>, <tt>bit.tohex()</tt>, <tt>getfenv(0)</tt>, <tt>debug.getmetatable()</tt>.</li>
 +<li>Compile <tt>string.find()</tt> for fixed string searches (no patterns).</li>
 +<li>Compile <tt>BC_TSETM</tt>, e.g. <tt>{1,2,3,f()}</tt>.</li>
 +<li>Compile string concatenations (<tt>BC_CAT</tt>).</li>
 +<li>Compile <tt>__concat</tt> metamethod.</li>
 +<li>Various minor optimizations.</li>
 +</ul></li>
 +<li>Internal Changes:
 +<ul>
 +<li>Add support for embedding LuaJIT bytecode for builtins.</li>
 +<li>Replace various builtins with embedded bytecode.</li>
 +<li>Refactor string buffers and string formatting.</li>
 +<li>Remove obsolete non-truncating number to integer conversions.</li>
 +</ul></li>
 +<li>Ports:
 +<ul>
 +<li>Add Xbox One port (<tt>LJ_GC64</tt> mode).</li>
 +<li>ARM64: Add port of the interpreter (<tt>LJ_GC64</tt> mode).</li>
 +<li>x64: Add separate port of the interpreter to <tt>LJ_GC64</tt> mode.</li>
 +<li>x86/x64: Drop internal x87 math functions. Use libm functions.</li>
 +<li>x86: Remove x87 support from interpreter. SSE2 is mandatory now.</li>
 +<li>PPC/e500: Drop support for this architecture.</li>
 +</ul></li>
 +<li>FFI library:
 +<ul>
 +<li>FFI: Add 64 bit bitwise operations.</li>
 +<li>FFI: Compile VLA/VLS and large cdata allocations with default initialization.</li>
 +<li>FFI: Compile conversions from functions to function pointers.</li>
 +<li>FFI: Compile lightuserdata to <tt>void *</tt> conversion.</li>
 +<li>FFI: Compile <tt>ffi.gc(cdata, nil)</tt>, too.</li>
 +<li>FFI: Add <tt>ffi.typeinfo()</tt>.</li>
 +</ul></li>
 +</ul>
 +</div>
 +
 +<div class="major" style="background: #ffffd0;">
+ <h2 id="LuaJIT-2.0.5">LuaJIT 2.0.5 &mdash; 2017-05-01</h2>
+ <ul>
+ <li>Add workaround for MSVC 2015 stdio changes.</li>
+ <li>Limit mcode alloc probing, depending on the available pool size.</li>
+ <li>Fix overly restrictive range calculation in mcode allocation.</li>
+ <li>Fix out-of-scope goto handling in parser.</li>
+ <li>Remove internal <tt>__mode = "K"</tt> and replace with safe check.</li>
+ <li>Add "proto" field to <tt>jit.util.funcinfo()</tt>.</li>
+ <li>Fix GC step size calculation.</li>
+ <li>Initialize <tt>uv->immutable</tt> for upvalues of loaded chunks.</li>
+ <li>Fix for cdata vs. non-cdata arithmetics/comparisons.</li>
+ <li>Drop leftover regs in 'for' iterator assignment, too.</li>
+ <li>Fix PHI remarking in SINK pass.</li>
+ <li>Don't try to record outermost <tt>pcall()</tt> return to lower frame.</li>
+ <li>Add guard for obscure aliasing between open upvalues and SSA slots.</li>
+ <li>Remove assumption that <tt>lj_math_random_step()</tt> doesn't clobber FPRs.</li>
+ <li>Fix handling of non-numeric strings in arithmetic coercions.</li>
+ <li>Fix recording of <tt>select(n, ...)</tt> with off-trace varargs</li>
+ <li>Fix install for cross-builds.</li>
+ <li>Don't allocate unused 2nd result register in JIT compiler backend.</li>
+ <li>Drop marks from replayed instructions when sinking.</li>
+ <li>Fix unsinking check.</li>
+ <li>Properly handle OOM in <tt>trace_save()</tt>.</li>
+ <li>Limit number of arguments given to <tt>io.lines()</tt> and <tt>fp:lines()</tt>.</li>
+ <li>Fix narrowing of <tt>TOBIT</tt>.</li>
+ <li>OSX: Fix build with recent XCode.</li>
+ <li>x86/x64: Don't spill an explicit <tt>REF_BASE</tt> in the IR.</li>
+ <li>x86/x64: Fix instruction length decoder.</li>
+ <li>x86/x64: Search for exit jumps with instruction length decoder.</li>
+ <li>ARM: Fix <tt>BLX</tt> encoding for Thumb interworking calls.</li>
+ <li>MIPS: Don't use <tt>RID_GP</tt> as a scratch register.</li>
+ <li>MIPS: Fix emitted code for U32 to float conversion.</li>
+ <li>MIPS: Backport workaround for compact unwind tables.</li>
+ <li>MIPS: Fix cross-endian jit.bcsave.</li>
+ <li>MIPS: Fix <tt>BC_ISNEXT</tt> fallback path.</li>
+ <li>MIPS: Fix use of ffgccheck delay slots in interpreter.</li>
+ <li>FFI: Fix FOLD rules for <tt>int64_t</tt> comparisons.</li>
+ <li>FFI: Fix SPLIT pass for <tt>CONV i64.u64</tt>.</li>
+ <li>FFI: Fix <tt>ipairs()</tt> recording.</li>
+ <li>FFI: Don't propagate qualifiers into subtypes of complex.</li>
+ </ul>
  <h2 id="LuaJIT-2.0.4">LuaJIT 2.0.4 &mdash; 2015-05-14</h2>
  <ul>
  <li>Fix stack check in narrowing optimization.</li>
Simple merge
Simple merge