Mike Pall
fffd3eafc4
Fix compiler warnings.
...
Reported by gan74.
2022-09-13 13:43:03 +02:00
Mike Pall
e19db60512
Fix QNX build.
...
Note: this is not an officially supported target.
Contributed by Wen Yang.
2022-09-12 11:16:20 +02:00
Mike Pall
03080b795a
Add -F option to override filename in jit.bcsave (luajit -b).
...
Suggested by Mathias Westerdahl.
2022-08-15 14:16:58 +02:00
Mike Pall
633f265f67
LJ_GC64: Fix lua_concat().
...
Reported by Mathias Westerdahl.
2022-08-10 19:27:53 +02:00
Mike Pall
e61a1f961a
Merge branch 'master' into v2.1
2022-08-07 20:04:52 +02:00
Mike Pall
a93f4bb39f
Prevent use of RTLD_DEFAULT when NO_RTLD_DEFAULT is defined.
...
Workaround for Android 4.4 bug.
Thanks to gudzpoz.
2022-08-07 20:02:40 +02:00
Mike Pall
a7d0265480
Improve GC estimation for userdata with attached managed memory.
...
This works well for string.buffers, but not for userdata or
cdata with attached unmanaged memory (malloc/free, mmap/munmap).
2022-07-28 15:40:28 +02:00
Mike Pall
9c3df68a1e
Add missing GC steps to string buffer methods.
...
Reported by Cosmin Apreutesei.
2022-07-28 15:38:54 +02:00
Mike Pall
e1339aed3d
x86/x64: Limit VLOAD fusion to simple cases.
...
Reported by ccagml.
2022-07-27 11:32:33 +02:00
Mike Pall
3065c910ad
OSX/iOS/ARM64: Fix generation of Mach-O object files.
...
Thanks to Carlo Cabrera.
2022-07-22 12:14:40 +02:00
Mike Pall
32984282dd
Prevent trace start at BC_ITERL after compiled BC_ITERN.
...
Reported by ccagml.
2022-07-21 17:30:56 +02:00
Mike Pall
5677985dc1
ARM64: Allow building with unwinding disabled.
2022-07-19 12:53:34 +02:00
Mike Pall
50936d7844
Merge branch 'master' into v2.1
2022-07-13 00:37:14 +02:00
Mike Pall
899093a9e0
FFI: Fix sizeof expression in C parser for reference types.
2022-07-13 00:32:31 +02:00
Mike Pall
36b2962d40
FFI: Fix ffi.alignof() for reference types.
...
Reported by Eric Gouyer.
2022-07-13 00:32:04 +02:00
Mike Pall
27a6fee82e
FFI: Allow ffi.metatype() for typedefs with attributes.
...
Reported by Eric Gouyer.
2022-07-13 00:30:23 +02:00
Mike Pall
b98b37231b
OSX/iOS/ARM64: Fix bytecode embedding in Mach-O object file.
...
Thanks to Carlo Cabrera.
2022-07-12 22:25:33 +02:00
Mike Pall
6bda30d8c7
LJ_GC64: Fix IR_VARG offset for fixed number of results.
...
Reported by George Vaintrub. Fixed by Sergey Kaplun.
2022-07-12 22:21:26 +02:00
Mike Pall
e3bae12fc0
Merge branch 'master' into v2.1
2022-07-08 15:12:43 +02:00
Mike Pall
674afcd4e2
x86/x64: Fix math.ceil(-0.9) result sign.
...
Reported by minoki.
2022-07-08 14:57:01 +02:00
Mike Pall
0065cff7e0
Make embedded bytecode readable and forward-compatible.
2022-06-13 21:23:16 +02:00
Mike Pall
02da2218ed
Merge branch 'master' into v2.1
2022-06-08 15:36:47 +02:00
Mike Pall
7dc3850e78
Fix warnings in minilua.c.
2022-06-08 15:35:12 +02:00
Mike Pall
7beb3375e3
Add Nintendo Switch port.
...
Contributed by Swyter and vdweller84.
2022-06-08 14:24:57 +02:00
Mike Pall
96157d360d
Avoid zero-sized arrays in jit_State.
2022-06-08 11:26:50 +02:00
Mike Pall
b32e94856b
Don't use jit_State during build with JIT disabled.
2022-06-08 11:20:28 +02:00
Mike Pall
d4b6bb80ea
Fix ITERN loop detection when hook checks are enabled.
...
Reported by Myria.
2022-06-02 13:18:10 +02:00
Mike Pall
1b8d8cabdc
Merge branch 'master' into v2.1
2022-05-21 12:02:32 +02:00
Mike Pall
bb7a30727e
Prevent C compiler undefined-behavior optimization.
2022-05-21 12:00:10 +02:00
Mike Pall
4ef96cff88
Fix alias analysis for table length forwarding.
...
Contributed by Maxim Sokolov.
2022-05-20 12:16:25 +02:00
Mike Pall
80bb1428aa
Fix loop initialization in table.foreach().
...
Reported by Daniel Steinberg.
2022-05-20 11:54:20 +02:00
Mike Pall
91bc6b8ad1
LJ_GC64: Fix HREFK optimization.
...
Contributed by XmiliaH.
2022-05-03 20:51:29 +02:00
Mike Pall
3ee3c9cfa9
Fix recording of __concat metamethod.
...
Reported by Elias Oelschner. Analyzed by XmiliaH.
2022-05-02 22:33:35 +02:00
Mike Pall
34a62c7f73
Add PS5 port.
2022-04-17 23:41:39 +02:00
Mike Pall
1a401622fe
Fix assertions.
...
Reported by ssdr.
2022-04-17 10:56:11 +02:00
Mike Pall
5e3c45c43b
x64: Fix RETHI/RETLO swap after call.
...
Reported by savilli.
2022-04-05 09:55:15 +02:00
Mike Pall
20aea93915
Fix assertion for LJ_KEYINDEX.
...
Thanks to XmiliaH.
2022-04-03 10:35:42 +02:00
Mike Pall
1cdff194cf
Add missing check for LJ_KEYINDEX in ITERN recording.
...
Reported by dragonorloong. Analyzed by vfprintf. #827
2022-04-02 21:27:43 +02:00
Mike Pall
43ebb949a2
Fix soft-float IR_POW splitting.
...
Reported by lison0322.
2022-03-20 11:29:17 +01:00
Mike Pall
c4fe76d50c
Merge branch 'master' into v2.1
2022-03-13 18:34:59 +01:00
Mike Pall
93a65d3cc2
Fix BC_UCLO insertion for returns.
...
Contributed by XmiliaH.
2022-03-13 18:32:32 +01:00
Mike Pall
8b8304f16e
Fix compiler warning.
2022-03-08 20:05:33 +01:00
Mike Pall
96d6d50320
Revert to trival pow() optimizations to prevent inaccuracies.
2022-03-08 19:44:10 +01:00
Mike Pall
aa0550e3f0
Fix string buffer COW handling, part 2.
...
Reported by XmiliaH.
2022-03-07 15:46:51 +01:00
Mike Pall
c93890ed8b
*BSD: Fix getentropy() declaration.
...
Thanks to dundargoc.
2022-03-07 09:45:04 +01:00
Mike Pall
c4adf49204
Fix string buffer COW handling.
...
Reported by XmiliaH.
2022-03-07 09:42:59 +01:00
Mike Pall
1d7b5029c5
Merge branch 'master' into v2.1
2022-01-27 22:26:14 +01:00
Mike Pall
9ebebc9b58
Fix command-line argv handling.
2022-01-27 22:18:39 +01:00
Mike Pall
b96d74621b
Merge branch 'master' into v2.1
2022-01-25 22:18:20 +01:00
Mike Pall
c2237247cc
Don't export internal symbol.
2022-01-25 22:17:56 +01:00
Mike Pall
9512d5c1ac
Fix pow() optimization inconsistencies.
2022-01-24 14:37:50 +01:00
Mike Pall
c18acfe756
Merge branch 'master' into v2.1
2022-01-23 19:19:26 +01:00
Mike Pall
c50232eb32
Always exit after machine code page protection change fails.
...
Reported by Sergey Kaplun.
2022-01-23 19:16:53 +01:00
Mike Pall
5935564c3b
Fix FOLD rule for BUFHDR append with intervening buffer use.
...
Reported by XmiliaH.
2022-01-23 19:13:53 +01:00
Mike Pall
c929efc039
Fix compiled error handling for buffer methods.
...
Contributed by XmiliaH.
2022-01-23 19:10:47 +01:00
Mike Pall
4077f0c3d6
Prevent unroll across BC_ITERN.
...
Reported by Marukyu.
2022-01-16 21:01:52 +01:00
Mike Pall
1dddc55ca3
Prevent replay of buffer operation for PHI operands.
...
Contributed by XmiliaH.
2022-01-16 21:00:24 +01:00
Mike Pall
2c218bf756
Merge branch 'master' into v2.1
2022-01-16 20:59:10 +01:00
Mike Pall
b5b20191f3
Save trace recorder state around VM event call.
...
Reported by Sergey Kaplun.
2022-01-16 20:58:42 +01:00
Mike Pall
7306ba78d6
Merge branch 'master' into v2.1
2022-01-15 19:42:30 +01:00
Mike Pall
c4dfb625ba
Bump copyright date.
2022-01-15 19:30:54 +01:00
Mike Pall
c21c6cb417
FFI: Ensure library is loaded before de-serializing FFI types.
...
Reported by ImagicTheCat.
2022-01-15 18:32:34 +01:00
Mike Pall
d5a237eae0
Fix HREFK forwarding vs. table.clear().
...
Reported by XmiliaH.
2022-01-15 17:52:21 +01:00
Mike Pall
bc1bdbf620
Fix FOLD rule for BUFHDR append.
...
Reported by XmiliaH.
2022-01-13 18:33:04 +01:00
Mike Pall
be251d9149
OSX: Disable unreliable assertion for external frame unwinding.
2022-01-13 17:57:03 +01:00
Mike Pall
4ccaf348fb
Merge branch 'master' into v2.1
2022-01-13 17:51:09 +01:00
Mike Pall
e560487536
Limit exponent range in number parsing.
...
Reported by XmiliaH.
2022-01-13 17:48:43 +01:00
Mike Pall
103c29e634
Fix tonumber("-0") in dual-number mode.
...
Reported by Sergey Kaplun.
2022-01-13 15:38:56 +01:00
Mike Pall
a01602a826
Limit work done in SINK pass.
...
Reported by XmiliaH.
2022-01-13 15:13:59 +01:00
Mike Pall
c8bcf1e5fb
Fix ABC FOLD rule with constants.
...
Reported by XmiliaH.
2022-01-13 14:40:11 +01:00
Mike Pall
a91d0d9d3b
Merge branch 'master' into v2.1
2021-12-19 18:37:06 +01:00
Mike Pall
e73916d811
Prevent CSE of a REF_BASE operand across IR_RETF.
...
Reported by XmiliaH.
2021-12-19 18:35:27 +01:00
Mike Pall
1d20f33d29
Windows: Fix binary output of jit.bcsave to stdout.
...
Thanks to erw7.
2021-12-17 14:30:44 +01:00
Mike Pall
8b7ea5c1af
Merge branch 'master' into v2.1
2021-12-17 14:17:16 +01:00
Mike Pall
7b994e0ee0
Fix FOLD rule for x-0.
...
Reported by XmiliaH.
2021-12-17 14:15:40 +01:00
Mike Pall
b4b2dce9fc
ARM64: Fix pcall() error case.
...
Reported by Alex Orlenko.
2021-10-27 21:56:07 +02:00
Mike Pall
bfcb74ed36
OSX/ARM64: Fix external unwinding.
...
Contributed by Edmund Kapusniak. #698 #757
2021-10-17 13:14:41 +02:00
Mike Pall
bfd076532c
Fix string buffer method recording.
...
Reported and analyzed by vfprintf. #755
2021-10-12 23:49:47 +02:00
Mike Pall
05f1984e1a
Fix interaction of profiler and ITERN recording.
...
Reported and analyzed by vfprintf. #754
2021-10-08 16:50:35 +02:00
Mike Pall
442eff63ab
Fix compilation of multi-result call to next().
...
Thanks to Vyacheslav Egorov.
2021-10-06 17:31:46 +02:00
Mike Pall
e4b4d94514
ARM64: Fix IR_HREF code generation.
2021-10-02 17:49:50 +02:00
Mike Pall
4a70bd71ac
MIPS64: Fix soft-float IR_TOSTR.
2021-10-02 17:48:19 +02:00
Mike Pall
10c9d9a214
Merge branch 'master' into v2.1
2021-10-02 17:23:51 +02:00
Mike Pall
d3294fa63b
MIPS: Fix register allocation in assembly of HREF.
...
Reported by Jakub Piotr Cłapa.
2021-10-02 16:52:57 +02:00
Mike Pall
a2047d3f18
Fix compiler warning.
...
Suggested by Fezile Manana.
2021-09-29 11:59:27 +02:00
Mike Pall
94a40bb238
FFI: Ensure returned string is alive in ffi.typeinfo().
...
Reported by zhuizhuhaomeng.
2021-09-23 19:07:30 +02:00
Mike Pall
78350a2565
OSX/ARM64: Disable unwind info.
...
See #698 .
2021-09-21 17:49:06 +02:00
Mike Pall
e2b9797ba1
Merge branch 'master' into v2.1
2021-09-21 16:44:06 +02:00
Mike Pall
204cee2c91
Fix stack allocation after on-trace stack check.
2021-09-21 16:42:35 +02:00
Mike Pall
191d87f531
Fix ITERN blacklisting.
...
Reported by ExtReMLapin. #744
2021-09-21 14:30:28 +02:00
Mike Pall
1aa4af0b83
Ensure ITERN forward progress on interpreter bailout.
...
Reported by Yichun Zhang and ExtReMLapin. #744
2021-09-21 13:15:06 +02:00
Mike Pall
421c4c7987
ARM64: Reorder interpreter stack frame and fix unwinding.
...
Reported by Yichun Zhang. Fixes #722 .
May help towards fixing #698 , too.
2021-09-20 22:37:07 +02:00
Mike Pall
28440544ba
Don't bail out to interpreter to JLOOP originating from ITERN.
...
Otherwise forward progress is not guaranteed.
Reported by Yichun Zhang.
2021-09-20 14:40:23 +02:00
Mike Pall
003f68565d
FFI: Don't load PC from non-function object in FFI continuation.
...
Reported by Yichun Zhang. #743
2021-09-20 14:39:26 +02:00
Mike Pall
98b7d9a3b2
Merge branch 'master' into v2.1
2021-09-20 14:39:50 +02:00
Mike Pall
68ffbd318b
FFI: Don't load PC from non-function object in FFI continuation.
...
Reported by Yichun Zhang. #743
2021-09-20 14:36:52 +02:00
Mike Pall
a622e2eb55
FFI: Fix missing cts->L initialization in argv2ctype().
2021-09-20 14:34:47 +02:00
Mike Pall
27ee3bcd79
OSX/ARM64: Disable external unwinding for now.
...
This reduces functionality, e.g. no handling of on-trace errors.
Someone with very deep knowledge about macOS and MACH-O/DWARF stack
unwinding internals is needed to fix this. See issue #698 .
2021-09-19 17:58:24 +02:00
Mike Pall
bb0f241015
Compile table traversals: next(), pairs(), BC_ISNEXT/BC_ITERN.
...
Sponsored by OpenResty Inc.
2021-09-19 17:49:25 +02:00
Mike Pall
986bb406ad
Use IR_HIOP for generalized two-register returns.
...
Sponsored by OpenResty Inc.
2021-09-19 17:47:11 +02:00