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
Mike Pall
c6f5ef649b
Refactor table traversal.
...
Sponsored by OpenResty Inc.
2021-09-19 17:38:49 +02:00
Mike Pall
4e0ea654a8
ARM: Fix symbol display in trace disassembly.
2021-09-19 17:27:18 +02:00
Mike Pall
5ee78fd8e3
Refactor IR_TMPREF generation.
2021-09-19 17:25:27 +02:00
Mike Pall
9211f0b03b
Refactor IR_VLOAD to take an offset.
2021-09-19 17:18:16 +02:00
Mike Pall
f2d333c1ac
MIPS: Fix trace linking.
2021-09-19 16:09:48 +02:00
Mike Pall
8ff09d9f5a
String buffers, part 4b: Improve de-serialization checks.
...
Sponsored by fmad.io.
2021-08-12 21:28:17 +02:00
Mike Pall
15ed84bd49
String buffers, part 4a: Add metatable serialization dictionary.
...
Sponsored by fmad.io.
2021-08-12 21:27:58 +02:00
Mike Pall
983d66b8c5
Merge branch 'master' into v2.1
2021-07-27 14:50:40 +02:00
Mike Pall
3a654999c6
Consider slots used by upvalues in use-def analysis.
...
Reported by XmiliaH.
2021-07-27 14:47:41 +02:00
Mike Pall
89a6740ffd
Merge branch 'master' into v2.1
2021-07-23 21:36:17 +02:00
Mike Pall
0e66fc9637
Prevent loop in snap_usedef().
...
Reported by XmiliaH.
2021-07-23 21:33:59 +02:00
Mike Pall
dbb6c39f7c
Merge branch 'master' into v2.1
2021-07-22 16:22:53 +02:00
Mike Pall
d87da3d5fe
Fix io.close() error message.
...
Reported by François Perrad.
2021-07-22 16:21:45 +02:00
Mike Pall
bff9298090
Merge branch 'master' into v2.1
2021-07-22 02:35:00 +02:00
Mike Pall
8430f774e6
Fix io.close().
...
Reported by farmboy0.
2021-07-22 02:33:04 +02:00
Mike Pall
c2dd3b4d34
Merge branch 'master' into v2.1
2021-07-21 12:32:19 +02:00
Mike Pall
81a797373f
Fix minilua vararg stack handling.
...
Note: this is not exploitable! minilua is only used during the LuaJIT
build process. It only runs controlled and static Lua code (DynASM),
which is entirely contained within this repo. LuaJIT itself has
completely different stack handling code and is not affected either.
This change is solely for the benefit of others, who might possibly use
minilua for purposes other than running DynASM.
2021-07-21 12:14:09 +02:00
Mike Pall
bc98a3ade5
PS4: Fix compile.
...
Thanks to Eric Lavesson.
2021-07-19 18:15:18 +02:00
Mike Pall
4deb5a1588
Merge branch 'master' into v2.1
2021-07-19 17:05:48 +02:00
Mike Pall
6ca580155b
Avoid out-of-range number of results when compiling select(k, ...).
...
The interpreter will throw and abort the trace, anyway.
2021-07-19 17:03:16 +02:00
Mike Pall
29bc1f04ac
String buffers, part 3d: Compile string buffer methods and functions.
...
Sponsored by fmad.io.
2021-07-19 16:53:30 +02:00
Mike Pall
2182630903
Minor improvements of optimizations.
2021-07-19 16:50:05 +02:00
Mike Pall
09547f9f6e
Fix error message in lj_lib_checkintrange().
2021-07-19 16:47:46 +02:00
Mike Pall
a689e9dc43
String buffers, part 2f: Prevent self-put of buffer.
...
Sponsored by fmad.io.
2021-07-19 16:45:26 +02:00
Mike Pall
02bcbea8b0
String buffers, part 3c: Add IRBUFHDR_WRITE mode.
...
Sponsored by fmad.io.
2021-07-19 16:46:27 +02:00
Mike Pall
1d5ef35fed
Fix IRXLOAD_* mode bits description.
2021-07-19 16:36:00 +02:00
Mike Pall
3a0cf69730
String buffers, part 3b: Change IR_BUFHDR op2 mode bits to mode.
...
Sponsored by fmad.io.
2021-07-19 16:33:13 +02:00
Mike Pall
6df650fe3f
String buffers, part 3a: Add IR_TMPREF for passing TValues to helpers.
...
Sponsored by fmad.io.
2021-07-19 16:23:12 +02:00
Mike Pall
71db0cf043
Add IRCONV_NONE for pass-through INT to I64/U64 type change.
2021-07-19 16:11:39 +02:00
Mike Pall
76fbf0397c
Merge branch 'master' into v2.1
2021-07-19 16:07:23 +02:00
Mike Pall
44bd7437a2
Fix jit.dump() output for IR_CONV.
2021-07-19 16:05:05 +02:00
Mike Pall
e957737650
Disable unreliable assertion for external frame unwinding.
...
Broken on Fedora/ARM64. Reported by Yichun Zhang.
2021-06-25 12:53:23 +02:00
Mike Pall
95140c5001
Flush and close output file after profiling run.
...
Thanks to Sergey Ostanevich.
2021-06-25 12:48:42 +02:00
Mike Pall
16d38a4b21
Avoid conflict between 64 bit lightuserdata and ITERN key.
...
Reported by XmiliaH.
2021-06-25 12:45:51 +02:00
Mike Pall
3f9389edc6
Throw any errors before stack changes in trace stitching.
...
Thanks to doujiang24.
2021-06-14 14:56:54 +02:00
Mike Pall
c1c4c5599c
Merge branch 'master' into v2.1
2021-06-08 22:35:23 +02:00
Mike Pall
98f95f6918
DynASM/x86: Add missing escape in pattern.
2021-06-08 22:34:22 +02:00
Mike Pall
3fbf51bb99
Merge branch 'master' into v2.1
2021-06-07 12:06:02 +02:00
Mike Pall
ec5f6a5618
Fix HTML.
2021-06-07 12:05:34 +02:00
Mike Pall
ac02a120ef
String buffers, part 2e: add serialization string dictionary.
...
Sponsored by fmad.io.
2021-06-07 12:03:22 +02:00
Mike Pall
4216bdfb2a
DynASM/ARM64: Fix LSL/BFI* encoding with variable shifts.
...
Thanks to Dmitry Stogov.
2021-06-04 13:51:56 +02:00
Mike Pall
52449e2a1e
Fix MinGW static build.
...
Reported by Sundaram Ramaswamy.
2021-06-03 20:28:48 +02:00
Mike Pall
7d267973e2
Fix dependencies.
2021-06-03 10:07:00 +02:00
Mike Pall
65ff33a4af
Fix IR_BUFHDR assembly.
2021-06-03 10:05:20 +02:00
Mike Pall
1b7171c339
FFI: Support FFI numbers in string.format() and buf:putf().
2021-06-03 03:22:58 +02:00
Mike Pall
69138082a3
ARM64: More improvements to the generation of immediates.
2021-06-03 03:21:56 +02:00
Mike Pall
a119497bec
String buffers, part 2d: basic string buffer methods.
...
Sponsored by fmad.io.
2021-06-01 05:16:32 +02:00
Mike Pall
edd5cbadc5
String buffers, part 2c: abstract out string.format.
...
Sponsored by fmad.io.
2021-06-01 05:14:18 +02:00