1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-06-02 02:10:19 +02:00

Add gc_safepoint_signal_number() API

This commit is contained in:
Andy Wingo 2025-05-15 11:59:51 +02:00
parent 6a554e5dd7
commit 2f13187f62
5 changed files with 7 additions and 0 deletions

View file

@ -307,6 +307,7 @@ static inline void gc_safepoint(struct gc_mutator *mut) {
gc_safepoint_slow(mut);
}
GC_API_ int gc_safepoint_signal_number(void);
GC_API_ void gc_safepoint_signal_inhibit(struct gc_mutator *mut);
GC_API_ void gc_safepoint_signal_reallow(struct gc_mutator *mut);

View file

@ -203,6 +203,9 @@ void gc_write_barrier_slow(struct gc_mutator *mut, struct gc_ref obj,
int* gc_safepoint_flag_loc(struct gc_mutator *mut) { GC_CRASH(); }
void gc_safepoint_slow(struct gc_mutator *mut) { GC_CRASH(); }
int gc_safepoint_signal_number(void) {
return GC_get_suspend_signal();
}
void gc_safepoint_signal_inhibit(struct gc_mutator *mut) {
GC_alloc_lock();
}

View file

@ -872,6 +872,7 @@ gc_safepoint_slow(struct gc_mutator *mut) {
heap_unlock(heap);
}
int gc_safepoint_signal_number(void) { GC_CRASH(); }
void gc_safepoint_signal_inhibit(struct gc_mutator *mut) { GC_CRASH(); }
void gc_safepoint_signal_reallow(struct gc_mutator *mut) { GC_CRASH(); }

View file

@ -1084,6 +1084,7 @@ void gc_safepoint_slow(struct gc_mutator *mut) {
heap_unlock(heap);
}
int gc_safepoint_signal_number(void) { GC_CRASH(); }
void gc_safepoint_signal_inhibit(struct gc_mutator *mut) { GC_CRASH(); }
void gc_safepoint_signal_reallow(struct gc_mutator *mut) { GC_CRASH(); }

View file

@ -487,6 +487,7 @@ void gc_write_barrier_slow(struct gc_mutator *mut, struct gc_ref obj,
int* gc_safepoint_flag_loc(struct gc_mutator *mut) { GC_CRASH(); }
void gc_safepoint_slow(struct gc_mutator *mut) { GC_CRASH(); }
int gc_safepoint_signal_number(void) { GC_CRASH(); }
void gc_safepoint_signal_inhibit(struct gc_mutator *mut) { GC_CRASH(); }
void gc_safepoint_signal_reallow(struct gc_mutator *mut) { GC_CRASH(); }