return bd;
}
+void
+freeChain_sync(bdescr *bd)
+{
+ ACQUIRE_SPIN_LOCK(&gc_alloc_block_sync);
+ freeChain(bd);
+ RELEASE_SPIN_LOCK(&gc_alloc_block_sync);
+}
+
/* -----------------------------------------------------------------------------
Workspace utilities
-------------------------------------------------------------------------- */
#endif
bdescr *allocBlock_sync(void);
+void freeChain_sync(bdescr *bd);
void push_scan_block (bdescr *bd, step_workspace *ws);
bdescr *grab_todo_block (step_workspace *ws);
}
// free the old mut_list
- freeChain(gen->saved_mut_list);
+ freeChain_sync(gen->saved_mut_list);
gen->saved_mut_list = NULL;
}