Back in October I made some comments about the coming work on Cincom Smalltalk's new space generational scavenger. Today, the bulk of the work got integrated into our development branches. Here are some highlights.
- The generational scavenger is essentially rewritten. Major wins include a net code loss of about 10% for the scavenger alone, elimination of all sorts of weird edge cases, and generally more efficient operation.
- For 64 bit platforms, we now have a completely new, significantly better and far more concise class table management mechanism for the scavenger.
- These changes come with about 1850 new VM tests.
In addition, we fixed several smaller bugs that will just never come back to bother us. There are also some performance and stability improvements for the GC / IGC in particular, and the memory manager in general. I still have a list of pending cleanup items, and we still have the opportunity to delete more code and extract more efficiency out of the code.