Commit Graph

2385 Commits

Author SHA1 Message Date
Mike Pall
e957737650 Disable unreliable assertion for external frame unwinding.
Broken on Fedora/ARM64. Reported by Yichun Zhang.
2021-06-25 12:53:23 +02:00
Mike Pall
95140c5001 Flush and close output file after profiling run.
Thanks to Sergey Ostanevich.
2021-06-25 12:48:42 +02:00
Mike Pall
16d38a4b21 Avoid conflict between 64 bit lightuserdata and ITERN key.
Reported by XmiliaH.
2021-06-25 12:45:51 +02:00
Mike Pall
3f9389edc6 Throw any errors before stack changes in trace stitching.
Thanks to doujiang24.
2021-06-14 14:56:54 +02:00
Mike Pall
ac02a120ef String buffers, part 2e: add serialization string dictionary.
Sponsored by fmad.io.
2021-06-07 12:03:22 +02:00
Mike Pall
52449e2a1e Fix MinGW static build.
Reported by Sundaram Ramaswamy.
2021-06-03 20:28:48 +02:00
Mike Pall
7d267973e2 Fix dependencies. 2021-06-03 10:07:00 +02:00
Mike Pall
65ff33a4af Fix IR_BUFHDR assembly. 2021-06-03 10:05:20 +02:00
Mike Pall
1b7171c339 FFI: Support FFI numbers in string.format() and buf:putf(). 2021-06-03 03:22:58 +02:00
Mike Pall
69138082a3 ARM64: More improvements to the generation of immediates. 2021-06-03 03:21:56 +02:00
Mike Pall
a119497bec String buffers, part 2d: basic string buffer methods.
Sponsored by fmad.io.
2021-06-01 05:16:32 +02:00
Mike Pall
edd5cbadc5 String buffers, part 2c: abstract out string.format.
Sponsored by fmad.io.
2021-06-01 05:14:18 +02:00
Mike Pall
50d6883e60 Abstract out on-demand loading of FFI library. 2021-06-01 01:01:15 +02:00
Mike Pall
61990cef05 String buffers, part 2b: Add extended string buffers. Use in serializer.
Sponsored by fmad.io.
2021-06-01 00:55:51 +02:00
Mike Pall
394fb6267a String buffers, part 2a: internal SBuf reorg. Use full pointers.
Sponsored by fmad.io.
2021-06-01 00:45:06 +02:00
Mike Pall
b5dafe5891 Merge branch 'master' into v2.1 2021-06-01 00:28:00 +02:00
Mike Pall
ae533e3a6c FFI: Fix dangling reference to CType. 2021-06-01 00:26:45 +02:00
Mike Pall
839fb5bd72 Merge branch 'master' into v2.1 2021-05-29 15:38:37 +02:00
Mike Pall
c2cfa04231 PPC/PS3: Fix BC_ADD*/BC_SUB*.
Thanks to MaryWan1982.
2021-05-29 15:33:08 +02:00
Mike Pall
e0cd3a8671 Merge branch 'master' into v2.1 2021-05-29 15:32:04 +02:00
Mike Pall
0e53a314d7 Fix use-def analysis for vararg functions.
Reported by Shmuel Zeigerman.
2021-05-29 15:31:13 +02:00
Mike Pall
fca488c715 Merge branch 'master' into v2.1 2021-05-24 22:28:58 +02:00
Mike Pall
2801500a26 Fix use-def analysis for BC_VARG.
Reported by Ryan Lucia.
2021-05-24 22:25:26 +02:00
Mike Pall
aa7ac66068 Merge branch 'master' into v2.1 2021-05-17 19:42:59 +02:00
Mike Pall
44684fa71d Fix compiler warnings. 2021-05-17 19:42:06 +02:00
Mike Pall
521b367567 FFI/ARM64/OSX: Fix vararg call handling.
Thanks to Igor Munkin.
2021-05-02 22:11:05 +02:00
Mike Pall
75ee3a6159 Prevent compile of __concat with tailcall to fast function.
E.g. __concat = function() return setmetatable(...) end
Reported by Fezile Manana.
2021-04-21 15:23:15 +02:00
Mike Pall
de77205490 Fix IR_RENAME snapshot number. Follow-up fix for a32aeadc.
Reported by Victor Bombi, analyzed by XmiliaH. Thanks!
2021-04-20 17:59:47 +02:00
Mike Pall
5374a0a3cf Fix compiler warning. 2021-04-19 13:54:41 +02:00
Mike Pall
66563bdab0 Fix build with busybox grep.
Reported by ymph.
2021-03-31 17:06:27 +02:00
Mike Pall
3217240b47 NetBSD: Use PROT_MPROTECT() and disable getentropy().
Note: this is not an officially supported target.
Contributed by David Carlier.
2021-03-29 10:41:52 +02:00
Mike Pall
9442226825 Allow disabling the serializer. 2021-03-26 19:43:02 +01:00
Mike Pall
b9d523965b BSD: Fix build with BSD grep.
Thanks to carlocab.
2021-03-26 18:31:42 +01:00
Mike Pall
668b1896b3 Fix .bat file builds. 2021-03-26 18:14:59 +01:00
Mike Pall
d4a554d6ee OSX: Fix build by hardcoding external frame unwinding.
Apparently they can't even get 'grep' right, let alone a keyboard.
2021-03-25 19:16:56 +01:00
Mike Pall
4c6b669c41 String buffers, part 1: object serialization.
Sponsored by fmad.io.
2021-03-25 02:21:31 +01:00
Mike Pall
836fb5bbd3 Reorganize lightuserdata interning code. 2021-03-25 02:15:26 +01:00
Mike Pall
ad65934fa0 FFI: Handle zero-fill of struct-of-NYI. 2021-03-23 02:35:07 +01:00
Mike Pall
ebc4919aff ARM64: Improve generation of immediates. 2021-03-23 02:08:44 +01:00
Mike Pall
a4c9fc3d6c Merge branch 'master' into v2.1 2021-03-23 00:48:27 +01:00
Mike Pall
33e3f4badf Detect inconsistent renames even in the presence of sunk values.
Reported by Igor Munkin.
2021-03-23 00:43:07 +01:00
Mike Pall
a32aeadc68 Handle on-trace OOM errors from helper functions. 2021-03-23 00:39:50 +01:00
Mike Pall
ddd0fd8f37 Use weak guards for on-trace allocations. 2021-03-23 00:33:34 +01:00
Mike Pall
de89c602c2 PPC: Fix GG_State loads. 2021-03-23 00:28:03 +01:00
Mike Pall
dbb7863016 MIPS: Fix handling of long-range spare jumps. 2021-03-23 00:26:08 +01:00
Mike Pall
e131936133 Cleanup and enable external unwinding for more platforms. 2021-03-23 00:22:34 +01:00
Mike Pall
787736990a iOS: Don't use getentropy() since it's disallowed in the App Store.
Reported by MoNTE48.
2021-03-10 20:19:04 +01:00
Mike Pall
67dbec82f4 Linux/ARM64: Make mremap() non-moving due to VA space woes.
This reduces overall performance on ARM64, but we have no choice.
Linux kernel default userspace VA is 48 bit, but we'd need 47 bit.
mremap() ignores address hints due to a kernel API issue. The mapping
may move to an undesired address which will cause an assert or crash.

