Commit Graph

2574 Commits

Author SHA1 Message Date
Mike Pall
9760984638 Allow path overrides in genversion.lua with minilua, too.
Thanks to arch1t3cht. #1067
2023-09-10 05:23:10 +02:00
Mike Pall
cb413bf8f4 Windows/ARM64: Add initial support.
Only builds with native ARM64 Visual Studio for now.
Thanks to vanc and Stephen Just. #593 #964
2023-09-10 05:20:22 +02:00
Mike Pall
566532b807 Merge branch 'master' into v2.1 2023-09-09 23:20:57 +02:00
Mike Pall
4fe2002292 Improve architecture detection error messages. 2023-09-09 23:01:26 +02:00
Mike Pall
4611e25c0f ARM64: Fuse rotates into logical operands.
Thanks to Peter Cawley. #1076
2023-09-09 20:59:18 +02:00
Mike Pall
90742d91c2 ARM64: Don't fuse sign extensions into logical operands.
Thanks to Peter Cawley. #1076
2023-09-09 20:57:46 +02:00
Mike Pall
ba2b34f5e8 ARM64: Disassemble rotates on logical operands.
Thanks to Peter Cawley. #1076
2023-09-09 20:52:02 +02:00
Mike Pall
f442432ecb Merge branch 'master' into v2.1 2023-09-09 18:18:48 +02:00
Mike Pall
44da356e97 ARM: Fix stack check code generation.
Thanks to Peter Cawley. #1068
2023-09-09 18:16:31 +02:00
Mike Pall
b8c6ccd50c ARM64: Fix LDP/STP fusion (again).
Reported and analyzed by Zhongwei Yao. Fix by Peter Cawley. #1075
2023-09-09 18:01:37 +02:00
Mike Pall
0705ef6ce4 ARM64: Ensure branch is in range before emitting TBZ/TBNZ.
Thanks to Peter Cawley. #1074
2023-09-09 17:52:43 +02:00
Mike Pall
59be97edb6 Merge branch 'master' into v2.1 2023-09-09 17:46:10 +02:00
Mike Pall
43eff4aad4 Fix mcode limit check for non-x86 archs.
Thanks to Peter Cawley.
2023-09-09 17:44:54 +02:00
Mike Pall
de2e09f54c ARM64: Improve BC_JLOOP.
Thanks to Peter Cawley. #1070
2023-09-09 17:38:44 +02:00
Mike Pall
6c599960d1 ARM64: Improve integer IR_MUL code generation.
Thanks to Peter Cawley. #1070
2023-09-09 17:36:40 +02:00
Mike Pall
4ed83bd990 ARM64: Simplify code generation for IR_STRTO.
Thanks to Peter Cawley. #1070
2023-09-09 17:34:28 +02:00
Mike Pall
a5ee35867c ARM64: Use RID_TMP instead of scratch register in more places.
Thanks to Peter Cawley. #1070
2023-09-09 17:31:06 +02:00
Mike Pall
c1877e648a ARM64: Improve IR_OBAR code generation.
Thanks to Peter Cawley. #1070
2023-09-09 17:21:32 +02:00
Mike Pall
c2bdce399e ARM64: Improve IR_UREF code generation.
Thanks to Peter Cawley. #1070
2023-09-09 17:19:02 +02:00
Mike Pall
435d8c6301 ARM64: Improve IR_HREF code generation.
Thanks to Peter Cawley. #1070
2023-09-09 17:15:26 +02:00
Mike Pall
315dc3e776 ARM64: Reload BASE via GL instead of spilling it.
Thanks to Peter Cawley. #1068.
2023-09-09 16:56:16 +02:00
Mike Pall
5149b0a3a2 ARM64: Consolidate 32/64-bit constant handling in assembler.
Thanks to Peter Cawley. #1065
2023-09-09 16:30:14 +02:00
Mike Pall
dfc122e45c ARM64: Tune emit_lsptr. Avoid wrong load for asm_prof.
Thanks to Peter Cawley. #1065
2023-09-09 14:20:39 +02:00
Mike Pall
4651ff2fbc ARM64: Inline only use of emit_loada.
Thanks to Peter Cawley. #1065
2023-09-09 14:15:18 +02:00
Mike Pall
9daf9f9003 ARM64: Improve K13 constant rematerialization.
Algorithm by Dougall Johnson: https://dougallj.wordpress.com/2021/10/30/
Thanks to Peter Cawley. #1065
2023-09-09 14:11:25 +02:00
Mike Pall
9bd2404137 Merge branch 'master' into v2.1 2023-09-09 13:42:12 +02:00
Mike Pall
7f9907b4ed Add NaN check to IR_NEWREF.
Thanks to Peter Cawley. #1069
2023-09-09 13:37:31 +02:00
Mike Pall
cc8d88aafc Merge branch 'master' into v2.1 2023-09-09 12:50:13 +02:00
Mike Pall
4d05806ae0 Allow override of paths for genversion.lua.
Thanks to arch1t3cht. #1067
2023-09-09 12:47:27 +02:00
Mike Pall
19707009bf Fix native MinGW build.
Thanks to Victor Bombi. #1071
2023-09-09 12:41:47 +02:00
Mike Pall
41fb94defa Add randomized register allocation for fuzz testing.
This must be explicitly enabled with: -DLUAJIT_RANDOM_RA
Thanks to Peter Cawley. #1062
2023-08-30 01:10:52 +02:00
Mike Pall
2f6c451ce8 ARM64: Improve register allocation for integer IR_MUL/IR_MULOV.
Thanks to Peter Cawley. #1062
2023-08-29 22:38:20 +02:00
Mike Pall
7ff8f26eb8 ARM64: Fix register allocation for IR_*LOAD.
Thanks to Peter Cawley. #1062
2023-08-29 22:35:10 +02:00
Mike Pall
356231edaf Merge branch 'master' into v2.1 2023-08-29 22:30:57 +02:00
Mike Pall
c6ee7e19d1 Update external MSDN URL in code.
Thanks to Kyle Marshall. #1060
2023-08-29 22:27:38 +02:00
Mike Pall
83954100db FFI/ARM64/OSX: Handle non-standard OSX C calling conventions.
Contributed by Peter Cawley. #205
2023-08-29 02:21:51 +02:00
Mike Pall
cf903edb30 FFI: Unify stack setup for C calls in interpreter. 2023-08-29 02:12:13 +02:00
Mike Pall
7cc53f0b85 ARM64: Prevent STP fusion for conditional code emitted by TBAR.
Thanks to Peter Cawley. #1057
2023-08-28 22:39:35 +02:00
Mike Pall
0fa2f1cbcf ARM64: Fix LDP/STP fusing for unaligned accesses.
Thanks to Peter Cawley. #1056
2023-08-28 22:33:54 +02:00
Mike Pall
c0d5240a25 Merge branch 'master' into v2.1 2023-08-28 22:24:36 +02:00
Mike Pall
0ef51b495f Handle table unsinking in the presence of IRFL_TAB_NOMM.
Reported by Sergey Kaplun. #1052
2023-08-28 22:15:42 +02:00
Mike Pall
238a2a80bb Merge branch 'master' into v2.1 2023-08-28 22:02:06 +02:00
Mike Pall
6a3111a57f Use fallback name for install files without valid .git or .relver. 2023-08-28 21:25:51 +02:00
Mike Pall
a0b52aae33 Handle non-.git checkout with .relver in .bat-file builds.
Thanks to Simon Cooke.
2023-08-28 21:59:01 +02:00
Mike Pall
631a45f73b Merge branch 'master' into v2.1 2023-08-28 21:08:00 +02:00
Mike Pall
14e2917e7a Fix external C call stack check when using LUAJIT_MODE_WRAPCFUNC.
Thanks to Peter Cawley. #1047
2023-08-28 21:04:01 +02:00
Mike Pall
309fb42b87 Fix predict_next() in parser (again).
Reported by Sergey Bronnikov. #1054
2023-08-28 21:00:37 +02:00
Mike Pall
ff192d134d Merge branch 'master' into v2.1 2023-08-22 17:06:14 +02:00
Mike Pall
d0ce82ecdc Handle the case when .git is not a directory.
Thanks to Alexander Shpilkin.
2023-08-22 17:04:22 +02:00
Mike Pall
54ef81f864 Merge branch 'master' into v2.1 2023-08-21 13:09:52 +02:00
Mike Pall
ed21acd863 Fix Windows build scripts for rolling releases.
Reported by Miku AuahDark.
2023-08-21 13:08:00 +02:00
Mike Pall
3c290f817f Merge branch 'master' into v2.1 2023-08-21 04:03:25 +02:00
Mike Pall
6351abc78f Switch MSVC and console build scripts to rolling releases. 2023-08-21 03:59:03 +02:00
Mike Pall
2090842410 Merge branch 'master' into v2.1 2023-08-21 03:18:35 +02:00
Mike Pall
50e0fa03c4 Switch build system to rolling releases. 2023-08-21 03:06:26 +02:00
Mike Pall
ef587afb2c Merge branch 'master' into v2.1 2023-08-20 21:33:37 +02:00
Mike Pall
158a284cc9 Bump copyright date. 2023-08-20 21:25:30 +02:00
Mike Pall
72efc42ef2 MIPS: Fix "bad FP FLOAD" assertion.
Reported by Sergey Kaplun. #1043
2023-08-13 03:02:25 +02:00
Mike Pall
119fd1fab0 Ensure forward progress on trace exit to BC_ITERN.
Also use a safer way to force a static dispatch for BC_RET*.
Reported by Bartel Eerdekens. Analyzed by Peter Cawley. #1000 #1045
2023-08-13 02:25:12 +02:00
Mike Pall
27af72e66f ARM64: Add support for ARM64e pointer authentication codes (PAC).
Contributed by Peter Cawley. #559
2023-08-12 22:25:40 +02:00
Mike Pall
dbed79ea5c Merge branch 'master' into v2.1 2023-08-12 22:20:33 +02:00
Mike Pall
abb27c7771 Fix maxslots when recording BC_VARG, part 3.
Thanks to Peter Cawley. #1046
2023-08-12 20:16:56 +02:00
Mike Pall
caf7cbc57c Fix predict_next() in parser.
Reported by Sergey Kaplun. #1033
2023-08-12 16:21:41 +02:00
Mike Pall
9b544c25ef MIPS32: Declare that the assembler part uses the FR=0 model.
Thanks to Peter Cawley. #1040
2023-08-12 15:02:51 +02:00
Mike Pall
93ce12ee15 ARM64: Fix assembly of HREFK (again).
Thanks to Peter Cawley. #1026
2023-08-12 14:52:48 +02:00
Mike Pall
d5bbf9cdb4 Fix frame for more types of on-trace error messages.
Thanks to Maxim Kokryashkin. #1034
2023-08-12 14:48:34 +02:00
Mike Pall
165ea18b0e Add workaround for bytecode dump of builtins.
Reported by Hang Zhou. Thanks to Sergey Kaplun. #1038
2023-08-12 14:37:35 +02:00
Mike Pall
8635cbabf3 Merge branch 'master' into v2.1 2023-07-12 22:34:46 +02:00
Mike Pall
aa2db7ebd1 Fix base register coalescing in side trace.
Thanks to Sergey Kaplun, NiLuJe and Peter Cawley. #1031 #1016
2023-07-12 21:56:17 +02:00
Mike Pall
8fbd576fb9 ARM64: Fix assembly of HREFK.
Reported by caohongqing. #1026
Fix contributed by Peter Cawley.
2023-07-09 21:15:01 +02:00
Mike Pall
bd55d3023f Merge branch 'master' into v2.1 2023-07-09 21:09:21 +02:00
Mike Pall
a01cba9d2d Fix maxslots when recording BC_VARG, part 2.
Analyzed by Sergey Kaplun. #1024
2023-07-09 21:08:12 +02:00
Mike Pall
0cc5fdfbc0 Fix maxslots when recording BC_TSETM.
Analyzed by Sergey Kaplun. #1025
2023-07-08 19:44:48 +02:00
Mike Pall
69dadad6c3 Merge branch 'master' into v2.1 2023-07-08 19:43:08 +02:00
Mike Pall
94ada59628 Fix maxslots when recording BC_VARG.
Analyzed by Sergey Kaplun. #1024
2023-07-08 19:40:12 +02:00
Mike Pall
b7a8c7c184 Fix register mask for stack check in head of side trace.
Analyzed by Sergey Kaplun. #1016
2023-07-08 19:36:24 +02:00
Mike Pall
4c35a42d9c FFI: Fix ffi.metatype() for non-raw types.
Reported by 999pingGG. #1005
2023-07-08 19:30:56 +02:00
Mike Pall
9493acc1a2 ARM64: Fix LDP code generation.
Thanks to Zhongwei Yao. #1028
2023-07-08 12:10:18 +02:00
Mike Pall
2d8300c194 Fix frame for on-trace out-of-memory error.
Reported by ruidong007.
2023-06-02 11:42:58 +02:00
Mike Pall
8e53ccc686 Merge branch 'master' into v2.1 2023-06-02 11:42:24 +02:00
Mike Pall
9f452bbef5 Fix handling of instable types in TNEW/TDUP load forwarding.
Analyzed by Sergey Kaplun. #994
2023-06-02 11:38:45 +02:00
Mike Pall
8c20c3b1a3 Fix compiler warning.
Reported by Myriachan.
2023-06-02 11:36:24 +02:00
Mike Pall
224129a8e6 Fix last commit.
Reported by PluMGMK.
2023-04-30 13:38:29 +02:00
Mike Pall
1c27912705 Print errors from __gc finalizers instead of rethrowing them.
Finalizers are not supposed to throw errors -- this is undefined behavior.
Lua 5.1 - 5.3 and (previously) LuaJIT rethrow the error. This randomly
breaks some unrelated code that just happens to do an allocation. Bad.
Lua 5.4 catches the error and emits a warning instead. But warnings are
not enabled by default, so it fails silently. Even worse.
LuaJIT (now) catches the error and emits a VM event. The default event
handler function prints "ERROR in finalizer: ...".
Set a custom handler function with: jit.attach(handler, "errfin")
2023-04-16 18:13:48 +02:00
Mike Pall
8bbd58e534 Merge branch 'master' into v2.1 2023-04-16 13:29:58 +02:00
Mike Pall
c7db8255e1 Fix TDUP load forwarding after table rehash.
Reported by Sergey Kaplun. #980
2023-04-16 13:26:18 +02:00
Mike Pall
96fc114a7a Fix canonicalization of +-0.0 keys for IR_NEWREF.
Reported by Sergey Kaplun. #981
2023-04-16 13:24:08 +02:00
Mike Pall
505e2c03de Merge branch 'master' into v2.1 2023-02-21 17:07:37 +01:00
Mike Pall
8135de2a02 Improve error reporting on stack overflow.
Thanks to Nicolas Lebedenco.
2023-02-21 17:05:12 +01:00
Mike Pall
eccdf6d6f8 Merge branch 'master' into v2.1 2023-02-21 16:54:04 +01:00
Mike Pall
126526ab93 Allow building sources with mixed LF/CRLF line-endings.
Reported by mgood7123.
2023-02-21 16:49:51 +01:00
Mike Pall
d0e88930dd Fix compiler warning.
Reported by Christopher Ng.
2023-01-04 10:44:18 +01:00
Mike Pall
a4f4f5b835 Don't fail for Clang builds, which pretend to be an ancient GCC.
Reported by pkubaj.
2023-01-04 10:30:59 +01:00
Mike Pall
a04480e311 Merge branch 'master' into v2.1 2022-12-22 00:52:04 +01:00
Mike Pall
8a5e398c52 Avoid negation of signed integers in C that may hold INT*_MIN.
Reported by minoki.
Recent C compilers 'take advantage' of the undefined behavior.
This completely changes the meaning of expressions like (k == -k).
2022-12-22 00:03:06 +01:00
Mike Pall
8625eee71f Merge branch 'master' into v2.1 2022-12-09 00:21:40 +01:00
Mike Pall
b2791179ef Correct fix for stack check when recording BC_VARG.
Reported by Yichun Zhang.
2022-12-09 00:20:05 +01:00
Mike Pall
de2e1ca9d3 Disable FMA by default. Use -Ofma or jit.opt.start("+fma") to enable.
See the discussion in #918 for the rationale.
2022-12-07 18:38:22 +01:00
Mike Pall
7d5d4a1b1a Merge branch 'master' into v2.1 2022-12-07 17:21:36 +01:00
Mike Pall
cc96ab9d51 FFI: Fix dangling reference to CType. Improve checks.
Reported by elmknot.
2022-12-07 17:19:29 +01:00
Mike Pall
564147f518 ARM64: Fix code generation for IR_SLOAD with typecheck + conversion.
Reported by memcorrupt.
2022-12-01 12:03:09 +01:00
Mike Pall
637721d00f PS4/PS5: Fix build scripts.
Thanks to Mathias Westerdahl.
2022-11-27 15:36:11 +01:00
Mike Pall
1d75cd4d7b Avoid assertion in case of stack overflow from stitched trace.
Reported by Sergey Bronnikov. Fixed by Sergey Kaplun.
2022-11-27 15:25:32 +01:00
Mike Pall
46aa45dcbd NX: Always compile with -fPIC.
Suggested by Mathias Westerdahl.
2022-11-22 09:52:56 +01:00
Mike Pall
7a0cf5fd4c Merge branch 'master' into v2.1 2022-11-09 11:06:11 +01:00
Mike Pall
ca8d3257bb Ensure correct stack top for OOM error message.
Reported by Sergey Kaplun.
2022-11-09 11:01:41 +01:00
Mike Pall
6c4826f12c ARM64: Fix IR_SLOAD assembly.
Reported by Gate88.
2022-10-04 12:04:17 +02:00
Mike Pall
dad04f1754 Fix trace join to BC_JLOOP originating from BC_ITERN.
Reported by OpenResty Inc.
2022-09-14 12:26:53 +02:00
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