Andy Wingo
d2bde8319f
Add conservative stack capture
...
This isn't really wired up yet anywhere, but add a precursor to
conservative stack scanning.
2022-10-03 16:09:21 +02:00
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
112f27b77b
Simplify GC attributes for the inline allocator
...
Don't require pulling in all of gc-api.h.
2022-08-16 16:00:06 +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
a75842be90
Mostly implementation-independent inline allocation
...
This is a step towards separate compilation of the GC without losing
performance. Only remaining task is the write barrier.
2022-08-15 11:17:15 +02:00
Andy Wingo
4d8a7169d0
Add inline to gc-api.h
2022-08-14 09:18:21 +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
c824f17bd9
Rename gc-types.h to gc-api.h
2022-08-08 11:08:36 +02:00