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