aboutsummaryrefslogtreecommitdiff
path: root/src/lj_gc.c (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Avoid race condition with profiler thread during dispatch table update.Mike Pall2026-05-251-2/+2
| | | | Reported by artemking4. #1460
* Fix VM event error handling for finalizers.Mike Pall2026-03-271-2/+4
| | | | Reported by Sergey Kaplun. #1445
* Merge branch 'master' into v2.1Mike Pall2026-01-091-1/+1
|\
| * Bump copyright date.Mike Pall2026-01-091-1/+1
| |
* | Run VM events and finalizers in separate state.Mike Pall2025-11-101-8/+10
| | | | | | | | Reported by Sergey Kaplun. #1403
* | Merge branch 'master' into v2.1Mike Pall2025-01-131-1/+1
|\|
| * Bump copyright date.Mike Pall2025-01-131-1/+1
| |
* | FFI: Drop finalizer table rehash after GC cycle.Mike Pall2024-08-191-7/+0
| | | | | | | | Reported by Sergey Kaplun. #1247
* | Merge branch 'master' into v2.1Mike Pall2024-08-191-3/+2
|\|
| * Correctly close VM state after early OOM during open.Mike Pall2024-08-191-3/+2
| | | | | | | | Reported by Assumeru. #1248
* | FFI: Turn FFI finalizer table into a proper GC root.Mike Pall2024-04-191-24/+17
| | | | | | | | Reported by Sergey Bronnikov. #1168
* | Merge branch 'master' into v2.1Mike Pall2024-03-101-0/+3
|\|
| * FFI: Treat cdata finalizer table as a GC root.Mike Pall2024-03-101-0/+3
| | | | | | | | Thanks to Sergey Bronnikov. #1168
* | Merge branch 'master' into v2.1Mike Pall2023-08-201-1/+1
|\|
| * Bump copyright date.Mike Pall2023-08-201-1/+1
| |
* | Print errors from __gc finalizers instead of rethrowing them.Mike Pall2023-04-161-2/+8
| | | | | | | | | | | | | | | | | | | | | | Finalizers are not supposed to throw errors -- this is undefined behavior. Lua 5.1 - 5.3 and (previously) LuaJIT rethrow the error. This randomly breaks some unrelated code that just happens to do an allocation. Bad. Lua 5.4 catches the error and emits a warning instead. But warnings are not enabled by default, so it fails silently. Even worse. LuaJIT (now) catches the error and emits a VM event. The default event handler function prints "ERROR in finalizer: ...". Set a custom handler function with: jit.attach(handler, "errfin")
* | Improve GC estimation for userdata with attached managed memory.Mike Pall2022-07-281-0/+3
| | | | | | | | | | This works well for string.buffers, but not for userdata or cdata with attached unmanaged memory (malloc/free, mmap/munmap).
* | Merge branch 'master' into v2.1Mike Pall2022-01-151-1/+1
|\|
| * Bump copyright date.Mike Pall2022-01-151-1/+1
| |
* | String buffers, part 4a: Add metatable serialization dictionary.Mike Pall2021-08-121-2/+4
| | | | | | | | Sponsored by fmad.io.
* | String buffers, part 2e: add serialization string dictionary.Mike Pall2021-06-071-2/+3
| | | | | | | | Sponsored by fmad.io.
* | String buffers, part 2d: basic string buffer methods.Mike Pall2021-06-011-0/+6
| | | | | | | | Sponsored by fmad.io.
* | Merge branch 'master' into v2.1Mike Pall2021-01-021-1/+1
|\|
| * Bump copyright date.Mike Pall2021-01-021-1/+1
| |
* | Redesign and harden string interning.Mike Pall2020-06-231-6/+32
| | | | | | | | | | Up to 40% faster on hash-intensive benchmarks. With some ideas from Sokolov Yura.
* | Improve assertions.Mike Pall2020-06-151-29/+43
| |
* | Merge branch 'master' into v2.1Mike Pall2020-01-201-1/+1
|\|
| * Bump copyright date.Mike Pall2020-01-201-1/+1
| |
* | Minor fixes.Mike Pall2020-01-201-0/+1
| |
* | Fix interaction between profiler hooks and finalizers.Mike Pall2019-12-081-0/+2
| | | | | | | | Thanks to Julien Desgats.
* | Merge branch 'master' into v2.1Mike Pall2017-03-081-5/+12
|\|
| * Remove internal __mode = "K" and replace with safe check.Mike Pall2017-03-081-5/+12
| |
* | Merge branch 'master' into v2.1Mike Pall2017-01-171-1/+1
|\|
| * Bump copyright date to 2017.Mike Pall2017-01-171-1/+1
| |
* | Merge branch 'master' into v2.1Mike Pall2016-10-131-1/+1
|\|
| * Fix GC step size calculation.Mike Pall2016-10-131-1/+1
| | | | | | | | Thanks to Igor Ehrlich.
* | Embed 64 bit constants directly in the IR, using two slots.Mike Pall2016-05-231-0/+2
| | | | | | | | Contributed by Peter Cawley.
* | Merge branch 'master' into v2.1Mike Pall2016-03-031-1/+1
|\|
| * Bump copyright date to 2016.Mike Pall2016-03-031-1/+1
| |
* | Re-enable trace stitching.Mike Pall2015-08-291-1/+1
| | | | | | | | Thanks to Vyacheslav Egorov.
* | Merge branch 'master' into v2.1Mike Pall2015-01-061-1/+1
|\|
| * Bump copyright date to 2015.Mike Pall2015-01-051-1/+1
| |
* | Add LJ_FR2 mode: Two-slot frame info.Mike Pall2015-01-031-8/+9
| |
* | Cleanup of memory vs. GC sizes. No functional changes.Mike Pall2014-12-201-12/+12
| |
* | Merge branch 'master' into v2.1Mike Pall2014-04-221-2/+2
|\|
| * Prevent GC estimate miscalculation due to buffer growth.Mike Pall2014-04-221-2/+2
| |
* | Merge branch 'master' into v2.1Mike Pall2014-01-161-1/+1
|\|
| * Bump copyright date to 2014.Mike Pall2014-01-161-1/+1
| |
* | Merge branch 'master' into v2.1Mike Pall2013-11-221-1/+2
|\|
| * Follow-up fix for GC step threshold fix.Mike Pall2013-11-221-1/+2
| |