* [sgen] Transition to GC Unsafe in mono_gc_wait_for_bridge_processing
Mark it as an external only API. In the runtime, use
mono_gc_wait_for_bridge_processing_internal.
*/
void
mono_gc_wait_for_bridge_processing (void)
+{
+ MONO_ENTER_GC_UNSAFE;
+ mono_gc_wait_for_bridge_processing_internal ();
+ MONO_EXIT_GC_UNSAFE;
+}
+
+void
+mono_gc_wait_for_bridge_processing_internal (void)
{
if (!mono_bridge_processing_in_progress)
return;
{
}
+void
+mono_gc_wait_for_bridge_processing_internal (void)
+{
+}
+
MonoGCBridgeObjectKind
sgen_bridge_class_kind (MonoClass *klass)
{
*/
MONO_API void mono_gc_register_bridge_callbacks (MonoGCBridgeCallbacks *callbacks);
-MONO_API void mono_gc_wait_for_bridge_processing (void);
+MONO_API MONO_RT_EXTERNAL_ONLY void mono_gc_wait_for_bridge_processing (void);
MONO_END_DECLS
sgen_bridge_processing_stw_step ();
}
+void
+mono_gc_wait_for_bridge_processing_internal (void);
+
static void G_GNUC_UNUSED
sgen_client_bridge_wait_for_processing (void)
{
- mono_gc_wait_for_bridge_processing ();
+ mono_gc_wait_for_bridge_processing_internal ();
}
static void G_GNUC_UNUSED
* should wait for bridge processing but would fail to do so.
*/
if (G_UNLIKELY (mono_bridge_processing_in_progress))
- mono_gc_wait_for_bridge_processing ();
+ mono_gc_wait_for_bridge_processing_internal ();
}
void*