Mike Pall
|
ff204d0350
|
Fix anchoring for string buffer set() method (again).
Thanks to Peter Cawley. #1125
|
2023-12-10 19:42:22 +01:00 |
|
Mike Pall
|
8d5ea4ceb9
|
Merge branch 'master' into v2.1
|
2023-12-10 16:13:34 +01:00 |
|
Mike Pall
|
10cc759f25
|
ARM: Fix stack restore for FP slots.
Thanks to Peter Cawley. #1131
|
2023-12-10 16:10:48 +01:00 |
|
Mike Pall
|
e02cb19b57
|
Fix anchoring for string buffer set() method.
Thanks to Peter Cawley. #1125
|
2023-12-10 15:33:47 +01:00 |
|
Mike Pall
|
e4168fae5b
|
Merge branch 'master' into v2.1
|
2023-12-10 15:02:26 +01:00 |
|
Mike Pall
|
856423f5da
|
Fix runtime library flags for MSVC debug builds.
Reported by igor725. #1127
|
2023-12-10 15:00:52 +01:00 |
|
Mike Pall
|
487eaaf040
|
Merge branch 'master' into v2.1
|
2023-12-10 14:50:29 +01:00 |
|
Mike Pall
|
dcf3627d79
|
Fix .debug_abbrev section in GDB JIT API.
Thanks to Dmitry Stogov. #1129
|
2023-12-10 14:48:34 +01:00 |
|
Mike Pall
|
d1236a4caa
|
Optimize table.new() with constant args to (sinkable) IR_TNEW.
Thanks to Peter Cawley. #1128
|
2023-12-10 14:41:56 +01:00 |
|
Mike Pall
|
7ad68a1fd3
|
Merge branch 'master' into v2.1
|
2023-12-10 14:33:48 +01:00 |
|
Mike Pall
|
1761fd2ef7
|
Emit sunk IR_NEWREF only once per key on snapshot replay.
Thanks to Sergey Kaplun and Peter Cawley. #1128
|
2023-12-10 14:29:45 +01:00 |
|
Mike Pall
|
43d0a19158
|
Fix last commit.
|
2023-11-15 01:41:31 +01:00 |
|
Mike Pall
|
536cf8a271
|
Merge branch 'master' into v2.1
|
2023-11-14 22:56:09 +01:00 |
|
Mike Pall
|
644723649e
|
x86/x64: Don't fuse loads across IR_NEWREF.
Reported by Peter Cawley. #1117
|
2023-11-14 22:50:21 +01:00 |
|
Mike Pall
|
113a168b79
|
Improve last commit.
|
2023-11-12 16:11:11 +01:00 |
|
Mike Pall
|
45c88b7963
|
x86/x64: Don't fuse loads across table.clear.
Reported by Peter Cawley. #1117
|
2023-11-12 15:41:52 +01:00 |
|
Mike Pall
|
6807e60af1
|
Merge branch 'master' into v2.1
|
2023-11-12 15:25:14 +01:00 |
|
Mike Pall
|
d854d00ce9
|
x86/x64: Add more red zone checks to assembler backend.
Thanks to Peter Cawley. #1116
|
2023-11-12 15:18:44 +01:00 |
|
Mike Pall
|
7c9671a043
|
Merge branch 'master' into v2.1
|
2023-11-12 15:11:29 +01:00 |
|
Mike Pall
|
a4c1640432
|
Add stack check to pcall/xpcall.
Analyzed by Peter Cawley. #1048
|
2023-11-12 14:42:24 +01:00 |
|
Mike Pall
|
69bbbf7736
|
Merge branch 'master' into v2.1
|
2023-11-09 11:05:27 +01:00 |
|
Mike Pall
|
65c8493907
|
Invalidate SCEV entry when returning to lower frame.
Thanks to Zhongwei Yao. #1115
|
2023-11-09 11:02:36 +01:00 |
|
Mike Pall
|
b94fbfbee9
|
Merge branch 'master' into v2.1
|
2023-11-07 22:28:53 +01:00 |
|
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
|
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
|
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 |
|
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 |
|