April 11, 2026
6:19 p.m.
This allows Mono to distinguish between CG-unsafe embedding code (which may access managed objects/data directly) and regular native code (which will not), which is necessary for cooperative suspend to work properly. See https://www.mono-project.com/docs/advanced/runtime/docs/coop-suspend/ Doing this requires that we bracket all uses of MonoObject and other unmanaged pointers. Some redesign was needed to make this possible. -- https://gitlab.winehq.org/wine/wine/-/merge_requests/10639