mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-05-18 01:32:24 +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
|
@ -77,14 +77,14 @@ static inline size_t double_array_size(DoubleArray *array) {
|
|||
}
|
||||
static inline void
|
||||
visit_node_fields(Node *node,
|
||||
void (*visit)(void **loc, void *visit_data),
|
||||
void (*visit)(struct gc_edge edge, void *visit_data),
|
||||
void *visit_data) {
|
||||
visit((void**)&node->left, visit_data);
|
||||
visit((void**)&node->right, visit_data);
|
||||
visit(object_field(&node->left), visit_data);
|
||||
visit(object_field(&node->right), visit_data);
|
||||
}
|
||||
static inline void
|
||||
visit_double_array_fields(DoubleArray *obj,
|
||||
void (*visit)(void **loc, void *visit_data),
|
||||
void (*visit)(struct gc_edge edge, void *visit_data),
|
||||
void *visit_data) {
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue