-
Notifications
You must be signed in to change notification settings - Fork 5.3k
Open
Labels
Milestone
Description
#77399 setup basic support for unloadable ALCs in Mono. This issue tracks remaining work to complete unloadable ALCs on Mono runtime. Initial list of work items is extracted from https://github.com/dotnet/runtime/blob/main/docs/design/mono/unloadability.md#remaining-work:
Must
- Enable Unloading is currently disabled due to CI failures
- Managed frames. Frames belonging to code in the ALC should keep the ALC alive. This can be implemented by having all methods allocate a volatile local variable and store a reference to their LoaderAllocator object into it.
- Reflection pointers. Icalls which take a assembly/type etc. handle as parameter need to keep the ALC alive, otherwise there will be subtle races.
- TLS variables.
- Testing and leak detection.
- Enable/disable compiler flag.
Should
- Profiling, perf counters.
- Diagnostics support. What keeps an ALC alive.
Could
- Boehm GC support.
steveisok, srxqds, DrProfesor and zoujyjs