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
|
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
|
bb0f241015
|
Compile table traversals: next(), pairs(), BC_ISNEXT/BC_ITERN.
Sponsored by OpenResty Inc.
|
2021-09-19 17:49:25 +02:00 |
|
Mike Pall
|
9211f0b03b
|
Refactor IR_VLOAD to take an offset.
|
2021-09-19 17:18: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
|
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
|
75ee3a6159
|
Prevent compile of __concat with tailcall to fast function.
E.g. __concat = function() return setmetatable(...) end
Reported by Fezile Manana.
|
2021-04-21 15:23:15 +02:00 |
|
Mike Pall
|
a32aeadc68
|
Handle on-trace OOM errors from helper functions.
|
2021-03-23 00:39:50 +01:00 |
|
Mike Pall
|
ddd0fd8f37
|
Use weak guards for on-trace allocations.
|
2021-03-23 00:33:34 +01:00 |
|
Mike Pall
|
1e66d0f9e6
|
Merge branch 'master' into v2.1
|
2021-01-02 21:56:07 +01:00 |
|
Mike Pall
|
f47c864b01
|
Bump copyright date.
|
2021-01-02 21:49:41 +01:00 |
|
Mike Pall
|
675e08cf06
|
Merge branch 'master' into v2.1
|
2020-10-12 15:51:31 +02:00 |
|
Mike Pall
|
5c46f47736
|
Fix snapshot PC when linking to BC_JLOOP that was a BC_RET*.
Reported by Arseny Vakhrushev.
Fix contributed by Peter Cawley.
|
2020-10-12 15:45:05 +02:00 |
|
Mike Pall
|
ff1e72acea
|
LJ_GC64: Always snapshot functions for non-base frames.
Reported by Arseny Vakhrushev.
Analysis and fix contributed by Peter Cawley.
|
2020-08-27 18:05:32 +02:00 |
|
Mike Pall
|
a44f53acf5
|
Use a securely seeded global PRNG for the VM.
It's not 2005 anymore.
|
2020-06-15 12:21:05 +02:00 |
|
Mike Pall
|
d333b1a6fe
|
ARM: Implement FLOAD from GG_State.
|
2020-06-13 01:12:14 +02:00 |
|
Mike Pall
|
8ae5170cdc
|
Improve assertions.
|
2020-06-15 02:52:00 +02:00 |
|
Mike Pall
|
1a4ff13117
|
Optimize table length computation with hinting.
10x faster on loop with t[#t+1] = x idiom. Also used by table.insert.
|
2020-05-27 19:20:44 +02:00 |
|
Mike Pall
|
87b111f0fe
|
Merge branch 'master' into v2.1
|
2020-01-20 23:34:21 +01:00 |
|
Mike Pall
|
38a5ed4b43
|
Bump copyright date.
|
2020-01-20 23:26:51 +01:00 |
|
Mike Pall
|
1d9a337de6
|
Merge branch 'master' into v2.1
|
2019-12-08 19:50:36 +01:00 |
|
Mike Pall
|
e0388e6c00
|
Fix stack check when recording BC_VARG.
Contributed by Yichun Zhang.
|
2019-12-08 19:32:27 +01:00 |
|
Mike Pall
|
0a9ff94c4a
|
Actually implement maxirconst trace limit.
Suggested by spacewander.
|
2018-10-14 15:21:37 +02:00 |
|
Mike Pall
|
6259c0b909
|
Merge branch 'master' into v2.1
|
2017-05-17 17:38:53 +02:00 |
|
Mike Pall
|
630ff3196a
|
Add missing LJ_MAX_JSLOTS check.
Thanks to Yichun Zhang.
|
2017-05-17 17:37:35 +02:00 |
|
Mike Pall
|
31afda3181
|
Merge branch 'master' into v2.1
|
2017-05-09 21:01:23 +02:00 |
|
Mike Pall
|
1c89933f12
|
Fix LJ_MAX_JSLOTS assertion in rec_check_slots().
Thanks to Yichun Zhang.
|
2017-05-09 20:59:37 +02:00 |
|
Mike Pall
|
71ff7ef8a7
|
Merge branch 'master' into v2.1
|
2017-01-17 12:41:05 +01:00 |
|
Mike Pall
|
b93a1dd0c8
|
Bump copyright date to 2017.
|
2017-01-17 12:35:03 +01:00 |
|
Mike Pall
|
716f2daef8
|
LJ_GC64: Various followup fixes.
Contributed by Peter Cawley.
|
2016-10-20 20:55:12 +02:00 |
|
Mike Pall
|
6a25014c1c
|
LJ_FR2: Fix slot 1 handling.
Contributed by Peter Cawley.
|
2016-10-16 21:04:38 +02:00 |
|
Mike Pall
|
54b78e7c66
|
LJ_GC64: Various fixes.
Contributed by Peter Cawley.
|
2016-10-12 17:36:45 +02:00 |
|
Mike Pall
|
1c0454c6ce
|
Merge branch 'master' into v2.1
|
2016-06-03 04:28:17 +02:00 |
|
Mike Pall
|
a5f8a4819f
|
Don't try to record outermost pcall() return to lower frame.
|
2016-06-03 04:26:08 +02:00 |
|
Mike Pall
|
2868715d80
|
x64/LJ_GC64: Add missing backend support and enable JIT compilation.
Contributed by Peter Cawley.
|
2016-05-23 06:01:54 +02:00 |
|
Mike Pall
|
6c8258d74b
|
LJ_FR2: Add support for trace recording and snapshots.
Contributed by Peter Cawley.
|
2016-05-23 01:49:00 +02:00 |
|
Mike Pall
|
7fb75ccc4c
|
Embed 64 bit constants directly in the IR, using two slots.
Contributed by Peter Cawley.
|
2016-05-23 00:25:29 +02:00 |
|
Mike Pall
|
a4067978b6
|
Always walk IR constants in ascending order.
Prerequisite for embedding 64 bit constants directly in the IR.
Contributed by Peter Cawley.
|
2016-05-22 23:45:40 +02:00 |
|
Mike Pall
|
1931b38da5
|
LJ_GC64: Introduce IRT_PGC.
Contributed by Peter Cawley.
|
2016-05-20 22:41:42 +02:00 |
|
Mike Pall
|
475a6ae33f
|
Merge branch 'master' into v2.1
|
2016-05-20 20:26:39 +02:00 |
|
Mike Pall
|
37e1e70313
|
Add guard for obscure aliasing between open upvalues and SSA slots.
Thanks to Peter Cawley.
|
2016-05-20 20:24:06 +02:00 |
|
Mike Pall
|
ac42037db0
|
Constrain value range of lj_ir_kptr() to unsigned 32 bit pointers.
Thanks to Peter Cawley.
|
2016-04-24 17:32:12 +02:00 |
|
Mike Pall
|
344fe5f01d
|
Merge branch 'master' into v2.1
|
2016-04-21 17:01:36 +02:00 |
|
Mike Pall
|
2f0001fad0
|
Fix handling of non-numeric strings in arithmetic coercions.
Thanks to Vyacheslav Egorov.
|
2016-04-21 17:00:58 +02:00 |
|
Mike Pall
|
d150fbf441
|
Merge branch 'master' into v2.1
|
2016-04-03 19:13:37 +02:00 |
|
Mike Pall
|
1c6fd13dbd
|
Fix recording of select(n, ...) with off-trace varargs
Thanks to Peter Cawley.
|
2016-04-03 19:12:28 +02:00 |
|
Mike Pall
|
f4231949b5
|
Merge branch 'master' into v2.1
|
2016-03-03 12:11:37 +01:00 |
|
Mike Pall
|
db1b399af1
|
Bump copyright date to 2016.
|
2016-03-03 12:02:22 +01:00 |
|
Mike Pall
|
04d2806823
|
Rollback due to HREFK + load fwd must restore guardemit state.
Thanks to Vyacheslav Egorov.
|
2016-01-18 11:58:13 +01:00 |
|
Mike Pall
|
fe565222a1
|
Disable table allocation bump optimization (for now).
|
2015-06-13 00:42:38 +02:00 |
|