Do You Really Get Memory?
Recorded at:
Other Memory Models
by
Faisal Waris
The objects are fixed in memory and not moved during garbage collection. Space freed by garbage objects is simply reused. I think that this implies that compaction is not done but not 100% sure.
With fixed object locations, the object pointers can be safely passed to C/C++/OS API calls without extra heap allocation steps.
If the application is allocating/freeing the same types of objects all the time then memory slots can be reused efficiently if the slots are tagged for a specific object type.
With Smalltalk MT it is possible to build simple Windows DLLs which are traditionally built with C/C++ languages.
From what I remember this model worked well in practice for server side code (at least).
Re: Other Memory Models
by
Jevgeni Kabanov
The objects are fixed in memory and not moved during garbage collection. Space freed by garbage objects is simply reused. I think that this implies that compaction is not done but not 100% sure.
Java used to do the same, but since something like 1.2 the generational collector were used which have tio relocate objects. Generally, relocating object makes allocation significantly more efficient (Java allocation is just a pointer increment, faster than C++ in most cases). To allocate without relocation you need free-list handling.





Hello stranger!
You need to Register an InfoQ account or Login to post comments. But there's so much more behind being registered.Get the most out of the InfoQ experience.
Tell us what you think