Andy Wingo
92b8f1e917
Add gc_ prefix to struct heap, struct mutator
2022-08-16 21:35:16 +02:00
Andy Wingo
b082f5f50d
Separate compilation!!!!!
2022-08-16 17:54:15 +02:00
Andy Wingo
fe9bdf6397
Separate out embedder API from mt-gcbench, quads
2022-08-16 16:09:36 +02:00
Andy Wingo
9e8940e59f
Get handles out of collectors
2022-08-16 11:53:32 +02:00
Andy Wingo
8f2f4f7c69
API-ify gc_print_stats; add semi-inline.h
2022-08-15 18:17:18 +02:00
Andy Wingo
a00c83878e
Inline post-allocation actions
2022-08-15 16:06:52 +02:00
Andy Wingo
fb71c4c363
Separate tagging from collector
...
The collector now has an abstract interface onto the embedder. The
embedder has to supply some functionality, such as tracing and
forwarding. This is a pretty big change in terms of lines but it's
supposed to have no functional or performance change.
2022-08-12 16:44:38 +02:00
Andy Wingo
cacc28b577
Always add a header onto objects
...
We're targetting systems that need to be able to inspect the kind of an
object, so this information has to be somewhere. If it's out-of-line,
we might save memory, but we would lose locality. Concretely in Guile
the tag bits are in the object itself.
2022-08-09 16:14:47 +02:00
Andy Wingo
d8bcbf2d74
More API-ification
2022-08-09 11:35:31 +02:00
Andy Wingo
4ccb489869
Set fixed heap size, parallelism via explicit options
2022-08-09 11:21:02 +02:00
Andy Wingo
2e6dde66b3
Attempt to start creating a proper API
2022-08-09 09:49:51 +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
279309b821
mt-gcbench allocates garbage between live data
...
This obviously invalidates previous benchmark results; perhaps we should
make this optional.
2022-07-20 14:40:47 +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
7461b2d5c3
Be more permissive with heap multiplier
...
Also if there's an error, print the right argument
2022-05-06 15:08:24 +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
5522d827e3
mt-gcbench: write the "j" field in the binary tree nodes.
2022-03-29 15:12:56 +02:00
Andy Wingo
06a213d1ed
Adapt GC API to have separate heap and mutator structs
...
Only BDW is adapted, so far.
2022-03-28 20:49:24 +02:00
Andy Wingo
d63288048c
Add mt-gcbench
2022-03-18 16:19:42 +01:00