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