1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-05-15 10:10:21 +02:00
Commit graph

14 commits

Author SHA1 Message Date
Andy Wingo
a4e1f55f37 Implement generational collection
Not really battle-tested but it seems to work.  Need to implement
heuristics for when to do generational vs full-heap GC.
2022-08-02 15:37:02 +02:00
Andy Wingo
13b3bb5b24 Update barrier functions to also have the object being written
Also remove read barriers, as they were unused, and we have no plans to
use them.
2022-08-02 15:37:02 +02:00
Andy Wingo
52166fe286 Add gc_edge data structure
Less casting in user programs, and it's a step on the way to evacuation
in whippet.
2022-07-20 14:40:47 +02:00
Andy Wingo
3f54fb3dbf Fix semispace page stealing
Ensure number of stolen pages is even.  Avoid madvising on every
collection.  Cache the page size.
2022-04-17 21:51:20 +02:00
Andy Wingo
3315fc7477 Add large object space to semi-space collector 2022-04-14 22:20:27 +02:00
Andy Wingo
619a49ba41 Add large object space
Not wired up yet.
2022-04-13 21:43:18 +02:00
Andy Wingo
6300203738 Add call_without_gc API
This lets us call pthread_join safely
2022-03-29 21:58:52 +02:00
Andy Wingo
81037fd6d2 Convert semi-space collector to new API 2022-03-28 22:18:25 +02:00
Andy Wingo
883a761775 Stub out support for multiple mutator threads on semi, mark-sweep
For semi probably we never implement support for multiple mutator
threads.  We will do local freelists for mark-sweep though.
2022-03-20 21:03:26 +01:00
Andy Wingo
32ddaa7624 Allocate GC context in GC-managed heap 2022-03-16 21:31:51 +01:00
Andy Wingo
e7a3f83bcc Add quads benchmark
Also expand GC interface with "allocate_pointerless".  Limit lazy
sweeping to the allocation size that is causing the sweep, without
adding to fragmentation.
2022-03-16 14:16:22 +01:00
Andy Wingo
f57a1b8a55 Refactor to separate gcbench from gc 2022-03-11 11:48:26 +01:00
Andy Wingo
283721b39a Refactor handling of precise and conservative roots 2022-03-04 15:27:22 +01:00
Andy Wingo
30b5c8a6c8 Use handle API, add semispace collector 2022-02-28 21:35:28 +01:00