Commit Graph

2016 Commits

Author SHA1 Message Date
Mike Pall
7dbf0b05f1 Fix saved bytecode encapsulated in ELF objects.
Thanks to Dimitry Andric.
2017-11-16 12:58:12 +01:00
Mike Pall
33082a6f47 ARM64: Fix xpcall() error case.
Thanks to Stefan Pejic.
2017-11-16 12:53:34 +01:00
Mike Pall
99cdfbf6a1 MIPS64: Fix register allocation in assembly of HREF.
Contributed by James Cowgill.
2017-11-08 12:54:03 +01:00
Mike Pall
06cd9fce7d ARM64: Fix assembly of HREFK.
Reported by Jason Teplitz.
2017-11-08 12:53:48 +01:00
Mike Pall
4b17a6a2ff Merge branch 'master' into v2.1 2017-11-08 12:53:24 +01:00
Mike Pall
9f0caad0e4 Fix FOLD rule for strength reduction of widening.
Reported by Matthew Burk.
2017-11-08 12:53:05 +01:00
Mike Pall
850f8c59d3 LJ_GC64: Make ASMREF_L references 64 bit.
Reported by Yichun Zhang.
2017-10-02 23:10:56 +02:00
Mike Pall
b4ed3219a1 LJ_GC64: Fix ir_khash for non-string GCobj.
Contributed by Peter Cawley.
2017-10-02 09:22:46 +02:00
Mike Pall
bf12f1dafb MIPS64: Hide internal function. 2017-09-18 09:50:22 +02:00
Mike Pall
05fbdf565c x64/LJ_GC64: Fix type-check-only variant of SLOAD.
Thanks to Peter Cawley.
2017-09-10 14:05:30 +02:00
Mike Pall
71b7bc8834 PPC: Add soft-float support to JIT compiler backend.
Contributed by Djordje Kovacevic and Stefan Pejic from RT-RK.com.
Sponsored by Cisco Systems, Inc.
2017-09-03 23:20:53 +02:00
Mike Pall
6b08248526 x64/LJ_GC64: Fix fallback case of asm_fuseloadk64().
Contributed by Peter Cawley.
2017-08-28 10:43:37 +02:00
Mike Pall
fd37da0d58 PPC: Add soft-float support to interpreter.
Contributed by Djordje Kovacevic and Stefan Pejic from RT-RK.com.
Sponsored by Cisco Systems, Inc.
2017-07-26 09:52:19 +02:00
Mike Pall
7e662e4f87 x64/LJ_GC64: Fix emit_rma(). 2017-07-26 09:52:53 +02:00
Mike Pall
cf2dfaf3b4 Merge branch 'master' into v2.1 2017-06-12 09:25:48 +02:00
Mike Pall
82151a4514 Modify fix for warning from 'ar'. 2017-06-12 09:24:00 +02:00
Mike Pall
6a71e71c14 Remove unused define.
Suggested by 罗泽轩.
2017-06-11 10:02:08 +02:00
Mike Pall
b0ecc6dd65 FreeBSD/x64: Avoid changing resource limits, if not needed. 2017-06-08 00:15:15 +02:00
Mike Pall
a057a07ab7 MIPS64: Add soft-float support to JIT compiler backend.
Contributed by Djordje Kovacevic and Stefan Pejic from RT-RK.com.
Sponsored by Cisco Systems, Inc.
2017-06-07 23:56:54 +02:00
Mike Pall
0e4a551809 Merge branch 'master' into v2.1 2017-06-07 19:39:41 +02:00
Mike Pall
c7c3c4da43 MIPS: Fix handling of spare long-range jump slots.
Contributed by Djordje Kovacevic and Stefan Pejic.
2017-06-07 19:36:46 +02:00
Mike Pall
79fe5782f8 Merge branch 'master' into v2.1 2017-06-07 19:17:47 +02:00
Mike Pall
7381b62035 MIPS: Use precise search for exit jump patching.
Contributed by Djordje Kovacevic and Stefan Pejic.
2017-06-07 19:16:22 +02:00
Mike Pall
6259c0b909 Merge branch 'master' into v2.1 2017-05-17 17:38:53 +02:00
Mike Pall
630ff3196a Add missing LJ_MAX_JSLOTS check.
Thanks to Yichun Zhang.
2017-05-17 17:37:35 +02:00
Mike Pall
31afda3181 Merge branch 'master' into v2.1 2017-05-09 21:01:23 +02:00
Mike Pall
1c89933f12 Fix LJ_MAX_JSLOTS assertion in rec_check_slots().
Thanks to Yichun Zhang.
2017-05-09 20:59:37 +02:00
Mike Pall
8271c643c2 RELEASE LuaJIT-2.1.0-beta3 2017-05-01 21:03:01 +02:00
Mike Pall
0bf80b07b0 RELEASE LuaJIT-2.0.5 2017-05-01 20:10:28 +02:00
Mike Pall
cf8a5bea89 Add FOLD rules for mixed BAND/BOR with constants. 2017-04-30 23:59:16 +02:00
Mike Pall
fbfbd7b9e1 FFI: Compile bitfield loads/stores. 2017-04-30 23:58:33 +02:00
Mike Pall
dc5eb65ccf Merge branch 'master' into v2.1 2017-04-17 12:29:52 +02:00
Mike Pall
02b4b1e556 Add workaround for MSVC 2015 stdio changes.
Contributed by Peter Cawley.
2017-04-17 12:29:35 +02:00
Mike Pall
ed54eace64 MIPS64: Fix stores of MULTRES.
Contributed by Stefan Pejic.
2017-04-17 12:04:08 +02:00
Mike Pall
58aaac3c64 MIPS64: Fix write barrier in BC_USETV.
Contributed by Stefan Pejic.
2017-04-17 12:02:33 +02:00
Mike Pall
18efb331a4 ARM64: Fix stores to vmstate.
Contributed by Stefan Pejic.
2017-04-17 12:00:04 +02:00
Mike Pall
de26f76e2e From Lua 5.2: Add lua_tonumberx() and lua_tointegerx().
Contributed by François Perrad.
2017-04-07 12:48:37 +02:00
Mike Pall
2b8de8cfc6 From Lua 5.2: Add luaL_setmetatable().
Contributed by François Perrad.
2017-04-07 12:38:05 +02:00
Mike Pall
cde968f91f From Lua 5.2: Add luaL_testudata().
Contributed by François Perrad.
2017-04-07 12:31:06 +02:00
Mike Pall
f2e2a3f757 From Lua 5.3: Add lua_isyieldable().
Contributed by François Perrad.
2017-04-07 12:27:09 +02:00
Mike Pall
ef23b70eb6 From Lua 5.2: Add lua_copy().
Contributed by François Perrad.
2017-04-07 12:24:26 +02:00
Mike Pall
c67a098292 From Lua 5.2: Add lua_version().
Contributed by François Perrad.
2017-04-07 12:21:41 +02:00
Mike Pall
9c685f7003 Refactor with LUA_OK.
Contributed by François Perrad.
2017-04-07 12:12:03 +02:00
Mike Pall
22dfa63283 Allow building on Haiku OS.
Note: this is not an officially supported target.
Thanks to kallisti5.
2017-04-07 12:05:18 +02:00
Mike Pall
7c7843e876 Merge branch 'master' into v2.1 2017-04-07 12:01:07 +02:00
Mike Pall
247b3624ff OSX: Fix build with recent XCode.
Contributed by Joseph Zupko.
2017-04-07 11:59:08 +02: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
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
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
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
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
Mike Pall
986854cbb2 ARM64: Fix code generation for S19 offsets.
Contributed by Zhongwei Yao.
2016-12-08 05:53:36 +01:00
Mike Pall
3975b6c9f4 ARM64: Fuse various BAND/BSHL/BSHR/BSAR combinations.
Contributed by Djordje Kovacevic and Stefan Pejic from RT-RK.com.
2016-12-08 04:09:29 +01:00
Mike Pall
2772cbc36e ARM64: Fuse FP multiply-add/sub.
Contributed by Djordje Kovacevic and Stefan Pejic from RT-RK.com.
2016-12-08 01:38:09 +01:00
Mike Pall
bfeb1167cd ARM64: Fuse XLOAD/XSTORE with STRREF/ADD/BSHL/CONV. 2016-12-07 18:40:31 +01:00
Mike Pall
2ac2cd4699 ARM64: Reorganize operand extension definitions. 2016-12-07 18:38:32 +01:00
Mike Pall
48b00297b3 ARM64: Add missing ldrb/strb instructions to disassembler.
Contributed by Djordje Kovacevic and Stefan Pejic from RT-RK.com.
2016-12-07 18:34:10 +01:00
Mike Pall
22511fbe2b ARM64: Fix pc-relative loads of consts. Cleanup branch codegen.
Thanks to Zhongwei Yao.
2016-12-07 09:42:43 +01:00
Mike Pall
3ad2bbf586 ARM64: Make use of tbz/tbnz and cbz/cbnz.
Contributed by Djordje Kovacevic and Stefan Pejic from RT-RK.com.
2016-11-29 19:30:40 +01:00
Mike Pall
d7243e1de0 Eliminate use of lightuserdata derived from static data pointers.
Required for >47 bit VA, e.g. ARM64.
2016-11-24 19:14:17 +01:00
Mike Pall
81259898ea ARM64: Emit more efficient trace exits.
Contributed by Djordje Kovacevic and Stefan Pejic from RT-RK.com.
2016-11-24 18:56:19 +01:00
Mike Pall
a56654460d Generalize deferred constant handling in backend to 64 bit. 2016-11-21 15:43:17 +01:00