Where can I find public-facing (_not a comment in a source file, or implementation source code_) documentation about the GC implementation in Kotlin/native? When disabling the GC, what happens to orphaned references?
Just go search "GC" on the repo and you will find lots of code directly related to GC.
It would be better to reframe the question to a specific file/spec on GC that is confusing or missing docs.
So what you're saying is there's no user-facing documentation for the GC? If someone wants to know what kind of runtime semantics the Kotlin/native garbage collector has, they should just read the implementation, because there's no spec, and no external communication or commitment of any kind to users. Right?
I think what is being asked is is there a design document for the memory management system in kotlin native?
One of the topics one might expect to be covered there is for example how the memory management runtime should handle the allocations and object lifecycles in native (C/C++) libraries. Another is the finalization of nonmemory resources (should eg the dangling file descriptors be closed by the runtime and if so when should that happen)
Actually some of the answers are implicitly presented here
https://github.com/JetBrains/kotlin-native/blob/master/INTEROP.md
The initial request is too generic to be covered by anything except for the code itself.
When disabling the GC, what happens to orphaned references?
Please don't do this. This is internal API, and in fact it is not maintained.
Feel free to ask more specific questions. Please consider using alternative platforms for the questions, since we are migrating everything from GitHub issues.
Most helpful comment
I think what is being asked is is there a design document for the memory management system in kotlin native?
One of the topics one might expect to be covered there is for example how the memory management runtime should handle the allocations and object lifecycles in native (C/C++) libraries. Another is the finalization of nonmemory resources (should eg the dangling file descriptors be closed by the runtime and if so when should that happen)