mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-06-02 02:10:19 +02:00
Merge remote-tracking branch 'whippet/main' into wip-whippet
This commit is contained in:
commit
173adcfe09
5 changed files with 31 additions and 2 deletions
|
@ -53,12 +53,14 @@ GC_API_ void gc_heap_set_extern_space(struct gc_heap *heap,
|
|||
GC_API_ struct gc_mutator* gc_init_for_thread(struct gc_stack_addr base,
|
||||
struct gc_heap *heap);
|
||||
GC_API_ void gc_finish_for_thread(struct gc_mutator *mut);
|
||||
GC_API_ void gc_deactivate(struct gc_mutator *mut);
|
||||
GC_API_ void gc_reactivate(struct gc_mutator *mut);
|
||||
GC_API_ void* gc_deactivate_for_call(struct gc_mutator *mut,
|
||||
void* (*f)(struct gc_mutator*, void*),
|
||||
void *data) GC_NEVER_INLINE;
|
||||
void *data);
|
||||
GC_API_ void* gc_reactivate_for_call(struct gc_mutator *mut,
|
||||
void* (*f)(struct gc_mutator*, void*),
|
||||
void *data) GC_NEVER_INLINE;
|
||||
void *data);
|
||||
|
||||
GC_API_ void gc_collect(struct gc_mutator *mut,
|
||||
enum gc_collection_kind requested_kind);
|
||||
|
|
|
@ -668,6 +668,9 @@ static void* call_with_mutator (void *p) {
|
|||
return data->proc(data->mutator, data->data);
|
||||
}
|
||||
|
||||
void gc_deactivate(struct gc_mutator *mut) {};
|
||||
void gc_reactivate(struct gc_mutator *mut) {};
|
||||
|
||||
void* gc_deactivate_for_call(struct gc_mutator *mut,
|
||||
void* (*f)(struct gc_mutator *, void*),
|
||||
void *data) {
|
||||
|
|
|
@ -1297,6 +1297,16 @@ reactivate_mutator(struct gc_heap *heap, struct gc_mutator *mut) {
|
|||
heap_unlock(heap);
|
||||
}
|
||||
|
||||
void gc_deactivate(struct gc_mutator *mut) {
|
||||
GC_ASSERT(mut->active);
|
||||
deactivate_mutator(mutator_heap(mut), mut);
|
||||
}
|
||||
|
||||
void gc_reactivate(struct gc_mutator *mut) {
|
||||
GC_ASSERT(!mut->active);
|
||||
reactivate_mutator(mutator_heap(mut), mut);
|
||||
}
|
||||
|
||||
void*
|
||||
gc_deactivate_for_call(struct gc_mutator *mut,
|
||||
void* (*f)(struct gc_mutator*, void*),
|
||||
|
|
|
@ -1383,6 +1383,16 @@ static void reactivate_mutator(struct gc_heap *heap, struct gc_mutator *mut) {
|
|||
heap_unlock(heap);
|
||||
}
|
||||
|
||||
void gc_deactivate(struct gc_mutator *mut) {
|
||||
GC_ASSERT(mut->active);
|
||||
deactivate_mutator(mutator_heap(mut), mut);
|
||||
}
|
||||
|
||||
void gc_reactivate(struct gc_mutator *mut) {
|
||||
GC_ASSERT(!mut->active);
|
||||
reactivate_mutator(mutator_heap(mut), mut);
|
||||
}
|
||||
|
||||
void* gc_deactivate_for_call(struct gc_mutator *mut,
|
||||
void* (*f)(struct gc_mutator*, void*),
|
||||
void *data) {
|
||||
|
|
|
@ -763,6 +763,10 @@ struct gc_mutator* gc_init_for_thread(struct gc_stack_addr base,
|
|||
void gc_finish_for_thread(struct gc_mutator *space) {
|
||||
}
|
||||
|
||||
void gc_deactivate(struct gc_mutator *mut) {}
|
||||
|
||||
void gc_reactivate(struct gc_mutator *mut) {}
|
||||
|
||||
void* gc_deactivate_for_call(struct gc_mutator *mut,
|
||||
void* (*f)(struct gc_mutator *, void*),
|
||||
void *data) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue