Mike Pall
7400e2c0cc
Merge branch 'master' into v2.1
2014-05-27 15:59:20 +02:00
Mike Pall
fc76d540a0
x86: Fix code generation for unused result of math.random().
2014-05-27 15:25:34 +02:00
Mike Pall
2863b10956
Merge branch 'master' into v2.1
2014-02-20 15:09:02 +01:00
Mike Pall
2bc63bb6af
Prevent BASE register coalescing if parent uses IR_RETF.
2014-02-19 17:09:22 +01:00
Mike Pall
a9d4543601
Merge branch 'master' into v2.1
2014-01-16 23:18:34 +01:00
Mike Pall
ef59e54820
Bump copyright date to 2014.
2014-01-16 23:10:16 +01:00
Mike Pall
d1194a82eb
Low-overhead profiler, part 4: JIT compiler support.
2013-09-08 02:53:23 +02:00
Mike Pall
517500ba48
Save currently executing lua_State in g->cur_L.
...
This is only a good approximation due to deficiencies in the design of
the Lua/C API. It indicates _some_ valid state that is/was executing.
Also reorder L->cframe stores to achieve a synchronously consistent state.
2013-08-30 23:38:17 +02:00
Mike Pall
f1f7e40318
FFI: Compile VLA/VLS and large cdata allocs with default initialization.
2013-05-24 00:49:02 +02:00
Mike Pall
647cc4613f
Merge branch 'master' into v2.1
2013-05-16 20:07:53 +02:00
Mike Pall
0f79d4741f
Handle calls with max. args in backends even after SPLIT.
2013-05-16 19:59:38 +02:00
Mike Pall
acda75ad2c
Refactor CCallInfo representation for split arguments.
2013-05-13 19:49:46 +02:00
Mike Pall
a2c78810ca
Combine IR instruction dispatch for all assembler backends.
2013-04-22 22:32:41 +02:00
Mike Pall
2cd4ce6141
Use same HREF+EQ/NE optimization in all assembler backends.
2013-04-22 20:47:39 +02:00
Mike Pall
988e183965
Reorganize generic operations common to all assembler backends.
2013-04-22 17:34:36 +02:00
Mike Pall
5f1781a127
Compile string concatenations (BC_CAT).
2013-04-21 01:01:33 +02:00
Mike Pall
ac14d88030
Merge branch 'master' into v2.1
2013-04-04 18:20:58 +02:00
Mike Pall
389822d606
Fix spurious red zone overflows in machine code generation.
2013-04-04 17:19:31 +02:00
Mike Pall
6ba65cefb0
FFI/x86: Fix register allocation for 64 bit comparisons.
2013-04-04 17:05:00 +02:00
Mike Pall
b359ce804b
Remove obsolete non-truncating number to integer conversions.
2013-02-23 01:19:00 +01:00
Mike Pall
c3219b7d17
x86/x64: Drop xmm register/memory move tuning for K8.
2013-02-21 17:04:00 +01:00
Mike Pall
4a44c4ff69
Bump copyright date to 2013.
2013-02-11 12:54:48 +01:00
Mike Pall
2e8e587638
x86/x64: Always mark ref for shift count as non-weak.
2013-01-14 16:03:32 +01:00
Mike Pall
8b97dc738f
FFI: Fix code generation for bool call result check on x86/x64.
2013-01-02 23:56:49 +01:00
Mike Pall
32fa68d3e8
Fix assertion.
2012-11-14 21:54:17 +01:00
Mike Pall
1cd13f6b33
x64: Don't fuse implicitly 32-to-64 extended operands.
2012-11-13 19:20:52 +01:00
Mike Pall
4e5ef81b86
FFI: Fix recording of bool call result check on x86/x64.
2012-11-06 17:05:37 +01:00
Mike Pall
8d8dbf27b8
Fix x64 build.
2012-10-02 18:07:31 +02:00
Mike Pall
0ecdff43e8
x86: Fix register allocation for calls returning register pair.
2012-09-27 14:16:18 +02:00
Mike Pall
4c882fe714
Replace strtod() with builtin string to number conversion.
2012-08-25 23:02:29 +02:00
Mike Pall
4d9c29a78c
FFI: Box all accessed or returned enums.
2012-07-17 22:22:07 +02:00
Mike Pall
08d8ec0648
x86/x64: Fix fusion of unsigned byte comparisons with swapped ops.
2012-07-16 23:43:03 +02:00
Mike Pall
4da7ffc34b
Remove unneeded snapshot preps for sunk stores.
2012-07-03 23:19:45 +02:00
Mike Pall
17d3fc47f3
Avoid pesky compiler warnings about C++ keywords (eh?).
2012-07-03 13:19:32 +02:00
Mike Pall
0af3f47ba0
Add allocation sinking and store sinking optimization.
2012-07-02 23:47:12 +02:00
Mike Pall
5d0115ef8d
Add explicit IR_GCSTEP instruction.
2012-07-02 22:42:40 +02:00
Mike Pall
264177b0d0
Use HIOP for XSTORE in SPLIT pass.
2012-07-02 22:37:00 +02:00
Mike Pall
10ef109eef
Bump copyright date to 2012.
2012-01-23 22:42:42 +01:00
Mike Pall
10474987bd
Move helper for syncing data/instruction cache to lj_mcode.c.
...
Sync caches after dynamic code generation for FFI callbacks.
2011-12-12 23:10:46 +01:00
Mike Pall
2591b4524a
x64: Always extend stack arguments to pointer size.
2011-12-09 16:00:04 +01:00
Mike Pall
e162d8cef0
FFI: Fix stack adjustment for calls to stdcall/fastcall functions.
2011-12-01 16:27:24 +01:00
Mike Pall
dc2a39e46d
Get rid of snap->depth.
2011-11-20 13:23:25 +01:00
Mike Pall
2dc574d06b
FFI: Compile calls to stdcall, fastcall and vararg functions.
2011-10-27 01:57:30 +02:00
Mike Pall
17cb366fc9
x64: Fix code generation for BSWAP.
2011-10-25 21:14:01 +02:00
Mike Pall
32098921fd
Fix handling of alignment arguments (nil) to CALLX.
2011-10-24 16:14:01 +02:00
Mike Pall
fee957b22d
FFI: Cleanup/fix 64 bit arithmetic in assembler backend.
2011-10-22 02:02:51 +02:00
Mike Pall
2e5c0870bc
x64: Fix math.random() code generation.
2011-10-22 02:01:44 +02:00
Mike Pall
ff7f7a7180
Cleanup various endianess issues in assembler backend.
2011-10-22 01:35:57 +02:00
Mike Pall
45df079c01
FFI/x86: Fix CONV.u32.num rounding.
2011-10-19 00:18:36 +02:00
Mike Pall
2fcd562582
Don't fuse colocated array offsets without -Ofuse.
2011-10-19 00:17:19 +02:00
Mike Pall
882537a874
FFI: Fix unfused loads of float fields.
2011-10-13 20:53:01 +02:00
Mike Pall
deeb8196c4
Reorganize trace linking and track link types.
2011-06-28 23:23:34 +02:00
Mike Pall
6691e72eb8
Fix assertion.
2011-06-22 21:18:23 +02:00
Mike Pall
d4da9ff55e
x86/x64: Fix register allocation for variable shifts.
2011-06-22 20:38:07 +02:00
Mike Pall
e2246db688
x86/x64: Fix fusion of comparisons with u8/u16 XLOAD.
2011-06-22 17:56:41 +02:00
Mike Pall
8c5935000d
Add narrowing of modulo operator.
2011-06-03 18:48:02 +02:00
Mike Pall
eec28aa9fd
Move math helpers to lj_vmmath.c. Add missing log2/exp2 for Symbian.
2011-06-03 17:15:44 +02:00
Mike Pall
a522087371
x86/x64: Minor cleanup in assembler backend.
2011-05-31 21:39:09 +02:00
Mike Pall
d0115c65f5
More portability cleanups for assembler backend.
2011-05-22 17:13:16 +02:00
Mike Pall
58f38c254b
Move x86/x64 parts of JIT assembler backend to extra files.
2011-05-12 01:35:09 +02:00