mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-05-12 08:40:20 +02:00
Add gc_edge data structure
Less casting in user programs, and it's a step on the way to evacuation in whippet.
This commit is contained in:
parent
808d365f4b
commit
52166fe286
9 changed files with 81 additions and 48 deletions
4
quads.c
4
quads.c
|
@ -15,10 +15,10 @@ static inline size_t quad_size(Quad *obj) {
|
|||
}
|
||||
static inline void
|
||||
visit_quad_fields(Quad *quad,
|
||||
void (*visit)(void **loc, void *visit_data),
|
||||
void (*visit)(struct gc_edge edge, void *visit_data),
|
||||
void *visit_data) {
|
||||
for (size_t i = 0; i < 4; i++)
|
||||
visit((void**)&quad->kids[i], visit_data);
|
||||
visit(object_field(&quad->kids[i]), visit_data);
|
||||
}
|
||||
typedef HANDLE_TO(Quad) QuadHandle;
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue