Commit Graph

92 Commits

Author SHA1 Message Date
Mike Pall
a7d0265480 Improve GC estimation for userdata with attached managed memory.
This works well for string.buffers, but not for userdata or
cdata with attached unmanaged memory (malloc/free, mmap/munmap).
2022-07-28 15:40:28 +02: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
15ed84bd49 String buffers, part 4a: Add metatable serialization dictionary.
Sponsored by fmad.io.
2021-08-12 21:27:58 +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
a119497bec String buffers, part 2d: basic string buffer methods.
Sponsored by fmad.io.
2021-06-01 05:16:32 +02: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
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
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
54484e257f Minor fixes. 2020-01-20 22:20:55 +01:00
Mike Pall
92fa45f9eb Fix interaction between profiler hooks and finalizers.
Thanks to Julien Desgats.
2019-12-08 19:56:56 +01:00
Mike Pall
d3e36e7920 Merge branch 'master' into v2.1 2017-03-08 23:04:46 +01:00
Mike Pall
3ab9f5a18d Remove internal __mode = "K" and replace with safe check. 2017-03-08 22:03:17 +01: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
3f43f09413 Merge branch 'master' into v2.1 2016-10-13 18:38:22 +02:00
Mike Pall
a68c411857 Fix GC step size calculation.
Thanks to Igor Ehrlich.
2016-10-13 18:37:58 +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
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
a3a6866d4c Re-enable trace stitching.
Thanks to Vyacheslav Egorov.
2015-08-29 23:24:26 +02: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
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
2715fe3aee Prevent GC estimate miscalculation due to buffer growth. 2014-04-22 11:26:52 +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
b00a0260dd Merge branch 'master' into v2.1 2013-11-22 05:14:37 +01:00
Mike Pall
9d90988347 Follow-up fix for GC step threshold fix. 2013-11-22 05:13:13 +01:00
Mike Pall
8a2b2beac2 Merge branch 'master' into v2.1 2013-11-05 19:46:41 +01:00
Mike Pall
8941b1994e Fix for last commit 2013-11-05 19:45:04 +01:00
Mike Pall
5c55b766bd Merge branch 'master' into v2.1 2013-11-05 19:41:21 +01:00
Mike Pall
7b4d5306c7 Fix GC steps threshold handling when called by JIT-compiled code.
Thanks to Cheng, Long.
2013-11-05 19:36:59 +01:00
Mike Pall
d0b48ec996 Merge branch 'master' into v2.1 2013-10-14 19:34:06 +02:00
Mike Pall
5d25645a21 FFI: Rehash finalizer table after GC cycle, if needed. 2013-10-14 19:31:24 +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
7b629b7bcf Move buffer shrinking to atomic GC phase. 2013-04-21 01:00:01 +02: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
b66ab96a62 Move a GC macro. 2012-10-02 09:57:49 +02:00
Mike Pall
9d7bd04fae Avoid potential store-forwarding stalls in GC marking. 2012-06-09 20:30:27 +02:00
Mike Pall
10ef109eef Bump copyright date to 2012. 2012-01-23 22:42:42 +01:00
Mike Pall
4994fcc32c Add support for bytecode loading/saving. 2011-06-13 01:04:11 +02:00
Mike Pall
96cc99bd6a Remove bogus assertion for GC estimate vs. threshold. 2011-06-09 01:34:10 +02:00