X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=mono%2Fsgen%2Fsgen-client.h;h=4137cacc3c2a94a6e26e25f77b9de57df373cef2;hb=a984f20e232d863a9d3b7848023f78816aa282e7;hp=a492ad74a977db7c10f0ba579defa132157cfb67;hpb=26cad094eeaebca1671e5b902b55ed745e4e0376;p=mono.git diff --git a/mono/sgen/sgen-client.h b/mono/sgen/sgen-client.h index a492ad74a97..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. @@ -122,7 +124,7 @@ void sgen_client_pinned_los_object (GCObject *obj); /* * Called for every degraded allocation. No action is necessary. */ -void sgen_client_degraded_allocation (size_t size); +void sgen_client_degraded_allocation (void); /* * Called whenever the amount of memory allocated for the managed heap changes. No action @@ -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.