Hacker News new | past | comments | ask | show | jobs | submit login

Wouldn't a non-copying generational collector with bump allocation be a recipe for fragmentation?



Yes. That is why they have to be copying collectors.


Isn't JSC kind of an exception to this? JSC has a generational non-copying GC. It uses bump-pointer allocation for empty blocks (block=memory with objects of same size) and then switches to allocation via free-list if the block is full.

For implementing the generational GC they simply use sticky mark-bits.


I don't consider what JSC does bump allocation—it's just a highly optimized traditional allocator. Most malloc implementations have bump allocation somewhere.

SpiderMonkey used to use an allocator much like that of JSC before it switched to copying generational GC, to significant performance improvements.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: