Commit Graph

2875 Commits

Author SHA1 Message Date
Mike Pall
433d7e8d8d FFI: Fix pragma push stack limit check and throw on overflow.
Reported by Sergey Kaplun. #1114
2023-11-07 22:25:42 +01:00
Mike Pall
ce2cd61739 ARM64: Fix disassembly of ldp/stp offsets.
Thanks to Peter Cawley. #1113
2023-11-06 23:14:22 +01:00
Mike Pall
07b3cd3cf9 Check for upvalue state transition in IR_UREFO.
Thanks to Peter Cawley. #1085
2023-11-05 16:34:46 +01:00
Mike Pall
0afa1676b2 Merge branch 'master' into v2.1 2023-11-05 11:37:57 +01:00
Mike Pall
d133d67c88 x64: Properly fix __call metamethod return dispatch.
Reported by Sergey Kaplun. #1110
2023-11-05 11:31:08 +01:00
Mike Pall
f2e955dae8 Windows/x86: _BitScan*64 are only available on 64 bit archs.
Reported by memcorrupt. #1109
2023-11-05 11:27:35 +01:00
Mike Pall
e826d0c101 Add 'cc' file type for saving bytecode.
Contributed by Sergey Bronnikov. #1105
2023-10-21 13:31:45 +02:00
Mike Pall
4eb47df605 FFI/Windows: Fix type declaration for int64_t and uint64_t.
Thanks to Peter Cawley. #1106
2023-10-21 13:18:51 +02:00
Mike Pall
7269b02130 Merge branch 'master' into v2.1 2023-10-21 13:13:34 +02:00
Mike Pall
db944b2b56 FFI: Fix dangling reference to CType in carith_checkarg().
Reported by Sergey Kaplun. #1108
2023-10-21 13:11:50 +02:00
Mike Pall
656ecbcf8f DynASM/ARM64: Support ldp/stp of q registers.
Thanks to Peter Cawley. #1096
2023-10-08 22:12:01 +02:00
Mike Pall
d2a5487fd7 ARM64: Use ADR and ADRP to form constants.
Thanks to Peter Cawley. #1100
2023-10-08 22:10:02 +02:00
Mike Pall
14866a6828 ARM64: Fix disassembly of U12 loads.
Thanks to Peter Cawley. #1100
2023-10-08 21:57:04 +02:00
Mike Pall
c5b075eb31 ARM64: Unify constant register handling in interpreter.
Plus minor optimizations. Simplifications for out-of-tree ARM64EC.
Thanks to Peter Cawley. #1096
2023-10-08 21:39:40 +02:00
Mike Pall
9cc8bbb7ae ARM: Fix register hint for FFI calls with FP results. 2023-10-08 21:22:50 +02:00
Mike Pall
1e93951b25 ARM64: Fix register hint for FFI calls with FP results.
Thanks to Peter Cawley. #1096
2023-10-08 21:20:10 +02:00
Mike Pall
007e4dce13 ARM64: Restore fp before sp in C stack unwinders.
Thanks to Peter Cawley. #1096
2023-10-08 21:17:43 +02:00
Mike Pall
becf5cc65d FFI: Fix ffi.abi("pauth").
Thanks to Peter Cawley. #1098
2023-09-25 16:56:17 +02:00
Mike Pall
97c75843c6 Merge branch 'master' into v2.1 2023-09-22 21:07:20 +02:00
Mike Pall
f72c19e482 Maintain chain invariant in DCE.
Thanks to Peter Cawley. #1094
2023-09-22 21:04:22 +02:00
Mike Pall
d1a2fef8a8 LJ_FR2: Fix stack checks in vararg calls.
Thanks to Peter Cawley. #1048
2023-09-21 05:19:55 +02:00
Mike Pall
234dbc481e Merge branch 'master' into v2.1 2023-09-21 04:44:37 +02:00
Mike Pall
aa6b15c1a8 Follow-up fix for stack overflow handling cleanup. 2023-09-21 04:43:40 +02:00
Mike Pall
a5d2f70c73 Handle OOM error on stack resize in coroutine.resume and lua_checkstack.
Thanks to Peter Cawley. #1066
2023-09-21 04:40:48 +02:00
Mike Pall
e86990f7f2 Restore cur_L for specific Lua/C API use case.
Thanks to Peter Cawley. #1066
2023-09-21 03:54:08 +02:00
Mike Pall
b8919781d4 Consistently use 64 bit constants for 64 bit IR instructions.
Thanks to Peter Cawley. #1084
2023-09-21 03:46:33 +02:00
Mike Pall
9159289927 ARM64: Fix IR_HREF code generation for constant FP keys.
Reported by swarn. Fix for 435d8c63 by Peter Cawley. #1090
2023-09-21 02:48:12 +02:00
Mike Pall
fca1f51bf8 ARM64: Fuse negative 32 bit constants into arithmetic ops again.
Thanks to Peter Cawley. #1065
2023-09-21 02:38:29 +02:00
Mike Pall
4b605a7da8 Merge branch 'master' into v2.1 2023-09-21 02:23:25 +02:00
Mike Pall
b138ccfa91 Handle all stack layouts in (delayed) TRACE vmevent.
Thanks to Sergey Bronnikov and Peter Cawley. #1087
2023-09-21 02:15:16 +02:00
Mike Pall
92b89d005a Add missing coercion when recording select(string, ...)
Thanks to Peter Cawley. #1083
2023-09-21 02:10:18 +02:00
Mike Pall
d2f6c55b05 Cleanup stack overflow handling.
Reported by Peter Cawley. #962
2023-09-21 01:58:43 +02:00
Mike Pall
e897c5743f Windows/ARM64: Add MSVC cross-build support for x64 to ARM64.
Thanks to invertego. #1081
2023-09-17 10:44:04 +02:00
Mike Pall
7a2b83a0c5 IR_MIN/IR_MAX is non-commutative due to underlying FPU ops.
Thanks to Peter Cawley. #1082
2023-09-17 10:31:00 +02:00
Mike Pall
42ca6e120f ARM64: Set fixed interpreter registers before rethrow.
Thanks to Peter Cawley. #593
2023-09-17 10:09:58 +02:00
Mike Pall
7a77a3cd85 Windows/ARM64: Update install docs. 2023-09-15 06:10:58 +02:00
Mike Pall
bd2d107151 Windows: Call C++ destructors without compiling with /EHa.
Thanks to Peter Cawley. #593
2023-09-15 05:47:29 +02:00
Mike Pall
7a1c139569 Windows: Pass scratch CONTEXT record to RtlUnwindEx.
Thanks to Peter Cawley. #593
2023-09-15 05:31:26 +02:00
Mike Pall
18b8fd8de7 ARM64: External unwinder already restores non-volatile registers.
Thanks to Peter Cawley. #593
2023-09-15 05:27:29 +02:00
Mike Pall
b36f9fad63 Windows/ARM64: Fix exception unwinding (again).
Thanks to Peter Cawley. #593
2023-09-15 05:23:29 +02:00
Mike Pall
8af63f9920 Windows/ARM64: Fix typo in exception unwinding.
Thanks to Peter Cawley. #593
2023-09-11 23:00:36 +02:00
Mike Pall
9e0437240f FFI: Fix 64 bit shift fold rules.
Thanks to Peter Cawley. #1079
2023-09-11 21:06:25 +02:00
Mike Pall
1c33f46314 Windows/ARM64: Support Windows calling conventions.
Dear Microsoft: your butchering of the (perfectly fine) ARM64 ABI is a disgrace.
Thanks to Peter Cawley. #593
2023-09-11 16:35:28 +02:00
Mike Pall
f63bc569fa Windows/ARM64: Fix exception unwinding.
Thanks to Peter Cawley. #593
2023-09-11 13:33:27 +02:00
Mike Pall
836ab4227a ARM64: Remove unneeded IRCALL_* defs for math intrinsics.
Workaround for MSVC issue.
Thanks to Peter Cawley. #593
2023-09-11 13:14:09 +02:00
Mike Pall
b174d5e66d Fix Cygwin build.
Thanks to Christopher Ng. #1077 #1078
2023-09-11 13:10:17 +02:00
Mike Pall
5a18d4582f Merge branch 'master' into v2.1 2023-09-10 05:26:27 +02:00
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