diff options
| author | Mike Pall <mike> | 2012-10-16 19:44:48 +0200 |
|---|---|---|
| committer | Mike Pall <mike> | 2012-10-16 19:44:48 +0200 |
| commit | a0f83f6b9610cfed1c3a3b161fe715c9548ac7e5 (patch) | |
| tree | c1061ecbd96a2238c4b9665308c31b33669ae3d4 /doc/changes.html | |
| parent | bbe35adfcd1d07c36b50a050fc09c34fd166d67e (diff) | |
| download | luajit-a0f83f6b9610cfed1c3a3b161fe715c9548ac7e5.tar.gz luajit-a0f83f6b9610cfed1c3a3b161fe715c9548ac7e5.tar.bz2 luajit-a0f83f6b9610cfed1c3a3b161fe715c9548ac7e5.zip | |
Update changelog.
Diffstat (limited to 'doc/changes.html')
| -rw-r--r-- | doc/changes.html | 100 |
1 files changed, 100 insertions, 0 deletions
diff --git a/doc/changes.html b/doc/changes.html index 50706a11..20c2fc59 100644 --- a/doc/changes.html +++ b/doc/changes.html | |||
| @@ -73,6 +73,106 @@ to see whether newer versions are available. | |||
| 73 | </p> | 73 | </p> |
| 74 | 74 | ||
| 75 | <div class="major" style="background: #ffd0d0;"> | 75 | <div class="major" style="background: #ffd0d0;"> |
| 76 | <h2 id="LuaJIT-2.0.0-beta11">LuaJIT 2.0.0-beta11 — 2012-10-16</h2> | ||
| 77 | <ul> | ||
| 78 | <li>New features: | ||
| 79 | <ul> | ||
| 80 | <li>Use ARM VFP instructions, if available (build-time detection).</li> | ||
| 81 | <li>Add support for ARM hard-float EABI (<tt>armhf</tt>).</li> | ||
| 82 | <li>Add PS3 port.</li> | ||
| 83 | <li>Add many features from Lua 5.2, e.g. <tt>goto</tt>/labels. | ||
| 84 | Refer to <a href="extensions.html#lua52">this list</a>.</li> | ||
| 85 | <li>FFI: Add parameterized C types.</li> | ||
| 86 | <li>FFI: Add support for copy constructors.</li> | ||
| 87 | <li>FFI: Equality comparisons never raise an error (treat as unequal instead).</li> | ||
| 88 | <li>FFI: Box all accessed or returned enums.</li> | ||
| 89 | <li>FFI: Check for <tt>__new</tt> metamethod when calling a constructor.</li> | ||
| 90 | <li>FFI: Handle <tt>__pairs</tt>/<tt>__ipairs</tt> metamethods for cdata objects.</li> | ||
| 91 | <li>FFI: Convert <tt>io.*</tt> file handle to <tt>FILE *</tt> pointer (but as a <tt>void *</tt>).</li> | ||
| 92 | <li>FFI: Detect and support type punning through unions.</li> | ||
| 93 | <li>FFI: Improve various error messages.</li> | ||
| 94 | </ul></li> | ||
| 95 | <li>Build-system reorganization: | ||
| 96 | <ul> | ||
| 97 | <li>Reorganize directory layout:<br> | ||
| 98 | <tt>lib/*</tt> → <tt>src/jit/*</tt><br> | ||
| 99 | <tt>src/buildvm_*.dasc</tt> → <tt>src/vm_*.dasc</tt><br> | ||
| 100 | <tt>src/buildvm_*.h</tt> → removed<br> | ||
| 101 | <tt>src/buildvm*</tt> → <tt>src/host/*</tt></li> | ||
| 102 | <li>Add minified Lua interpreter plus Lua BitOp (<tt>minilua</tt>) to run DynASM.</li> | ||
| 103 | <li>Change DynASM bit operations to use Lua BitOp</li> | ||
| 104 | <li>Translate only <tt>vm_*.dasc</tt> for detected target architecture.</li> | ||
| 105 | <li>Improve target detection for <tt>msvcbuild.bat</tt>.</li> | ||
| 106 | <li>Fix build issues on Cygwin and MinGW with optional MSys.</li> | ||
| 107 | <li>Handle cross-compiles with FPU/no-FPU or hard-fp/soft-fp ABI mismatch.</li> | ||
| 108 | <li>Remove some library functions for no-JIT/no-FFI builds.</li> | ||
| 109 | <li>Add uninstall target to top-level Makefile.</li> | ||
| 110 | </ul></li> | ||
| 111 | <li>Correctness and completeness: | ||
| 112 | <ul> | ||
| 113 | <li>Preserve snapshot #0 PC for all traces.</li> | ||
| 114 | <li>Fix argument checks for <tt>coroutine.create()</tt>.</li> | ||
| 115 | <li>Command line prints version and JIT status to <tt>stdout</tt>, not <tt>stderr</tt>.</li> | ||
| 116 | <li>Fix userdata <tt>__gc</tt> separations at Lua state close.</li> | ||
| 117 | <li>Fix <tt>TDUP</tt> to <tt>HLOAD</tt> forwarding for <tt>LJ_DUALNUM</tt> builds.</li> | ||
| 118 | <li>Fix buffer check in bytecode writer.</li> | ||
| 119 | <li>Make <tt>os.date()</tt> thread-safe.</li> | ||
| 120 | <li>Add missing declarations for MSVC intrinsics.</li> | ||
| 121 | <li>Fix dispatch table modifications for return hooks.</li> | ||
| 122 | <li>Workaround for MSVC conversion bug (<tt>double</tt> → <tt>uint32_t</tt> → <tt>int32_t</tt>).</li> | ||
| 123 | <li>Fix FOLD rule <tt>(i-j)-i => 0-j</tt>.</li> | ||
| 124 | <li>Never use DWARF unwinder on Windows.</li> | ||
| 125 | <li>Fix shrinking of direct mapped blocks in builtin allocator.</li> | ||
| 126 | <li>Limit recursion depth in <tt>string.match()</tt> et al.</li> | ||
| 127 | <li>Fix late despecialization of <tt>ITERN</tt> after loop has been entered.</li> | ||
| 128 | <li>Fix <tt>'f'</tt> and <tt>'L'</tt> options for <tt>debug.getinfo()</tt> and <tt>lua_getinfo()</tt>.</li> | ||
| 129 | <li>Fix <tt>package.searchpath()</tt>.</li> | ||
| 130 | <li>OSX: Change dylib names to be consistent with other platforms.</li> | ||
| 131 | <li>Android: Workaround for broken <tt>sprintf("%g", -0.0)</tt>.</li> | ||
| 132 | <li>x86: Remove support for ancient CPUs without <tt>CMOV</tt> (before Pentium Pro).</li> | ||
| 133 | <li>x86: Fix register allocation for calls returning register pair.</li> | ||
| 134 | <li>x86/x64: Fix fusion of unsigned byte comparisons with swapped operands.</li> | ||
| 135 | <li>ARM: Fix <tt>tonumber()</tt> argument check.</li> | ||
| 136 | <li>ARM: Fix modulo operator and <tt>math.floor()</tt>/<tt>math.ceil()</tt> for <tt>inf</tt>/<tt>nan</tt>.</li> | ||
| 137 | <li>ARM: Invoke SPLIT pass for leftover <tt>IR_TOBIT</tt>.</li> | ||
| 138 | <li>ARM: Fix BASE register coalescing.</li> | ||
| 139 | <li>PPC: Fix interpreter state setup in callbacks.</li> | ||
| 140 | <li>PPC: Fix <tt>string.sub()</tt> range check.</li> | ||
| 141 | <li>MIPS: Support generation of MIPS/MIPSEL bytecode object files.</li> | ||
| 142 | <li>MIPS: Fix calls to <tt>floor()</tt>/<tt>ceil()</tt><tt>/trunc()</tt>.</li> | ||
| 143 | <li>ARM/PPC: Detect more target architecture variants.</li> | ||
| 144 | <li>ARM/PPC/e500/MIPS: Fix tailcalls from fast functions, esp. <tt>tostring()</tt>.</li> | ||
| 145 | <li>ARM/PPC/MIPS: Fix rematerialization of FP constants.</li> | ||
| 146 | <li>FFI: Don't call <tt>FreeLibrary()</tt> on our own EXE/DLL.</li> | ||
| 147 | <li>FFI: Resolve metamethods for constructors, too.</li> | ||
| 148 | <li>FFI: Properly disable callbacks on iOS (would require executable memory).</li> | ||
| 149 | <li>FFI: Fix cdecl string parsing during recording.</li> | ||
| 150 | <li>FFI: Show address pointed to for <tt>tostring(ref)</tt>, too.</li> | ||
| 151 | <li>FFI: Fix alignment of C call argument/return structure.</li> | ||
| 152 | <li>FFI: Initialize all fields of standard types.</li> | ||
| 153 | <li>FFI: Fix callback handling when new C types are declared in callback.</li> | ||
| 154 | <li>FFI: Fix recording of constructors for pointers.</li> | ||
| 155 | <li>FFI: Always resolve metamethods for pointers to structs.</li> | ||
| 156 | <li>FFI: Correctly propagate alignment when interning nested types.</li> | ||
| 157 | </ul></li> | ||
| 158 | <li>Structural and performance enhancements: | ||
| 159 | <ul> | ||
| 160 | <li>Add allocation sinking and store sinking optimization.</li> | ||
| 161 | <li>Constify immutable upvalues.</li> | ||
| 162 | <li>Add builtin string to integer or FP number conversion. Improves cross-platform consistency and correctness.</li> | ||
| 163 | <li>Create string hash slots in template tables for non-const values, too. Avoids later table resizes.</li> | ||
| 164 | <li>Eliminate <tt>HREFK</tt> guard for template table references.</li> | ||
| 165 | <li>Add various new FOLD rules.</li> | ||
| 166 | <li>Don't use stack unwinding for <tt>lua_yield()</tt> (slow on x64).</li> | ||
| 167 | <li>ARM, PPC, MIPS: Improve <tt>XLOAD</tt> operand fusion and register hinting.</li> | ||
| 168 | <li>PPC, MIPS: Compile <tt>math.sqrt()</tt> to sqrt instruction, if available.</li> | ||
| 169 | <li>FFI: Fold <tt>KPTR</tt> + constant offset in SPLIT pass.</li> | ||
| 170 | <li>FFI: Optimize/inline <tt>ffi.copy()</tt> and <tt>ffi.fill()</tt>.</li> | ||
| 171 | <li>FFI: Compile and optimize array/struct copies.</li> | ||
| 172 | <li>FFI: Compile <tt>ffi.typeof(cdata|ctype)</tt>, <tt>ffi.sizeof()</tt>, <tt>ffi.alignof()</tt>, <tt>ffi.offsetof()</tt> and <tt>ffi.gc()</tt>.</li> | ||
| 173 | </ul></li> | ||
| 174 | </ul> | ||
| 175 | |||
| 76 | <h2 id="LuaJIT-2.0.0-beta10">LuaJIT 2.0.0-beta10 — 2012-05-09</h2> | 176 | <h2 id="LuaJIT-2.0.0-beta10">LuaJIT 2.0.0-beta10 — 2012-05-09</h2> |
| 77 | <ul> | 177 | <ul> |
| 78 | <li>New features: | 178 | <li>New features: |
