aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--doc/changes.html100
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 &mdash; 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&nbsp;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> &rarr; <tt>src/jit/*</tt><br>
99 <tt>src/buildvm_*.dasc</tt> &rarr; <tt>src/vm_*.dasc</tt><br>
100 <tt>src/buildvm_*.h</tt> &rarr; removed<br>
101 <tt>src/buildvm*</tt> &rarr; <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> &rarr; <tt>uint32_t</tt> &rarr; <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",&nbsp;-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&nbsp;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 &mdash; 2012-05-09</h2> 176<h2 id="LuaJIT-2.0.0-beta10">LuaJIT 2.0.0-beta10 &mdash; 2012-05-09</h2>
77<ul> 177<ul>
78<li>New features: 178<li>New features: