@@ -72,6 +72,56 @@ <h1>LuaJIT Change History</h1>
72
72
</ p >
73
73
74
74
< div class ="major " style ="background: #d0d0ff; ">
75
+ < h2 id ="LuaJIT-2.0.4 "> LuaJIT 2.0.4 — 2015-05-14</ h2 >
76
+ < ul >
77
+ < li > Fix stack check in narrowing optimization.</ li >
78
+ < li > Fix Lua/C API typecheck error for special indexes.</ li >
79
+ < li > Fix string to number conversion.</ li >
80
+ < li > Fix lexer error for chunks without tokens.</ li >
81
+ < li > Don't compile < tt > IR_RETF</ tt > after < tt > CALLT</ tt > to ff with-side effects.</ li >
82
+ < li > Fix < tt > BC_UCLO</ tt > /< tt > BC_JMP</ tt > join optimization in Lua parser.</ li >
83
+ < li > Fix corner case in string to number conversion.</ li >
84
+ < li > Gracefully handle < tt > lua_error()</ tt > for a suspended coroutine.</ li >
85
+ < li > Avoid error messages when building with Clang.</ li >
86
+ < li > Fix snapshot #0 handling for traces with a stack check on entry.</ li >
87
+ < li > Fix fused constant loads under high register pressure.</ li >
88
+ < li > Invalidate backpropagation cache after DCE.</ li >
89
+ < li > Fix ABC elimination.</ li >
90
+ < li > Fix debug info for main chunk of stripped bytecode.</ li >
91
+ < li > Fix FOLD rule for < tt > string.sub(s, ...) == k</ tt > .</ li >
92
+ < li > Fix FOLD rule for < tt > STRREF</ tt > of < tt > SNEW</ tt > .</ li >
93
+ < li > Fix frame traversal while searching for error function.</ li >
94
+ < li > Prevent GC estimate miscalculation due to buffer growth.</ li >
95
+ < li > Prevent adding side traces for stack checks.</ li >
96
+ < li > Fix top slot calculation for snapshots with continuations.</ li >
97
+ < li > Fix check for reuse of SCEV results in < tt > FORL</ tt > .</ li >
98
+ < li > Add PS Vita port.</ li >
99
+ < li > Fix compatibility issues with Illumos.</ li >
100
+ < li > Fix DragonFly build (unsupported).</ li >
101
+ < li > OpenBSD/x86: Better executable memory allocation for W^X mode.</ li >
102
+ < li > x86: Fix argument checks for < tt > ipairs()</ tt > iterator.</ li >
103
+ < li > x86: < tt > lj_math_random_step()</ tt > clobbers XMM regs on OSX Clang.</ li >
104
+ < li > x86: Fix code generation for unused result of < tt > math.random()</ tt > .</ li >
105
+ < li > x64: Allow building with < tt > LUAJIT_USE_SYSMALLOC</ tt > and < tt > LUAJIT_USE_VALGRIND</ tt > .</ li >
106
+ < li > x86/x64: Fix argument check for bit shifts.</ li >
107
+ < li > x86/x64: Fix code generation for fused test/arith ops.</ li >
108
+ < li > ARM: Fix write barrier check in < tt > BC_USETS</ tt > .</ li >
109
+ < li > PPC: Fix red zone overflow in machine code generation.</ li >
110
+ < li > PPC: Don't use < tt > mcrxr</ tt > on PPE.</ li >
111
+ < li > Various archs: Fix excess stack growth in interpreter.</ li >
112
+ < li > FFI: Fix FOLD rule for < tt > TOBIT</ tt > + < tt > CONV num.u32</ tt > .</ li >
113
+ < li > FFI: Prevent DSE across < tt > ffi.string()</ tt > .</ li >
114
+ < li > FFI: No meta fallback when indexing pointer to incomplete struct.</ li >
115
+ < li > FFI: Fix initialization of unions of subtypes.</ li >
116
+ < li > FFI: Fix cdata vs. non-cdata arithmetic and comparisons.</ li >
117
+ < li > FFI: Fix < tt > __index</ tt > /< tt > __newindex</ tt > metamethod resolution for ctypes.</ li >
118
+ < li > FFI: Fix compilation of reference field access.</ li >
119
+ < li > FFI: Fix frame traversal for backtraces with FFI callbacks.</ li >
120
+ < li > FFI: Fix recording of indexing a struct pointer ctype object itself.</ li >
121
+ < li > FFI: Allow non-scalar cdata to be compared for equality by address.</ li >
122
+ < li > FFI: Fix pseudo type conversions for type punning.</ li >
123
+ </ ul >
124
+
75
125
< h2 id ="LuaJIT-2.0.3 "> LuaJIT 2.0.3 — 2014-03-12</ h2 >
76
126
< ul >
77
127
< li > Add PS4 port.</ li >
0 commit comments