Commit Graph

76 Commits

Author SHA1 Message Date
Mike Pall
f5affaa6c4 FFI: Turn FFI finalizer table into a proper GC root.
Reported by Sergey Bronnikov. #1168
2024-04-19 01:33:19 +02:00
Mike Pall
0d313b2431 Merge branch 'master' into v2.1 2024-02-04 16:47:14 +01:00
Mike Pall
defe61a567 Rework stack overflow handling.
Reported by pwnhacker0x18. Fixed by Peter Cawley. #1152
2024-02-04 16:34:30 +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
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
4b605a7da8 Merge branch 'master' into v2.1 2023-09-21 02:23:25 +02:00
Mike Pall
d2f6c55b05 Cleanup stack overflow handling.
Reported by Peter Cawley. #962
2023-09-21 01:58:43 +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
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
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
a32aeadc68 Handle on-trace OOM errors from helper functions. 2021-03-23 00:39:50 +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
e9af1abec5 Add support for full-range 64 bit lightuserdata. 2020-09-30 01:34:49 +02:00
Mike Pall
ff34b48ddd Redesign and harden string interning.
Up to 40% faster on hash-intensive benchmarks.
With some ideas from Sokolov Yura.
2020-06-23 03:06:45 +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
8ae5170cdc Improve assertions. 2020-06-15 02:52:00 +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
9c685f7003 Refactor with LUA_OK.
Contributed by François Perrad.
2017-04-07 12:12:03 +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
58ca165737 LJ_GC64: Allow optional use of the system memory allocator. 2016-06-03 06:52:53 +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
0a5045c34e Merge branch 'master' into v2.1 2015-01-06 00:12:45 +01:00
Mike Pall
86913b9bbf Bump copyright date to 2015. 2015-01-05 23:59:31 +01:00
Mike Pall
cb481ddc8f Add LJ_GC64 mode: 64 bit GC object references.
Actually NaN tagging with 47 bit pointers and 13+4 bit tags.
2015-01-03 15:23:58 +01:00
Mike Pall
054e6abe37 Add LJ_FR2 mode: Two-slot frame info. 2015-01-03 15:04:38 +01:00
Mike Pall
6e9145a882 Cleanup of memory vs. GC sizes. No functional changes. 2014-12-20 00:17:50 +01:00
Mike Pall
c8d1aff0ba Merge branch 'master' into v2.1 2014-04-22 11:29:05 +02:00
Mike Pall
f3374b5266 x64: Allow building with LUAJIT_USE_SYSMALLOC and LUAJIT_USE_VALGRIND.
Valgrind 3.9 killed MAP_32BIT support. Ugh. So now we have to rely on
undocumented behavior where Valgrind always allocates from the bottom
of memory. Alas, such a binary won't run properly without Valgrind.
2014-04-21 22:26:46 +02:00
Mike Pall
a9d4543601 Merge branch 'master' into v2.1 2014-01-16 23:18:34 +01:00
Mike Pall
ef59e54820 Bump copyright date to 2014. 2014-01-16 23:10:16 +01:00
Mike Pall
4dce22c40d Add low-overhead profiler. Part 1: interpreter, low-level C API. 2013-09-02 01:49:19 +02:00
Mike Pall
517500ba48 Save currently executing lua_State in g->cur_L.
This is only a good approximation due to deficiencies in the design of
the Lua/C API. It indicates _some_ valid state that is/was executing.
Also reorder L->cframe stores to achieve a synchronously consistent state.
2013-08-30 23:38:17 +02:00
Mike Pall
5120240b77 Use g->jit_base for on/off-trace detection. 2013-08-26 18:28:58 +02:00
Mike Pall
9ec869b362 String buffer refactoring, part 4.
Add lua_State pointer to SBuf for buffer resizing.
2013-02-28 13:43:37 +01:00
Mike Pall
28cfcf7744 String buffer refactoring, part 1.
Move string buffer handling to lj_buf.*.
Use common buffer resizing function.
2013-02-27 17:29:35 +01:00
Mike Pall
4a44c4ff69 Bump copyright date to 2013. 2013-02-11 12:54:48 +01:00
Mike Pall
58622937c0 Fix userdata __gc separations at state close. 2012-06-10 23:40:53 +02:00
Mike Pall
44876ec99f Limit number of userdata __gc separations at state close. 2012-04-11 15:15:50 +02:00
Mike Pall
e14b6346b4 Ensure running __gc of userdata created in __gc at state close. 2012-04-11 12:08:09 +02:00
Mike Pall
8ae38dc519 FFI: Finalize cdata before userdata when closing the state. 2012-03-05 15:05:28 +01:00
Mike Pall
10ef109eef Bump copyright date to 2012. 2012-01-23 22:42:42 +01:00