Open drmeister opened 9 years ago
I changed the GCInfo
collectable_immobile may be a useless category - how/why would an object be collectable but not moveable?
The new category is "unmanaged" - this tells the garbage collector to allocate instances of this class in a pool whose contents are not moved or collected by the GC. To remove instances of these classes use (gctools:deallocate-unmanaged-instance obj). DO NOT reference obj after this function is called. If this function is called on any instance of a class that is not unmanaged - nothing happens, it's a nop.
I need to add finalizers so that containers that contain unmanaged instances can deallocate them when the container is finalized - this will help prevent memory leaks.