X-Git-Url: http://wien.tomnetworks.com/gitweb/?p=mono.git;a=blobdiff_plain;f=mono%2Fsgen%2Fsgen-client.h;h=4137cacc3c2a94a6e26e25f77b9de57df373cef2;hp=99d77857935604a695e84b73bb93418b18f51b97;hb=a984f20e232d863a9d3b7848023f78816aa282e7;hpb=3e9d7d6e9cf8dc33eb29c497c350a1cd7df3a057 diff --git a/mono/sgen/sgen-client.h b/mono/sgen/sgen-client.h index 99d77857935..4137cacc3c2 100644 --- a/mono/sgen/sgen-client.h +++ b/mono/sgen/sgen-client.h @@ -69,13 +69,15 @@ void sgen_client_finalize_notify (void); * Returns TRUE if no ephemerons have been marked. Will be called again if it returned * FALSE. If ephemerons are not supported, just return TRUE. */ -gboolean sgen_client_mark_ephemerons (ScanCopyContext ctx); +gboolean sgen_client_mark_ephemerons (ScanCopyContext ctx) + MONO_PERMIT (need (sgen_gc_locked)); /* * Clear ephemeron pairs with unreachable keys. * We pass the copy func so we can figure out if an array was promoted or not. */ -void sgen_client_clear_unreachable_ephemerons (ScanCopyContext ctx); +void sgen_client_clear_unreachable_ephemerons (ScanCopyContext ctx) + MONO_PERMIT (need (sgen_gc_locked)); /* * May return NULL. Must be an aligned pointer. @@ -174,8 +176,10 @@ void sgen_client_scan_thread_data (void *start_nursery, void *end_nursery, gbool * Stop and restart the world, i.e., all threads that interact with the managed heap. For * single-threaded programs this is a nop. */ -void sgen_client_stop_world (int generation); -void sgen_client_restart_world (int generation, gint64 *stw_time); +void sgen_client_stop_world (int generation) + MONO_PERMIT (need (sgen_gc_locked)); +void sgen_client_restart_world (int generation, gint64 *stw_time) + MONO_PERMIT (need (sgen_gc_locked)); /* * Must return FALSE. The bridge is not supported outside of Mono.