Commit Graph

2154 Commits

Author SHA1 Message Date
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