On Wed, Dec 21, 2016 at 07:41:32PM +0100, Michał Pleban wrote: >What happens, however, is that the variable can change its length so it >may leave some space after it (if it shrinks) or be moved away to a >different location in memory (if it grows) again leaving a chunk of >free space. This is a natural process and again has nothing to do with >garbage collection. The process then needs to be run which compacts the >variables so that these small unused chunks are joined together to form >one large chunk. It involves moving the variables to new memory >locations but it does not free any "unused" space - the space is free >already, it is just moved around in memory. I would say that the correct term for this is defragmentation, or removing fragmentation. https://en.wikipedia.org/wiki/Fragmentation_(computing) Whether we should call it internal or external fragmentation is unclear to me, because the allocator is so tightly coupled with the application (the rest of the BASIC interpreter). But, I remember it being called "garbage collection" back in the day. I learned about (true) garbage collection in other languages much later. Marko Message was sent through the cbm-hackers mailing listReceived on 2016-12-21 21:00:07
Archive generated by hypermail 2.2.0.