Mike Pall
716f2daef8
LJ_GC64: Various followup fixes.
...
Contributed by Peter Cawley.
2016-10-20 20:55:12 +02:00
Mike Pall
bdcaf4bfd9
LJ_GC64: Fix HREF for pointers.
...
Contributed by Peter Cawley.
2016-10-19 09:48:38 +02:00
Mike Pall
f5983437a6
x64/LJ_GC64: Fix code generation for IR_KNULL call argument.
2016-06-05 13:07:43 +02:00
Mike Pall
cc05e79181
LJ_GC64: Ensure all IR slot fields are initialized.
2016-06-03 06:53:37 +02:00
Mike Pall
56fe899a06
Proper fix for LJ_GC64 changes to asm_href().
2016-05-28 13:36:14 +02:00
Mike Pall
6360f6e106
Fix collateral damage from LJ_GC64 changes to asm_href().
2016-05-28 00:35:07 +02:00
Mike Pall
bfe2a353ab
Merge branch 'master' into v2.1
2016-05-23 06:47:01 +02:00
Mike Pall
747feb6e4e
x86: Don't spill an explicit REF_BASE in the IR.
...
Thanks to Vyacheslav Egorov.
2016-05-23 06:46:30 +02:00
Mike Pall
2868715d80
x64/LJ_GC64: Add missing backend support and enable JIT compilation.
...
Contributed by Peter Cawley.
2016-05-23 06:01:54 +02:00
Mike Pall
6c8258d74b
LJ_FR2: Add support for trace recording and snapshots.
...
Contributed by Peter Cawley.
2016-05-23 01:49:00 +02:00
Mike Pall
7fb75ccc4c
Embed 64 bit constants directly in the IR, using two slots.
...
Contributed by Peter Cawley.
2016-05-23 00:25:29 +02:00
Mike Pall
786dbb2ebd
Add IR_FLOAD with REF_NIL for field loads from GG_State.
...
Contributed by Peter Cawley.
2016-05-21 01:00:49 +02:00
Mike Pall
cfa188f134
Move common 32/64 bit in-memory FP constants to jit_State.
...
Prerequisite for immovable IR.
Contributed by Peter Cawley.
2016-05-21 00:02:45 +02:00
Mike Pall
475a6ae33f
Merge branch 'master' into v2.1
2016-05-20 20:26:39 +02:00
Mike Pall
37e1e70313
Add guard for obscure aliasing between open upvalues and SSA slots.
...
Thanks to Peter Cawley.
2016-05-20 20:24:06 +02:00
Mike Pall
6a9973203c
Merge branch 'master' into v2.1
2016-05-06 12:09:23 +02:00
Mike Pall
f05280e415
x86/x64: Fix instruction length decoder.
...
Thanks to Peter Cawley.
2016-05-06 12:08:00 +02:00
Mike Pall
4c6498d245
Merge branch 'master' into v2.1
2016-04-18 13:41:41 +02:00
Mike Pall
cc4f5d056a
Whitespace.
2016-04-18 13:40:49 +02:00
Mike Pall
d13d420980
Merge branch 'master' into v2.1
2016-04-18 11:17:15 +02:00
Mike Pall
73680a5fc7
x86/x64: Search for exit jumps with instruction length decoder.
...
Contributed by Peter Cawley.
2016-04-18 11:16:13 +02:00
Mike Pall
892887e584
x86: Generate BMI2 shifts and rotates, if available.
...
Contributed by Peter Cawley.
2016-03-28 23:05:20 +02:00
Mike Pall
f4231949b5
Merge branch 'master' into v2.1
2016-03-03 12:11:37 +01:00
Mike Pall
db1b399af1
Bump copyright date to 2016.
2016-03-03 12:02:22 +01:00
Mike Pall
6cb38f788f
Merge branch 'master' into v2.1
2016-02-10 18:53:42 +01:00
Mike Pall
a443889677
Don't allocate unused 2nd result register in JIT compiler backend.
2016-02-10 18:51:02 +01:00
Mike Pall
576ddf1db5
Merge branch 'master' into v2.1
2015-02-21 21:46:22 +01:00
Mike Pall
4fa51affe8
x86/x64: Fix code generation for fused test/arith ops.
...
Thanks to Alexander Nasonov and AFL.
2015-02-21 21:44:41 +01:00
Mike Pall
0a5045c34e
Merge branch 'master' into v2.1
2015-01-06 00:12:45 +01:00
Mike Pall
86913b9bbf
Bump copyright date to 2015.
2015-01-05 23:59:31 +01:00
Mike Pall
054e6abe37
Add LJ_FR2 mode: Two-slot frame info.
2015-01-03 15:04:38 +01:00
Mike Pall
ad03eba715
x86/x64: Drop internal x87 math functions. Use libm functions.
2014-12-08 02:02:34 +01:00
Mike Pall
d2809bec24
Merge branch 'master' into v2.1
2014-10-08 22:06:23 +02:00
Mike Pall
6d0654d3ec
Fix fused constant loads under high register pressure.
2014-10-08 22:04:51 +02:00
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