summaryrefslogtreecommitdiff
path: root/libguile/whippet/src/semi.c
diff options
context:
space:
mode:
Diffstat (limited to 'libguile/whippet/src/semi.c')
-rw-r--r--libguile/whippet/src/semi.c21
1 files changed, 18 insertions, 3 deletions
diff --git a/libguile/whippet/src/semi.c b/libguile/whippet/src/semi.c
index 9754b3fa2..a1526cec4 100644
--- a/libguile/whippet/src/semi.c
+++ b/libguile/whippet/src/semi.c
@@ -487,6 +487,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) { GC_CRASH(); }
+void gc_safepoint_signal_inhibit(struct gc_mutator *mut) { GC_CRASH(); }
+void gc_safepoint_signal_reallow(struct gc_mutator *mut) { GC_CRASH(); }
static int collect_for_large_alloc(struct gc_mutator *mut, size_t npages) {
size_t bytes = npages * mutator_semi_space(mut)->page_size;
@@ -761,8 +764,20 @@ struct gc_mutator* gc_init_for_thread(struct gc_stack_addr base,
void gc_finish_for_thread(struct gc_mutator *space) {
}
-void* gc_call_without_gc(struct gc_mutator *mut, void* (*f)(void*),
- void *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) {
+ // Can't be threads, then there won't be collection.
+ return f(mut, data);
+}
+
+void* gc_reactivate_for_call(struct gc_mutator *mut,
+ void* (*f)(struct gc_mutator *mut, void*),
+ void *data) {
// Can't be threads, then there won't be collection.
- return f(data);
+ return f(mut, data);
}