Commit Graph

25 Commits

Author SHA1 Message Date
dzaima
4b6dd1bf81 immediately mark&sweep unknown reference objects instead of storing 2023-03-05 14:05:08 +02:00
dzaima
c5aedaa414 switch to GCv2, various fixes/cleanup
includes:
  fixing some refcounts for FOR_BUILD build •FFI
  moving DEBUG_VM prints to stderr
  fixing heapverify reports of loose shape objects of fillarrs
  regular ol' adding-of-semicolon-after-label for old gcc
  move GC enable to after all initialization, not load_init
2023-03-05 01:23:53 +02:00
dzaima
16274e5952 bucket coalescing on GC 2023-03-04 20:09:12 +02:00
dzaima
2c107025ab add argument for non-GC_VISIT_V2 2023-02-26 18:53:06 +02:00
dzaima
78eb351e10 allow top-level GC to collect all garbage in GC_VISIT_V2 2023-02-26 18:37:07 +02:00
dzaima
a928277e8c make heapverify run on GC_VISIT_V2
also make it able to track shape object leaks
2023-02-25 00:21:15 +02:00
dzaima
6e6169530d GC v2 2023-02-24 23:28:55 +02:00
dzaima
75fe558f1c detect writes past the end of a TALLOC allocation 2022-12-27 02:29:24 +02:00
dzaima
34e37d1b1a increase gc root buffer size 2022-11-24 01:09:50 +02:00
dzaima
f87a1155f5 store references instead of GC root functions to handle mutable roots
-0.21% binary size; mm_visit & mm_visitP got inlined in the gcFn-s, even though that's very pointless
2022-11-06 02:01:14 +02:00
dzaima
43b8b5e2a0 )escaped 2022-06-19 21:05:05 +03:00
dzaima
3fb793526c )erase; try to not oom on printing errors 2022-01-19 01:02:07 +02:00
dzaima
d68e278083 move nsTime to its own file 2021-12-29 19:49:16 +02:00
dzaima
4af5f3d4a6 store Value* as gc roots 2021-11-28 21:56:01 +02:00
dzaima
4697b91b1e fix >2 repeated imports & error on cyclical importing 2021-11-26 00:25:11 +02:00
dzaima
ef230f8dc0 remove static from function that isn't 2021-10-15 12:08:48 +03:00
dzaima
b7f60ffb1c move GC tag resetting from alloc to another pass 2021-10-10 23:11:49 +03:00
dzaima
c00834cf15 move mm_free call into virtual function so dec is simpler 2021-07-30 04:40:56 +03:00
dzaima
1b31c88e4c use mm_heapUsed() instead of allocB 2021-07-11 22:45:08 +03:00
dzaima
08723a3c80 use TI macros everywhere 2021-07-06 19:22:45 +03:00
dzaima
96f3089410 proper i64 formatting, move openbsd hack up 2021-06-06 22:23:55 +03:00
dzaima
7e994dd913 modifiable defines 2021-06-06 16:50:18 +03:00
dzaima
16f379b6c7 fix gc/refc issues, set memory to invalid objects on free in debug 2021-05-30 01:55:59 +03:00
dzaima
1b89661308 inline objects 2021-05-28 01:03:29 +03:00
dzaima
b2b826be9b incremental compilation 2021-05-23 21:55:49 +03:00