Reported by Raymond W. Ko.
2021-03-10 19:58:31 +01:00
Mike Pall
1e66d0f9e6 Merge branch 'master' into v2.1 2021-01-02 21:56:07 +01:00
Mike Pall
f47c864b01 Bump copyright date. 2021-01-02 21:49:41 +01:00
Mike Pall
3134359734 Fix trace exit register dump for some archs. 2021-01-02 21:37:51 +01:00
Mike Pall
65378759f3 Merge branch 'master' into v2.1 2020-12-28 12:40:20 +01:00
Mike Pall
56c04accf9 FFI: Fix recording of union initialization.
Thanks to Alex Shpilkin.
2020-12-28 12:37:36 +01:00
Mike Pall
351bb43a07 Merge branch 'master' into v2.1 2020-12-04 11:17:45 +01:00
Mike Pall
d67ff15a5c x64: Fix __call metamethod return dispatch.
Reported by Igor Munkin.
2020-12-04 11:16:55 +01:00
Mike Pall
377a8488b6 Fix binary number literal parsing.
Reported by Egor Skriptunoff.
2020-11-30 15:48:34 +01:00
Mike Pall
a50262c490 Fix warning. 2020-11-30 15:47:14 +01:00
Mike Pall
652f71bb1d Merge branch 'master' into v2.1 2020-11-30 15:46:56 +01:00
Mike Pall
7aa3e313a3 Fix warning. 2020-11-30 15:46:07 +01:00
Mike Pall
1d8b747c16 Merge branch 'master' into v2.1 2020-10-12 16:18:02 +02:00
Mike Pall
050466552b Minor changes and https-ify links. 2020-10-12 16:11:32 +02:00
Mike Pall
675e08cf06 Merge branch 'master' into v2.1 2020-10-12 15:51:31 +02:00
Mike Pall
5c46f47736 Fix snapshot PC when linking to BC_JLOOP that was a BC_RET*.
Reported by Arseny Vakhrushev.
Fix contributed by Peter Cawley.
2020-10-12 15:45:05 +02:00
Mike Pall
4bb2e4a547 Merge branch 'master' into v2.1 2020-10-12 15:43:18 +02:00
Mike Pall
de6b1a11dd Ensure full init of IR_NOP instructions. 2020-10-12 15:40:28 +02:00
Mike Pall
e9af1abec5 Add support for full-range 64 bit lightuserdata. 2020-09-30 01:34:49 +02:00
Mike Pall
e67e2040be ARM64: Followup fix for exit branch patching. 2020-09-28 18:17:58 +02:00
Mike Pall
2e55a42c07 Merge branch 'master' into v2.1 2020-09-27 17:20:37 +02:00
Mike Pall
e8ec6fe996 Prevent patching of the GC exit check branch.
Reported by Arseny Vakhrushev.
2020-09-27 16:44:13 +02:00
Mike Pall
03a7ebca4f x64: Fix 64 bit shift code generation.
Reported by Philipp Kutin.
Fix contributed by Peter Cawley.
2020-09-25 22:49:23 +02:00
Mike Pall
dd0f09f95f Another fix for lua_yield() from C hook.
Reported by Jason Carr.
2020-09-22 23:37:43 +02:00
Mike Pall
518e8cbeb4 Merge branch 'master' into v2.1 2020-09-22 12:01:09 +02:00
Mike Pall
881d02d311 Mark CONV as non-weak, to prevent elimination of its side-effect.
An unused guarded CONV int.num cannot be omitted in general.
2020-09-22 11:56:06 +02:00
Mike Pall
dd5032ed84 Fix lua_yield() from C hook.
Reported by Jason Carr.
2020-09-15 01:02:24 +02:00
Mike Pall
7e94e1c4f1 Merge branch 'master' into v2.1 2020-09-05 20:05:44 +02:00
Mike Pall
90e65514dd Limit path length passed to C library loader. 2020-09-05 20:02:54 +02:00
Mike Pall
ff1e72acea LJ_GC64: Always snapshot functions for non-base frames.
Reported by Arseny Vakhrushev.
Analysis and fix contributed by Peter Cawley.
2020-08-27 18:05:32 +02:00
Mike Pall
94d4abcca9 Merge branch 'master' into v2.1 2020-08-09 23:12:48 +02:00
Mike Pall
e296f56b82 Call error function on rethrow after trace exit. 2020-08-09 22:50:31 +02:00
Mike Pall
46a6d06dc5 Merge branch 'master' into v2.1 2020-08-09 18:19:19 +02:00
Mike Pall
12ab596997 Fix handling of errors during snapshot restore. 2020-08-09 18:08:38 +02:00
Mike Pall
10ddae75af Merge branch 'master' into v2.1 2020-08-05 15:26:59 +02:00
Mike Pall
2211f6f960 ARM: Ensure relative GG_State element alignment differently.
Thanks to jojo59516 and dwing4g.
2020-08-05 15:21:00 +02:00
Mike Pall
98682accbb Merge branch 'master' into v2.1 2020-08-05 14:17:41 +02:00
Mike Pall
c4b1e0feae Fix Makefile dependencies.
Thanks to Stefanos Chaliasos.
2020-08-05 14:14:58 +02:00
Mike Pall
570e758ca7 Handle old OSX/iOS without getentropy(). 2020-07-13 11:54:08 +02:00
Mike Pall
6097795367 Merge branch 'master' into v2.1 2020-07-12 14:33:01 +02:00
Mike Pall
53f82e6e2e Fix frame traversal for __gc handler frames.
Reported by Changochen.
2020-07-12 14:30:34 +02:00
Mike Pall
384d6d56f4 Fix Clang build. 2020-07-02 01:24:39 +02:00
Mike Pall
18eef08fb8 Android/ARM: Fix build with recent NDK. 2020-07-02 01:23:41 +02:00
Mike Pall
e1e3034cf6 Fix compiler warning. 2020-06-25 15:19:48 +02:00
Mike Pall
5ef9e45238 Fix OSX build.
Reported by jnozsc.
2020-06-23 19:17:13 +02:00
Mike Pall
67654be56d Follow-up fix for iOS build. 2020-06-23 11:28:46 +02:00
Mike Pall
2e2fb8f6b5 OSX/iOS: Handle iOS simulator and ARM64 Macs. 2020-06-23 03:24:40 +02:00
Mike Pall
471f8936cb Fix pointer check for non-GC64 mode.
Thanks to Stefan Hett.
2020-06-23 03:14:35 +02:00
Mike Pall
17fb96d904 Windows: Fix NtAllocateVirtualMemory prototype. 2020-06-23 03:13:54 +02:00
Mike Pall
2e68e1fc18 Add jit.security(). 2020-06-23 03:12:32 +02:00
Mike Pall
ff34b48ddd Redesign and harden string interning.
Up to 40% faster on hash-intensive benchmarks.
With some ideas from Sokolov Yura.
2020-06-23 03:06:45 +02:00
Mike Pall
a44f53acf5 Use a securely seeded global PRNG for the VM.
It's not 2005 anymore.
2020-06-15 12:21:05 +02:00
Mike Pall
34e53736c6 Cleanup some arch defines and fix builds. 2020-06-15 11:23:04 +02:00
Mike Pall
d333b1a6fe ARM: Implement FLOAD from GG_State. 2020-06-13 01:12:14 +02:00
Mike Pall
8ae5170cdc Improve assertions. 2020-06-15 02:52:00 +02:00
Mike Pall
8b55054473 Merge branch 'master' into v2.1 2020-06-07 14:35:18 +02:00
Mike Pall
f5b0fff5a9 Fix debug.debug() for non-string errors. 2020-06-07 14:34:09 +02:00
Mike Pall
1a4ff13117 Optimize table length computation with hinting.
10x faster on loop with t[#t+1] = x idiom. Also used by table.insert.
2020-05-27 19:20:44 +02:00
Mike Pall
b2307c8ad8 Remove pow() splitting and cleanup backends. 2020-05-23 21:33:01 +02:00
Mike Pall
5655be4546 Cleanup math function compilation and fix inconsistencies. 2020-05-22 04:53:35 +02:00
Mike Pall
c5b8e9168b Merge branch 'master' into v2.1 2020-05-22 03:30:55 +02:00
Mike Pall
2f3f07882f Fix bytecode register allocation for comparisons. 2020-05-22 03:28:52 +02:00
Mike Pall
d75e26275b Don't compile math.modf() anymore.
It's rarely used and properly compiling it would be difficult.
2020-05-22 03:13:57 +02:00
Mike Pall
03208c8162 Fix math.min()/math.max() inconsistencies. 2020-05-22 03:10:30 +02:00
Mike Pall
1e6e8aaa20 Fix narrowing of unary minus. 2020-05-22 02:45:03 +02:00
Mike Pall
0eddcbead2 Cleanup CPU detection and tuning for old CPUs. 2020-05-20 20:42:04 +02:00
Mike Pall
5bf0da3d7c ARM64: Fix {AHUV}LOAD specialized to nil/false/true.
Reported by caohongqing.
2020-05-18 22:24:53 +02:00
Mike Pall
ae20998ff5 ARM, ARM64, PPC: Fix TSETR fallback.
Thanks to Javier Guerra Giraldez.
2020-05-18 22:06:50 +02:00
Mike Pall
322db02081 Remove unused file. 2020-05-08 14:00:19 +02:00
Mike Pall
d5e12d5174 Merge branch 'master' into v2.1 2020-05-08 14:00:07 +02:00
Mike Pall
cc4bbec483 FFI: Always fall back to metamethods for cdata length/concat.
Thanks to Egor Skriptunoff.
2020-05-08 13:50:41 +02:00
Mike Pall
92c011b511 Windows: Make actual use of internal allocator optimization.
Thanks to Nicholas Ham.
2020-05-05 12:32:55 +02:00
Mike Pall
99d1268823 Merge branch 'master' into v2.1 2020-04-28 17:54:03 +02:00
Mike Pall
179cf2eb84 Fix overflow check in unpack().
Thanks to HybridDog.
2020-04-28 17:52:28 +02:00
Mike Pall
f133649ced Merge branch 'master' into v2.1 2020-04-28 16:53:32 +02:00
Mike Pall
db0b7ec194 Fix Windows make clean. 2020-04-28 16:52:28 +02:00
Mike Pall
9143e86498 FFI/ARM64: Fix pass-by-value struct calling conventions. 2020-03-20 14:10:18 +01:00
Mike Pall
fc1c4da3cc Merge branch 'master' into v2.1 2020-03-20 13:38:05 +01:00
Mike Pall
e613105ca9 Fix write barrier for lua_setupvalue() and debug.setupvalue(). 2020-03-20 13:35:49 +01:00
Mike Pall
0ad60ccbc3 Make string to number conversions fail on NUL char.
Contributed by Igor Munkin.
2020-02-13 17:39:51 +01:00
Mike Pall
d85d6b3c1b Merge branch 'master' into v2.1 2020-02-02 18:20:35 +01:00
Mike Pall
522d2073da x86/x64: Fix loop realignment. 2020-02-02 18:19:44 +01:00
Mike Pall
694d69aed9 Merge branch 'master' into v2.1 2020-01-22 02:39:26 +01:00
Mike Pall
62903bacf4 Fix C file generation in jit.bcsave.
Thanks to codicodi.
2020-01-22 02:37:21 +01:00
Mike Pall
87b111f0fe Merge branch 'master' into v2.1 2020-01-20 23:34:21 +01:00
Mike Pall
38a5ed4b43 Bump copyright date. 2020-01-20 23:26:51 +01:00
Mike Pall
981ec8d2aa Remove support for de-facto dead archs. 2020-01-20 22:56:47 +01:00
Mike Pall
54484e257f Minor fixes. 2020-01-20 22:20:55 +01:00
Mike Pall
94d0b53004 MIPS: Add MIPS64 R6 port.
Contributed by Hua Zhang, YunQiang Su from Wave Computing,
and Radovan Birdic from RT-RK.
Sponsored by Wave Computing.
2020-01-20 22:15:45 +01:00
Mike Pall
dfa692b746 Fix string.char() recording with no arguments. 2020-01-14 11:08:42 +01:00
Mike Pall
e49863eda1 Followup fix for embedded bytecode loader. 2020-01-14 11:07:07 +01:00
Mike Pall
1357a25f81 Merge branch 'master' into v2.1 2020-01-13 14:50:30 +01:00
Mike Pall
8203399601 Fix embedded bytecode loader. 2020-01-13 14:28:43 +01:00
Mike Pall
0bee44c9dc Properly fix pointer diff in string.find().
Thanks to Vyacheslav Egorov.
2019-12-21 13:52:47 +01:00
Mike Pall
bd00094c3b x64: Enable LJ_GC64 mode by default. 2019-12-08 21:21:30 +01:00
Mike Pall
70f4b15ee4 FFI: Eliminate hardcoded string hashes. 2019-12-08 20:53:31 +01:00
Mike Pall
92fa45f9eb Fix interaction between profiler hooks and finalizers.
Thanks to Julien Desgats.
2019-12-08 19:56:56 +01:00
Mike Pall
9600e4318e Don't use STRREF for pointer diff in string.find().
Thanks to Sergey Ostanevich and Vyacheslav Egorov.
2019-12-08 19:54:21 +01:00
Mike Pall
2a7c200dc2 Merge branch 'master' into v2.1 2019-12-08 19:52:56 +01:00
Mike Pall
45a7e5073c Fix tonumber("-0").
Reported by bluecheetah001.
2019-12-08 19:51:33 +01:00
Mike Pall
1d9a337de6 Merge branch 'master' into v2.1 2019-12-08 19:50:36 +01:00
Mike Pall
de48d00094 Fix hash table chaining (again).
Thanks to Peter Cawley.
2019-12-08 19:47:00 +01:00
Mike Pall
324aef08d9 Typo. 2019-12-08 19:45:07 +01:00
Mike Pall
41a25efc80 Fix declarations of _BitScanForward/_BitScanReverse.
Reported by Mumin Guler.
2019-12-08 19:42:49 +01:00
Mike Pall
46a1b268eb Add stricter check for print() vs. tostring() shortcut. 2019-12-08 19:40:24 +01:00
Mike Pall
16e5605eec Prevent integer overflow while parsing long strings. 2019-12-08 19:35:25 +01:00
Mike Pall
e0388e6c00 Fix stack check when recording BC_VARG.
Contributed by Yichun Zhang.
2019-12-08 19:32:27 +01:00
Mike Pall
1d1bac5a65 FFI: Add missing write barrier on C library index update.
Contributed by Yichun Zhang.
2019-12-08 19:32:16 +01:00
Mike Pall
478bcfe52a FFI: Workaround for platform dlerror() returning NULL.
Contributed by mcclure.
2019-12-08 19:25:45 +01:00
Mike Pall
05898a8824 Merge branch 'master' into v2.1 2019-12-08 19:24:47 +01:00
Mike Pall
44382e833a OSX: Use __thread attribute. 2019-12-08 19:22:37 +01:00
Mike Pall
8961a92dd1 OSX: Don't set a default MACOSX_DEPLOYMENT_TARGET. 2019-12-08 19:22:00 +01:00
Mike Pall
eba586854b Build MinGW import library, too.
Thanks to Tarnyko.
2019-12-08 19:19:12 +01:00
Mike Pall
c43b6a9137 Fix MinGW make clean.
Reported by Shmuel Zeigerman.
2019-12-08 19:16:34 +01:00
Mike Pall
6e228a9cb6 Merge branch 'master' into v2.1 2019-12-08 18:58:50 +01:00
Mike Pall
c6c6e3b416 Update MSVC build script and docs. 2019-12-08 18:52:41 +01:00
Mike Pall
3ece3a3e3a More recent MSVC is partially C99 compliant. 2019-12-08 18:43:12 +01:00
Mike Pall
e45b04f499 Merge branch 'master' into v2.1 2019-11-10 22:39:40 +01:00
Mike Pall
c4e15b457e Fix narrowing of conversions to U32.
Reported by spacewander.
2019-11-10 22:37:42 +01:00
Mike Pall
8755e0b74b Fix unsinking of 64 bit constants.
Contributed by Thibault Charbonnier.
2019-08-30 12:16:50 +02:00
Mike Pall
88d40b00c3 Merge branch 'master' into v2.1 2019-08-30 11:24:44 +02:00
Mike Pall
20ac817a74 Fix bytecode dump unpatching.
Reported by Christopher Oliver.
2019-08-30 11:07:45 +02:00
Mike Pall
2bde5c7c62 Merge branch 'master' into v2.1 2019-08-10 00:58:37 +02:00
Mike Pall
0cd643d7cf Fix debug.getinfo() argument check.
Thanks to Sergey Ostanevich.
2019-08-10 00:54:41 +02:00
Mike Pall
b1915c3b6f Merge branch 'master' into v2.1 2019-07-05 13:22:12 +02:00
Mike Pall
51e013934b MIPS: Fix delay slot hint.
This is documentation only. Thanks to snyh.
2019-07-05 13:19:41 +02:00
Mike Pall
827916c67e Merge branch 'master' into v2.1 2019-05-09 11:33:30 +02:00
Mike Pall
d4c0c6e17e Fix TNEW load forwarding with instable types. 2019-05-09 11:33:03 +02:00
Mike Pall
178512fab9 Merge branch 'master' into v2.1 2019-04-29 18:04:47 +02:00
Mike Pall
9bd5a722be ARM: Fix GCC 7 -Wimplicit-fallthrough warnings. 2019-04-29 18:02:50 +02:00
Mike Pall
5802ab56b6 ARM: Fix condition code check fusion.
Reported by Qingjun Wei.
2019-04-29 17:38:05 +02:00
Mike Pall
b33e3f2d44 ARM64: Avoid side-effects of constant rematerialization.
Thanks to Patrick Galizia.
2019-02-04 23:04:48 +01:00
Mike Pall
f0e865dd48 Improve luaL_addlstring().
Thanks to Domingo Alvarez Duarte.
2019-01-10 13:09:17 +01:00
Mike Pall
fc63c938b5 Fix os.date() for wider libc strftime() compatibility.
Thanks to Jesper Lundgren.
2019-01-10 12:47:28 +01:00
Mike Pall
c4f36ce565 Merge branch 'master' into v2.1 2019-01-10 12:37:40 +01:00
Mike Pall
61464b0a5b Fix MinGW build.
Thanks to Victor Bombi.
2019-01-10 12:37:09 +01:00
Mike Pall
749e99ce2a Merge branch 'master' into v2.1 2019-01-10 12:24:17 +01:00
Mike Pall
380e4409a7 Fix overflow of snapshot map offset.
Thanks to Yichun Zhang.
2019-01-10 12:19:30 +01:00
Mike Pall
e2cc89b190 Merge branch 'master' into v2.1 2019-01-10 12:02:31 +01:00
Mike Pall
3404183e23 Better detection of MinGW build. 2019-01-10 12:02:15 +01:00
Mike Pall
0a9ff94c4a Actually implement maxirconst trace limit.
Suggested by spacewander.
2018-10-14 15:21:37 +02:00
Mike Pall
9c1b637898 MIPS/MIPS64: Fix TSETR barrier (again). 2018-10-14 15:12:59 +02:00
Mike Pall
646148e747 Fix memory probing allocator to check for valid end address, too. 2018-09-13 17:58:50 +02:00
Mike Pall
9da0653509 ARM64: Fix exit stub patching.
Contributed by Javier Guerra Giraldez.
2018-06-24 14:08:59 +02:00
Mike Pall
c785131ca5 ARM64: Fix write barrier in BC_USETS.
Contributed by Javier Guerra Giraldez.
2018-06-24 13:18:03 +02:00
Mike Pall
c3c54ce1ae Windows: Add UWP support, part 1.
Contributed by Ben Pye.
2018-06-05 17:03:08 +02:00
Mike Pall
a5a89ab586 From Lua 5.3: assert() accepts any type of error object. 2018-06-05 12:23:56 +02:00
Mike Pall
55f7082324 x86: Disassemble FMA3 instructions.
Thanks to Alexander Nasonov.
2018-06-05 12:23:29 +02:00
Mike Pall
d36afcfea5 Merge branch 'master' into v2.1 2018-06-05 11:39:10 +02:00
Mike Pall
b025b01c5b PPC/NetBSD: Fix endianess check.
Thanks to he32 and daurnimator.
2018-06-05 11:36:18 +02:00
Mike Pall
b708297aba Merge branch 'master' into v2.1 2018-05-20 12:45:01 +02:00
Mike Pall
fb5e522fbc x86/x64: Check for jcc when using xor r,r in emit_loadi().
Thanks to Peter Cawley.
2018-05-20 12:40:33 +02:00
Mike Pall
362f034c1b Merge branch 'master' into v2.1 2018-05-20 12:28:10 +02:00
Mike Pall
f5d424afe8 FFI: Make FP to U64 conversions match JIT backend behavior. 2018-05-20 12:25:36 +02:00
Mike Pall
a90e7795ca Merge branch 'master' into v2.1 2018-04-22 13:30:02 +02:00
Mike Pall
02b521981a FFI: Add tonumber() specialization for failed conversions.
Contributed by Javier Guerra Giraldez.
2018-04-22 13:27:25 +02:00
Mike Pall
f3cf0d6e15 Give expected results for negative non-base-10 numbers in tonumber().
This was undefined in Lua 5.1, but it's defined in 5.2.
2018-04-22 13:14:28 +02:00
Mike Pall
66c1614828 Merge branch 'master' into v2.1 2018-02-27 23:18:32 +01:00
Mike Pall
046129dbdd Fix rechaining of pseudo-resurrected string keys.
This is a serious bug. But extremely hard to reproduce, so it went
undetected for 8 years. One needs two resurrections with different
main nodes, which are both in a hash chain which gets relinked on
key insertion where the colliding node is in a non-main position. Phew.

Thanks to lbeiming.
2018-02-27 23:02:23 +01:00
Mike Pall
fddef92409 Merge branch 'master' into v2.1 2018-01-29 13:28:53 +01:00
Mike Pall
03cd5aa749 Clear stack after print_jit_status() in CLI.
Suggested by Hydroque.
2018-01-29 13:25:51 +01:00
Mike Pall
0bf46e1edf Merge branch 'master' into v2.1 2018-01-29 13:19:30 +01:00
Mike Pall
d4ee803427 Fix GCC 7 -Wimplicit-fallthrough warnings. 2018-01-29 13:06:13 +01:00
Mike Pall
74c544d68c Merge branch 'master' into v2.1 2018-01-29 12:53:42 +01:00
Mike Pall
b03a56f28e FFI: Don't assert on #1LL (5.2 compatibility mode only).
Reported by Denis Golovan.
2018-01-29 12:47:08 +01:00
Mike Pall
8071aa4ad6 MIPS64: Fix soft-float +-0.0 vs. +-0.0 comparison.
Thanks to Stefan Pejic.
2018-01-29 12:12:29 +01:00
Mike Pall
9eaad8574f Fix ARMv8 (32 bit subset) detection.
Thanks to Markus Oberhumber.
2018-01-18 12:24:36 +01:00
Mike Pall
430d9f8f7e Fix string.format("%c", 0). 2018-01-14 14:11:59 +01:00
Mike Pall
58d0dde0a2 Fix IR_BUFPUT assembly.
Thanks to Peter Cawley.
2018-01-14 13:57:00 +01:00
Mike Pall
ea7071d3c3 MIPS64: Fix xpcall() error case.
Thanks to François Perrad and Stefan Pejic.
2017-11-18 12:25:35 +01:00
Mike Pall
d417ded179 ARM64: Fix xpcall() error case (really).
Thanks to François Perrad and Stefan Pejic.
2017-11-18 12:23:57 +01:00
Mike Pall
734a3fa32c Merge branch 'master' into v2.1 2017-11-16 13:00:09 +01:00
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