Mike Pall
05ef03e2d0
Don't bother to chain NOPs.
2011-08-11 22:04:38 +02:00
Mike Pall
19b84009b2
Fix type mismatch in XSTORE forwarding.
2011-02-14 23:02:16 +01:00
Mike Pall
97d0874ff5
Add IR_XBAR, a barrier against XLOAD/XSTORE optimizations.
2011-02-07 21:59:25 +01:00
Mike Pall
26fadcd25b
FFI: Record simple C function calls.
...
Only handles cdecl and fixarg C functions.
Doesn't handle pass-by-value aggregates.
Doesn't handle 64 bit args/returns on 32 bit CPUs.
2011-02-05 21:50:15 +01:00
Mike Pall
8407ac0eca
Add volatile XLOADs.
2011-01-19 02:05:12 +01:00
Mike Pall
06f99fc3df
Bump copyright date to 2011.
2011-01-09 17:12:53 +01:00
Mike Pall
ddfa7fc246
Add conversions for type mismatches in XSTORE forwarding.
2010-12-31 22:50:06 +01:00
Mike Pall
4f2f44dd97
Avoid compiler warnings.
2010-12-22 23:20:50 +01:00
Mike Pall
dbab6cf511
Reassociate XLOAD across PHIs to handle a[i-1] forwarding case.
...
Improved SciMark scores: http://luajit.org/download/scimark.lua
x86 SciMark LARGE | FFT SOR MC SPARSE LU
-----------------------+---------------------------------------
GCC 4.4.3 623.8 | 91.0 883.5 190.4 784.7 1169.6
LuaJIT git +FFI 651.2 | 97.2 1021.9 323.4 673.7 1139.6
LuaJIT git 527.7 | 91.4 1008.5 225.6 400.0 913.2
x64 SciMark LARGE | FFT SOR MC SPARSE LU
-----------------------+---------------------------------------
GCC 4.4.3 614.7 | 97.7 883.5 228.5 734.0 1129.9
JVM 1.6.0_22 707.5 | 79.2 1118.1 385.5 658.9 1295.7
LuaJIT git +FFI 632.8 | 89.1 1035.8 298.3 648.1 1092.9
LuaJIT git 516.1 | 88.4 995.4 225.6 382.1 888.9
2010-12-20 22:32:01 +01:00
Mike Pall
c9a0b9ea9e
Improve alias analysis for cdata allocations.
2010-12-20 15:26:05 +01:00
Mike Pall
9666cf52ce
Fix type-based alias analysis for XLOAD/XSTORE.
2010-12-12 23:09:26 +01:00
Mike Pall
74317fa0ef
Add alias analysis for XLOAD/XSTORE. Add DSE for XSTORE.
2010-12-12 22:32:52 +01:00
Mike Pall
db3d16bfd7
Add IR_XSTORE.
2010-12-06 01:48:19 +01:00
Mike Pall
5a13fa69d9
Add IR_KINT64.
2010-12-05 22:12:31 +01:00
Mike Pall
4cd2299acd
Improve AA for field accesses: disambiguate new allocations.
2010-09-21 15:21:26 +02:00
Mike Pall
38628d93b8
Improve FOLD/CSE of field loads and array/hash refs across NEWREF.
2010-09-21 02:28:14 +02:00
Mike Pall
23b5c56d41
Improve alias analysis: disambiguate new allocations.
2010-09-21 01:31:04 +02:00
Mike Pall
8dc76ee327
Add IR_VLOAD for vararg loads.
...
Also fixes the broken AA improvement in the last commit.
2010-09-14 19:58:27 +02:00
Mike Pall
23655bd52e
Improve alias analysis for vararg loads.
2010-09-14 16:48:52 +02:00
Mike Pall
1d1d9221f3
Fold HREF of TNEW/TDUP to niltv. Fold HLOAD of niltv to nil.
2010-03-28 06:53:41 +02:00
Mike Pall
99d153bef9
Improve alias analysis of upvalues using a disambiguation hash value.
...
All upvalue objects hold a disambiguation hash value now.
It's built from the parent prototype and the slot number.
Different hash values imply the upvalues cannot alias.
Same hash values don't imply anything (collision or different closures).
Upvalue disambiguation makes use of a reduced hash due to IR contraints.
2010-01-09 23:59:43 +01:00
Mike Pall
4d9be5b8f8
Bump all copyright dates to 2010.
2010-01-09 14:28:11 +01:00
Mike Pall
3f1f9e11f4
Fast forward to sync public repo.
...
Compile math.sinh(), math.cosh(), math.tanh() and math.random().
Compile various io.*() functions.
Drive the GC forward on string allocations in the parser.
Improve KNUM fuse vs. load heuristics.
Add abstract C call handling to IR.
2009-12-08 20:35:29 +01:00
Mike Pall
1d1fed48a0
RELEASE LuaJIT-2.0.0-beta2
2009-12-08 19:49:20 +01:00
Mike Pall
55b1695971
RELEASE LuaJIT-2.0.0-beta1
2009-12-08 19:46:35 +01:00