Demi Obenour
bbec2d4760
JIT-compile bitfield stores
...
This commit implements compilation of bitfield stores. The
generated IR is not good – in fact, it’s downright terrible – but
it is certainly a big improvement over these operations being
banished to the interpreter.
2017-04-02 21:14:17 -04:00
Demi Obenour
bc01981736
JIT-compile bitfield loads
...
This PR implements JIT compilation of bitfield loads. Stores to
bitfields are still NYI.
2017-04-01 18:27:17 -04:00
Mike Pall
de97b9d52b
Add some more changes and extensions from Lua 5.2.
...
Contributed by François Perrad.
2017-03-30 12:45:14 +02:00
Mike Pall
dc320ca70f
Remove old Lua 5.0 compatibility defines.
...
Suggested by François Perrad.
2017-03-30 11:40:49 +02:00
Mike Pall
c29afcb1a3
Merge branch 'master' into v2.1
2017-03-30 11:38:16 +02:00
Mike Pall
e205ad0c55
FFI: Fix FOLD rules for int64_t comparisons.
...
Thanks to Peter Cawley.
2017-03-30 11:35:29 +02:00
Mike Pall
3143b21894
ARM64: Add big-endian support.
...
Contributed by Djordje Kovacevic and Stefan Pejic from RT-RK.com.
Sponsored by Cisco Systems, Inc.
2017-03-30 11:30:01 +02:00
Mike Pall
78f5f1cef1
x64/LJ_GC64: Fix emit_loadk64().
...
Contributed by Peter Cawley.
2017-03-21 10:10:20 +01:00
Mike Pall
024ade796f
LJ_GC64: Fix BC_CALLM snapshot handling.
2017-03-21 00:59:38 +01:00
Mike Pall
fa126c5f97
x64/LJ_GC64: Fix assembly of CNEWI with 64 bit constant pointer.
...
Tracked down by Luke Gorrie.
2017-03-21 00:58:02 +01:00
Mike Pall
779a1eb8e6
ARM64: Fix Nintendo Switch build.
...
Thanks to Eddie Edwards.
2017-03-20 23:53:16 +01:00
Mike Pall
0cf78854a9
ARM64: Fix XLOAD/XSTORE with FP operand.
...
Thanks to Stefan Pejic.
2017-03-20 23:49:57 +01:00
Mike Pall
de5568e0ea
Remove Lua 5.0 compatibility defines.
...
Suggested by François Perrad.
2017-03-17 12:07:21 +01:00
Mike Pall
d3e36e7920
Merge branch 'master' into v2.1
2017-03-08 23:04:46 +01:00
Mike Pall
f50bf7585a
Remove unnecessary mcode alloc pointer check.
...
Also fixes Illumos address space issue reported by Theo Schlossnagle.
2017-03-08 23:02:24 +01:00
Mike Pall
d62459fc39
Limit mcode alloc probing, depending on the available pool size.
...
Contributed by Alexey Kopytov.
2017-03-08 23:01:47 +01:00
Mike Pall
4e308361bf
Fix overly restrictive range calculation in mcode allocation.
...
Contributed by Alexey Kopytov.
2017-03-08 22:59:44 +01:00
Mike Pall
ff648369aa
Fix out-of-scope goto handling in parser.
...
Many thanks to Demetrios Obenour for tracking down this long-standing bug.
2017-03-08 22:16:43 +01:00
Mike Pall
3ab9f5a18d
Remove internal __mode = "K" and replace with safe check.
2017-03-08 22:03:17 +01:00
Mike Pall
eef77a6d77
Fix annoying warning, due to deterministic binutils configuration.
2017-03-08 22:02:07 +01:00
Mike Pall
a9740d9edb
DynASM: Fix warning.
2017-03-08 21:59:14 +01:00
Mike Pall
a25c0b99b8
MIPS64, part 2: Add MIPS64 hard-float JIT compiler backend.
...
Contributed by Djordje Kovacevic and Stefan Pejic from RT-RK.com.
Sponsored by Cisco Systems, Inc.
2017-02-20 03:43:10 +01:00
Mike Pall
4416e885d2
Fix FOLD rules for math.abs() and FP negation.
...
Broken since SIMD constants were switched to IR_FLOAD REF_NIL.
2017-02-20 02:51:31 +01:00
Mike Pall
019fb9d1e9
Fix soft-float math.abs() and negation.
...
Broken since SIMD constants were switched to IR_FLOAD REF_NIL.
2017-02-20 02:51:05 +01:00
Mike Pall
130d1dc5f2
x64/LJ_GC64: Fix warning for DUALNUM build.
2017-02-20 02:44:29 +01:00
Mike Pall
f640ec713a
x64/LJ_GC64: Fix (currently unused) integer stores in asm_tvptr().
2017-02-20 02:42:54 +01:00
Mike Pall
0a46ef1ac6
ARM64: Cleanup and de-cargo-cult TValue store generation.
2017-02-20 02:41:35 +01:00
Mike Pall
d0759e41a1
Merge branch 'master' into v2.1
2017-02-20 02:39:57 +01:00
Mike Pall
892d370edd
MIPS: Don't use RID_GP as a scratch register.
2017-02-20 02:35:24 +01:00
Mike Pall
ee33a1f9b3
MIPS: Fix emitted code for U32 to float conversion.
2017-02-20 02:35:00 +01:00
Mike Pall
1abd779907
MIPS: Backport workaround for compact unwind tables.
2017-02-20 02:29:42 +01:00
Mike Pall
6bf3e4d6e6
Make checkptrGC() actually work.
...
Neither LJ_64 nor LJ_GC64 are defined when lj_def.h is included.
So we'll need to use lazy C macro evaluation.
2017-02-20 00:13:09 +01:00
Mike Pall
5aa0201374
ARM64: Fix AREF/HREF/UREF fusion.
...
Thanks to Zhongwei Yao.
2017-02-16 20:41:46 +01:00
Mike Pall
bd7e42e574
Fix extension docs about package.searchers.
2017-01-18 01:45:47 +01:00
Mike Pall
71ff7ef8a7
Merge branch 'master' into v2.1
2017-01-17 12:41:05 +01:00
Mike Pall
b93a1dd0c8
Bump copyright date to 2017.
2017-01-17 12:35:03 +01:00
Mike Pall
c94b921f92
LJ_GC64: Add build options and install instructions.
2017-01-17 12:21:12 +01:00
Mike Pall
c198167690
Add some more extensions from Lua 5.2/5.3.
...
Contributed by François Perrad.
2017-01-17 11:37:28 +01:00
Mike Pall
ed4ce98ac1
Merge branch 'master' into v2.1
2017-01-17 10:55:41 +01:00
Mike Pall
a1e13fa6e4
Fix HTML formatting.
2017-01-17 10:55:31 +01:00
Mike Pall
12c0df4189
Merge branch 'master' into v2.1
2017-01-17 10:47:42 +01:00
Mike Pall
a2013dd39a
Fix cross-endian jit.bcsave for MIPS target.
2017-01-17 10:46:45 +01:00
Mike Pall
8e5d7bec0d
ARM64: Remove unused variables in disassembler.
...
Thanks to François Perrad.
2016-12-30 17:54:10 +01:00
Mike Pall
ebec2530be
ARM64: Fuse BOR/BXOR and BNOT into ORN/EON.
...
Contributed by Djordje Kovacevic and Stefan Pejic from RT-RK.com.
2016-12-15 22:47:40 +01:00
Mike Pall
3cfa9cb2bb
Merge branch 'master' into v2.1
2016-12-15 22:46:26 +01:00
Mike Pall
fb61f7cbe3
Add "proto" field to jit.util.funcinfo().
...
Backport.
2016-12-15 22:45:28 +01:00
Mike Pall
1973807480
Add "proto" field to jit.util.funcinfo().
2016-12-13 21:30:13 +01:00
Mike Pall
4ccd876a65
ARM64: Use the correct FUSE check.
...
Oops, my bad.
2016-12-09 18:24:48 +01:00
Mike Pall
44b99ff14d
ARM64: Fuse BOR(BSHL, BSHR) into EXTR/ROR.
...
Contributed by Djordje Kovacevic and Stefan Pejic from RT-RK.com.
2016-12-09 18:16:12 +01:00
Mike Pall
ec2756ba78
Add missing FOLD rule for 64 bit shift+BAND simplification.
2016-12-08 22:38:35 +01:00