Andy Wingo
b874ad5da6
Allow conservative mmc configs to trace some objects precisely
...
* api/mmc-attrs.h (gc_allocator_alloc_table_begin_pattern): Unify the
strategies between conservative and precise configurations. Notably
this mens that TAGGED allocations are traced precisely in
heap-conservative configurations. Don't pin untagged pointerless
allocations; that is the mutator's responsibility.
* src/mmc.c (compute_trace_kind): Trace tagged objects precisely in all
cases.
(gc_init): Update expectations for alloc table bytes.
2025-07-02 11:06:23 +02:00
Andy Wingo
41de2dfd91
Update conservative roots embedder interface
2025-05-21 14:27:17 +02:00
Andy Wingo
0277953efc
gc_extern_space_visit doesn't take an edge
...
The whole extern space interface is a bit wonky but for now let's assume
that external objects can't move and therefore we don't need the edge.
2025-05-21 14:04:24 +02:00
Andy Wingo
08e6633f93
Add embedder API to provide heap and mutator conservative roots
2025-05-15 14:46:34 +02:00
Andy Wingo
5fdb14cc5e
Remove "ABORTED" atomic forwarding state
...
It was not distinguishable from "NOT_FORWARDED".
2025-01-13 16:44:12 +01:00
Andy Wingo
8e631ca3f3
Remove embedder requirement for per-object remset bits
...
Since we now have a field-logging write barrier, we don't need
per-object log bits.
2025-01-06 16:59:54 +01:00
Andy Wingo
cc04761271
gc_object_set_remembered returns nonzero on success
2024-10-01 14:36:55 +02:00
Andy Wingo
f6057184e1
Add finalizers
2024-07-23 22:33:29 +02:00
Andy Wingo
5084730471
Add parallel root-tracing phase
2024-07-11 15:54:11 +02:00
Andy Wingo
d50455ed1b
Add new gc_atomic_forward_object_size API
...
Also remove an unused function in whippet.c
2024-07-10 11:50:05 +02:00
Andy Wingo
db36c48efd
Update extern space API to allow for evacuation
2023-08-16 11:08:12 +02:00
Andy Wingo
fbe49598f5
Add "extern space"
...
This is mostly for static data.
2023-08-15 11:38:11 +02:00
Andy Wingo
e6de2fd633
Reorganize source tree and document
2023-08-06 12:04:33 +02:00