-void mono_sgen_workers_init (int num_workers) MONO_INTERNAL;
-void mono_sgen_workers_start_all_workers (void) MONO_INTERNAL;
-void mono_sgen_workers_init_distribute_gray_queue (void) MONO_INTERNAL;
-void mono_sgen_workers_enqueue_job (JobFunc func, void *data) MONO_INTERNAL;
-void mono_sgen_workers_start_marking (void) MONO_INTERNAL;
-void mono_sgen_workers_distribute_gray_queue_sections (void) MONO_INTERNAL;
-void mono_sgen_workers_reset_data (void) MONO_INTERNAL;
-void mono_sgen_workers_join (void) MONO_INTERNAL;
-gboolean mono_sgen_workers_is_distributed_queue (SgenGrayQueue *queue) MONO_INTERNAL;
-SgenGrayQueue* mono_sgen_workers_get_distribute_gray_queue (void) MONO_INTERNAL;
+void sgen_workers_init (int num_workers) MONO_INTERNAL;
+void sgen_workers_start_all_workers (void) MONO_INTERNAL;
+gboolean sgen_workers_have_started (void) MONO_INTERNAL;
+void sgen_workers_wake_up_all (void) MONO_INTERNAL;
+void sgen_workers_init_distribute_gray_queue (void) MONO_INTERNAL;
+void sgen_workers_enqueue_job (JobFunc func, void *data) MONO_INTERNAL;
+void sgen_workers_wait_for_jobs (void) MONO_INTERNAL;
+void sgen_workers_start_marking (void) MONO_INTERNAL;
+void sgen_workers_distribute_gray_queue_sections (void) MONO_INTERNAL;
+void sgen_workers_reset_data (void) MONO_INTERNAL;
+void sgen_workers_join (void) MONO_INTERNAL;
+gboolean sgen_workers_all_done (void) MONO_INTERNAL;
+SgenSectionGrayQueue* sgen_workers_get_distribute_section_gray_queue (void) MONO_INTERNAL;