Add GC Unsafe thread state transitions to MONO_API functions - third batch (#9447)
* [runtime] MONO_API mono_thread_is_foreign needs GC Unsafe
* [runtime] MONO_API mono_signature_get_params_internal needs GC Unsafe
* [runtime] MONO_API mono_domain_foreach needs GC Unsafe
* [runtime] MONO_API mono_class_is_subclass_of needs GC Unsafe
* [runtime] MONO_API mono_domain_create_appdomain needs GC Unsafe
* [runtime] MONO_API mono_signature_get_return_type needs GC Unsafe
* [mini] MONO_API mono_jit_exec needs GC Unsafe
* [mini] MONO_API mono_jit_cleanup needs GC Unsafe
* [runtime] MONO_API mono_class_get_type needs GC Unsafe
Switch runtime to call m_class_get_byval_arg almost everywhere.
The one holdout is MONO_CLASS_IS_INTERFACE which is difficult to fix up since
it's in a public header
* [runtime] MONO_API mono_domain_from_appdomain needs GC Unsafe
* [runtime] MONO_API mono_domain_get_by_id needs GC Unsafe
* [runtime] MONO_API mono_domain_unload needs GC Unsafe
* [runtime] MONO_API mono_exception_from_name_msg needs GC Unsafe
Since it takes a callback, switch to GC Safe when calling the callback.
In the callback that's used in the runtime, switch back to GC Unsafe.
* [runtime] MONO_API mono_debug_open_image_from_memory needs GC Unsafe
* [runtime] MONO_API mono_dl_fallback_register needs GC Unsafe
19 files changed: